Entities
The ADB architecture defines three levels of entities:
- parents
- childs
- attributes
You must create entities in the following order:
- create the parent before you add a child
- create the child before you add an attribute.
Each entity must have a type, which you cannot change once created.
| Level | Entity | Type | Value | Notes |
|---|---|---|---|---|
| 1 | parent | Y | N | a parent is an independent item |
| 2 | child | Y | optional | a child is a component of its parent entity |
| 3 | attribute | Y | Y | an attribute is a component of its parent and child entities |
Example
To measure the flow of traffic (by counting the number of incoming bytes, or InOctets) for a particular router:
- the parent is a device
- the child is an interface
- the attribute is a counter.
You could define it as:
| Level | Entity | Type | Value | Name |
|---|---|---|---|---|
| 1 | parent | device | router01 | |
| 2 | child | interface | 1,Test network | Sel1/1 |
| 3 | attribute | counter | 1 | IF-MIB.ifHCInOctets |
Level 1: parent
Parent types:
- parent (generic)
- device
- user
- report.
Level 2: child
Child types:
- child (generic)
- interface
- ipsla
- memory
- processor
- storage
- system
- temperature.
A child may optionally have a value in the format of index,[description]
E.g. a child, Fa0/1, may be assigned a value of 1,Link to server:
1is the ifIndex of the interface in ifTableLink to serveris the ifAlias.
Level 3: attribute
Attribute types:
| Type | Value | Example |
|---|---|---|
| counter | must be 1 | 1 |
| enum | positive integer,text (enumerated list) | 1,up 2,down |
| gauge | scale: integer (positive to multiply, negative to divide) | -2 |
| integer | positive or negative whole number or 0 | 100287 |
| RTT | positive integer (microseconds) | 430 |
| text | up to 2000 characters | the quick brown fox |
| timestamp | seconds since start of Unix epoch | 1406787487 |
| uptime | seconds since status change | 13095 |
Virtual attributes
AKIPS doesn't poll virtual attributes but instead meaningfully interprets the data. E.g. ifutil is the in-rate divided by the interface speed.
Virtual attribute types:
Type Description
ifutil interface utilisation
ifrate interface bps
vutil utilisation
vnutil calculate used from free
vdiff difference x = a-b temp_f convert C to F