306 lines
6.8 KiB
Markdown
306 lines
6.8 KiB
Markdown
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"}}
|