broadview-collector/doc/pt_to_monasca_serializer.md
Vitaliy Kharechko 886c187e2f More documentation format fixes
Change-Id: I882222fd4978146d95d21d85638688b93922f5c4
2016-07-14 10:56:23 +03:00

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"}}