This documentation and the Cisco Observability Platform functionalities it describes are subject to change. Data saved on the platform may disappear and APIs may change without notice.


fmm:entity

Description

The fmm:entity object defines an entity's attributes, metrics (in the metricTypes attribute), events (in the eventTypes attribute), and associations (in the associationTypes attribute).

Syntax

{
  "namespace": "<object>",
  "kind": "entity",
  "name": "<entity-name>",
  "displayName": "<entity-name-for-UI>",
  "lifecycleConfiguration": {
    "purgeTtlInMinutes": "<minutes>",
    "retentionTtlInMinutes": "<minutes>"
  },
  "attributeDefinitions": {
    "optimized": [
      "<entity-name>.name",
      "<entity-name>.namespace"
    ],
    "required": [
      "<entity-name>.name",
      "<entity-name>.namespace"
    ],
    "attributes": {
      "<entity-name>.name": {
        "type": "string",
        "description": "Name of the <entity-name>"
      },
      "<entity-name>.namespace": {
        "type": "string",
        "description": "Namespace for the <entity-name>"
      }
    }
  },
   "metricTypes": [
    "<namespace-name>:<metric-name>",
    "<namespace-name>:<metric-name>",
    "<namespace-name>:<metric-name>"
  ],
  "associationTypes": {
    "common:aggregates_of": [
      "<namespace-name>:<entity-name>"
    ],
    "common:consists_of": [
      "<namespace-name>:<entity-name>",
      "<namespace-name>:<entity-name>"
    ]
  }
}

Attributes

Attribute Description
namespace Required. The name of the domain ( fmm:namespace object) that this entity belongs to.
kind Required. A valid fmm type that this object represents. Set this to entity.
name Required. A string representing the unique name of this entity type within the context of the namespace. Must be unique within a solution. Can contain only alphanumeric characters, underscores, or hyphens.
displayName Required. A string representing the display name of this entity type in the user interface.
lifecycleConfiguration Required. The lifecycleConfiguration object for this entity. This defines the data retention policies for entity instances, not entity definitions:
purgeTtlInMinutes - A number representing the time period (in minutes) allowed for an entity of this type to have no activity (MELT data observation), after which it is considered stale or inactive.
retentionTtlInMinutes- A number representing the time period (in minutes) allowed for an entity of this type to remain in the system after it became inactive, after which it is purged.
parentType (Optional) A fully qualified type reference to the parent entity type. Attributes, metric, event, and association types are inherited from the parent type and cannot be overridden. UQL queries for a parent type return entities that are either of parentType or descendants of parentType.
eventTypes A list of fully qualified type names of events can be associated with this entity. You must declare these events first in fmm:event objects.
attributeDefinitions The attributeDefinitions object for this entity. Attributes define the characteristics of the entity. Specific values of attributes are what makes an entity unique in a domain. See Entities.
optimized - An array of attributes that should be optimized for search.
required - An array of required attributes. The combination of required attributes determines entity uniqueness. A hash of these required attributes forms the entity's ID.
attributes- A list of attribute objects describing each individual attribute of this entity. The attribute object has the following syntax:
<code>"<entity-name>.<name>" : { "type": "<data-type>", "description": "<attribute-description>"}</code>
Where:
name is a string representing the unique name of the attribute within this entity.
type is a string representing the primitive type for the attribute's value. Valid values: string, boolean, double, long
description is a string representing the attribute's description.
metricTypes A list of fully qualified type names of metrics can be associated with this entity. You must declare these metrics first in fmm:metric objects.
associationTypes The associationTypes object for this entity. Associations define the relationships between entities and the reasons or rules that govern those relationships. Within the Cisco Observability Platform, associations allow entities to be associated or related across different domains, powering its cross-domain correlation capabilities:
common:consists_of - An array of fully qualified entity names that this fmm:entity object consists of. Cardinality: one to many.
common:aggregates_of - An array of fully qualified entity names that this fmm:entity object may aggregate. Cardinality: one to many.
common:relates_to - An array of fully qualified entity names that this fmm:entity object may relate to. Cardinality: many to many.
common:is_a - One fully qualified entity name that qualifies this fmm:entity object. Cardinality: one to one.
common:has - An array of fully qualified entity names that this fmm:entity object may be associated to. Cardinality: one to many.
common:uses - A list of fully qualified entity names that depend on this fmm:entity object. Cardinality: many to one.

Example

{
  "namespace": {
    "name": "stores",
    "version": 1
  },
  "kind": "entity",
  "name": "atm",
  "displayName": "ATM",
  "lifecycleConfiguration": {
    "purgeTtlInMinutes": 4200,
    "retentionTtlInMinutes": 1440
  },
  "attributeDefinitions": {
    "optimized": [
      "atm.name",
      "atm.namespace"
    ],
    "required": [
      "atm.name",
      "atm.namespace"
    ],
    "attributes": {
      "atm.name": {
        "type": "string",
        "description": "Name of the ATM"
      },
      "atm.namespace": {
        "type": "string",
        "description": "Namespace for the ATM"
      }
    }
  },
  "metricTypes": [
    "stores:fee",
  ],
  "associationTypes": {
    "common:aggregates_of": [
      "stores:store_instance"
    ],
    "common:consists_of": [
      "stores:business_transaction",
      "stores:atm_endpoint"
    ]
  }
}