6.8 KiB
Monasca Packet Trace (PT) Serializer Format
Monasca API supports reporting of metrics in JSON encoding with the following key/value pairs:
- timestamp - event time in microseconds (floating point)
- name - metric name
- value - metric value (the "ignore-value" dimensions field determines if the value is valid or not, for many PT reports, there is no associated +value)
- dimensions - a set of key/value pairs that provide additional metadata for the metric
This document details the format of Monasca metrics as generated by the Packet Trace to Monasca serializer (serializers/pt_to_monasca.py)
PT Fields
name
The name field consists of the suffix "broadview.pt." to which is added the name of the PT report.
PT report names consist of the following:
- packet-trace-profile
- packet-trace-lag-resolution
- packet-trace-ecmp-resolution
- packet-trace-drop-reason
- packet-trace-drop-counter-report
###Example
"name": "broadview.pt.packet-trace-ecmp-resolution"
timestamp
The timestamp field is a floating point value which represents that time in microseconds of the report (as provided by the agent or as added by the collector when no such timestamp is provided by the agent).
###Example
"timestamp": 1459361118000.0
value
The value field represents that reported value for the statistic.
###Example
"value": 366
Note: the dimension field "ignore-value" is set to 1 when the value is valid for the specific report type. If 0, value must be ignored.
Common Dimensions
Dimensions contains (meta)data associated with the report.
All reports will include the following dimensions.
asic-id
The ID of the ASIC to which the report corresponds
bv-agent
The IPV4 address of the agent that generated the report
ignore-value
- If 1, the value field is not valid (and will be set to 0)
- If 0, the value field is valid (and can be any value)
When ignore-value is 0, generally the data of the report will be contained as a dimension.
Reports
packet-trace-profile
This report can be invoked to report lag-link-resolution or ecmp-resolution data, as specified by the realm dimension (see below).
value
ignored for this report
dimensions
realm
Either "lag-link-resolution" or "ecmp-link-resolution"
ignore-value
Always 1 for this report
The following dimensions are for lag-link-resolution only.
lag-id
The lag ID
lag-members
An array of lag member strings
dst-lag-member
Destination lag member, as a string
port
Associated port
Example
{"timestamp": 1416298504000.0, "name": "broadview.pt.packet-trace-profile", "value": 0, "dimensions": {"lag-id": "2", "asic-id": "1", "realm": "lag-link-resolution", "ignore-value": 1, "bv-agent": "10.14.244.199", "lag-members": ["1", "2", "3", "4"], "dst-lag-member": "4", "port": "1"}}
The following dimensions are for ecmp-link-resolution realm only.
ecmp-next-hop-ip
The IPV4 address of the ecmp next hop
ecmp-group-id
ecmp group ID, as a string
ecmp-dst-port
Destination port, as a string
ecmp-dst-member
Destination ecmp member, as a string
port
Associated port
ecmp-members
An array of ecmp members. Each member is an object that contains an "ip", "id", and "port" field.
Example
{"timestamp": 1416298504000.0, "name": "broadview.pt.packet-trace-profile", "value": 0, "dimensions": {"asic-id": "1", "realm": "ecmp-link-resolution", "ecmp-dst-member": "100005", "ignore-value": 1, "bv-agent": "10.14.244.199", "ecmp-dst-port": "41", "port": "1", "ecmp-members": [{"ip": "2.2.2.2", "id": "100004", "port": "28"}, {"ip": "6.6.6.1", "id": "100005", "port": "41"}], "ecmp-group-id": "200256", "ecmp-next-hop-ip": "6.6.6.2"}}
packet-trace-lag-resolution
This report can be invoked to report lag-link-resolution.
value
ignored for this report
dimensions
ignore-value
Always 1 for this report
The following dimensions are for lag-link-resolution only.
lag-id
The lag ID
lag-members
An array of lag member strings
dst-lag-member
Destination lag member, as a string
port
Associated port
Example
{"timestamp": 1468367668000.0, "name": "broadview.pt.packet-trace-lag-resolution", "value": 0, "dimensions": {"lag-id": "1", "asic-id": "1", "ignore-value": 1, "bv-agent": "10.14.244.199", "lag-members": ["1", "2", "3", "4"], "dst-lag-member": "4", "port": "1"}}
packet-trace-ecmp-resolution
This report can be invoked to report ecmp-resolution
value
ignored for this report
dimensions
ignore-value
Always 1 for this report
ecmp-next-hop-ip
The IPV4 address of the ecmp next hop
ecmp-group-id
ecmp group ID, as a string
ecmp-dst-port
Destination port, as a string
ecmp-dst-member
Destination ecmp member, as a string
port
Associated port
ecmp-members
An array of ecmp members. Each member is an object that contains an "ip", "id", and "port" field.
Example
{"timestamp": 1468367675000.0, "name": "broadview.pt.packet-trace-ecmp-resolution", "value": 0, "dimensions": {"asic-id": "1", "ecmp-dst-member": "100005", "ignore-value": 1, "bv-agent": "10.14.244.199", "ecmp-dst-port": "41", "port": "1", "ecmp-members": [{"ip": "2.2.2.2", "id": "100004", "port": "28"}, {"ip": "6.6.6.1", "id": "100005", "port": "41"}], "ecmp-group-id": "200256", "ecmp-next-hop-ip": "6.6.6.2"}}
packet-trace-drop-reason
This report contains the following data
value
the number of packets dropped
dimensions
ignore-value
Always 0 for this report
reason
A string providing the reason for the packet drop
trace-profile
The associated trace profile flag for the report, true or false
send-dropped-packet
The associated send dropped packet flag for the report, true or false
packet-threshold
The associated packet threshold
port-list
An array of associated ports, each member a string
Example
{"timestamp": 1468392886000000, "name": "broadview.pt.packet-trace-drop-reason", "value": 3, "dimensions": {"asic-id": "1", "port-list": ["1", "5", "6", "10-15"], "send-dropped-packet": true, "ignore-value": 0, "bv-agent": "10.14.244.199", "trace-profile": false, "reason": "l2-lookup-failure", "packet-threshold": 0}}
packet-trace-drop-counter-report
This report profiles a packet drop counter report for a specific drop realm
value
the drop count
dimensions
ignore-value
Always 0 for this report
realm
The type of the drop, as a text string
port
Associated port
Example
{"timestamp": 1468392895000000, "name": "broadview.pt.packet-trace-drop-counter-report", "value": 10, "dimensions": {"asic-id": "1", "ignore-value": 0, "realm": "vlan-xlate-miss-drop", "port": "1", "bv-agent": "10.14.244.199"}}