-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
More realistic ethpmDOMCurrentStats example #57
Comments
I've set up this class query to get all the metrics, it's not very elegant: class_queries:
ethpmdomstats:
class_name: ethpmDOMStats
query_parameter: '?rsp-subtree=children'
metrics:
- name: ethpmDOMStats_hiAlarm1
value_name: ethpmDOMStats.children.[.*].attributes.hiAlarm
type: "gauge"
help: "Returns hiAlarm"
- name: ethpmDOMStats_loAlarm1
value_name: ethpmDOMStats.children.[.*].attributes.loAlarm
type: "gauge"
help: "Returns loAlarm"
- name: ethpmDOMStats_hiWarn1
value_name: ethpmDOMStats.children.[.*].attributes.hiWarn
type: "gauge"
help: "Returns hiWarn"
- name: ethpmDOMStats_loWarn1
value_name: ethpmDOMStats.children.[.*].attributes.loWarn
type: "gauge"
help: "Returns loWarn"
- name: ethpmDOMStats_value1
value_name: ethpmDOMStats.children.[.*].attributes.value
type: "gauge"
help: "Returns value"
- name: ethpmDOMStats_hiAlarm2
value_name: ethpmDOMStats.children.[.*].attributes.hiAlarm2
type: "gauge"
help: "Returns hiAlarm2"
- name: ethpmDOMStats_loAlarm2
value_name: ethpmDOMStats.children.[.*].attributes.loAlarm2
type: "gauge"
help: "Returns loAlarm2"
- name: ethpmDOMStats_hiWarn2
value_name: ethpmDOMStats.children.[.*].attributes.hiWarn2
type: "gauge"
help: "Returns hiWarn2"
- name: ethpmDOMStats_loWarn2
value_name: ethpmDOMStats.children.[.*].attributes.loWarn2
type: "gauge"
help: "Returns loWarn2"
- name: ethpmDOMStats_value2
value_name: ethpmDOMStats.children.[.*].attributes.value2
type: "gauge"
help: "Returns value2"
- name: ethpmDOMStats_hiAlarm3
value_name: ethpmDOMStats.children.[.*].attributes.hiAlarm3
type: "gauge"
help: "Returns hiAlarm3"
- name: ethpmDOMStats_loAlarm3
value_name: ethpmDOMStats.children.[.*].attributes.loAlarm3
type: "gauge"
help: "Returns loAlarm3"
- name: ethpmDOMStats_hiWarn3
value_name: ethpmDOMStats.children.[.*].attributes.hiWarn3
type: "gauge"
help: "Returns hiWarn3"
- name: ethpmDOMStats_loWarn3
value_name: ethpmDOMStats.children.[.*].attributes.loWarn3
type: "gauge"
help: "Returns loWarn3"
- name: ethpmDOMStats_value3
value_name: ethpmDOMStats.children.[.*].attributes.value3
type: "gauge"
help: "Returns value3"
- name: ethpmDOMStats_hiAlarm4
value_name: ethpmDOMStats.children.[.*].attributes.hiAlarm4
type: "gauge"
help: "Returns hiAlarm4"
- name: ethpmDOMStats_loAlarm4
value_name: ethpmDOMStats.children.[.*].attributes.loAlarm4
type: "gauge"
help: "Returns loAlarm4"
- name: ethpmDOMStats_hiWarn4
value_name: ethpmDOMStats.children.[.*].attributes.hiWarn4
type: "gauge"
help: "Returns hiWarn4"
- name: ethpmDOMStats_loWarn4
value_name: ethpmDOMStats.children.[.*].attributes.loWarn4
type: "gauge"
help: "Returns loWarn4"
- name: ethpmDOMStats_value4
value_name: ethpmDOMStats.children.[.*].attributes.value4
type: "gauge"
help: "Returns value4"
- name: ethpmDOMStats_hiAlarm5
value_name: ethpmDOMStats.children.[.*].attributes.hiAlarm5
type: "gauge"
help: "Returns hiAlarm5"
- name: ethpmDOMStats_loAlarm5
value_name: ethpmDOMStats.children.[.*].attributes.loAlarm5
type: "gauge"
help: "Returns loAlarm5"
- name: ethpmDOMStats_hiWarn5
value_name: ethpmDOMStats.children.[.*].attributes.hiWarn5
type: "gauge"
help: "Returns hiWarn5"
- name: ethpmDOMStats_loWarn5
value_name: ethpmDOMStats.children.[.*].attributes.loWarn5
type: "gauge"
help: "Returns loWarn5"
- name: ethpmDOMStats_value5
value_name: ethpmDOMStats.children.[.*].attributes.value5
type: "gauge"
help: "Returns value5"
- name: ethpmDOMStats_hiAlarm6
value_name: ethpmDOMStats.children.[.*].attributes.hiAlarm6
type: "gauge"
help: "Returns hiAlarm6"
- name: ethpmDOMStats_loAlarm6
value_name: ethpmDOMStats.children.[.*].attributes.loAlarm6
type: "gauge"
help: "Returns loAlarm6"
- name: ethpmDOMStats_hiWarn6
value_name: ethpmDOMStats.children.[.*].attributes.hiWarn6
type: "gauge"
help: "Returns hiWarn6"
- name: ethpmDOMStats_loWarn6
value_name: ethpmDOMStats.children.[.*].attributes.loWarn6
type: "gauge"
help: "Returns loWarn6"
- name: ethpmDOMStats_value6
value_name: ethpmDOMStats.children.[.*].attributes.value6
type: "gauge"
help: "Returns value6"
- name: ethpmDOMStats_hiAlarm7
value_name: ethpmDOMStats.children.[.*].attributes.hiAlarm7
type: "gauge"
help: "Returns hiAlarm7"
- name: ethpmDOMStats_loAlarm7
value_name: ethpmDOMStats.children.[.*].attributes.loAlarm7
type: "gauge"
help: "Returns loAlarm7"
- name: ethpmDOMStats_hiWarn7
value_name: ethpmDOMStats.children.[.*].attributes.hiWarn7
type: "gauge"
help: "Returns hiWarn7"
- name: ethpmDOMStats_loWarn7
value_name: ethpmDOMStats.children.[.*].attributes.loWarn7
type: "gauge"
help: "Returns loWarn7"
- name: ethpmDOMStats_value7
value_name: ethpmDOMStats.children.[.*].attributes.value7
type: "gauge"
help: "Returns value7"
- name: ethpmDOMStats_hiAlarm8
value_name: ethpmDOMStats.children.[.*].attributes.hiAlarm8
type: "gauge"
help: "Returns hiAlarm8"
- name: ethpmDOMStats_loAlarm8
value_name: ethpmDOMStats.children.[.*].attributes.loAlarm8
type: "gauge"
help: "Returns loAlarm8"
- name: ethpmDOMStats_hiWarn8
value_name: ethpmDOMStats.children.[.*].attributes.hiWarn8
type: "gauge"
help: "Returns hiWarn8"
- name: ethpmDOMStats_loWarn8
value_name: ethpmDOMStats.children.[.*].attributes.loWarn8
type: "gauge"
help: "Returns loWarn8"
- name: ethpmDOMStats_value8
value_name: ethpmDOMStats.children.[.*].attributes.value8
type: "gauge"
help: "Returns value8"
labels:
- property_name: ethpmDOMStats.attributes.dn
regex: "^topology/pod-(?P<podid>[1-9][0-9]*)/node-(?P<nodeid>[1-9][0-9]*)/sys/phys-\\[(?P<interface>[^\\]]+)\\]/"
- property_name: ethpmDOMStats.children.[.*]
regex: "^(?P<class>.*)"
- property_name: ethpmDOMStats.children.[.*].attributes.lanes
regex: "^(?P<lanes>.*)" I'm unsure if "lanes" is a label or a metric. |
Hi @bardahlm. Sorry I missed your issue post. Im not sure if I understand the issue. aci-exporter just provide the capability to query the apic and retrieve metrics and labels from the response. But Im not an expert on the networking domain related to aci. @camrossi may be you have some insights to share? |
Getting data from ethpmDOMStats is used as an example in the readme-file. The example is not very relevant, as it gives no real value to only collect DOM is "Digital Optical Monitoring", a way to describe the optical quality of a link,
Each of these metrics must be within certain thresholds (hi/low warn/alarm, specific for the optical module) for the link to come up and be stable. Some high bandwidth optical modules use multiple frequencies or parallell fiber strands to increase bandwidth, aka lanes, and report some or all of the above metrics for each lane. See https://community.cisco.com/t5/networking-knowledge-base/digital-optical-monitoring-dom/ta-p/3120342 for info about DOM. My current configuration is like this:
I now get all the relevant metrics for DOM, but it's not a very elegant way to get info about all the lanes. |
@bardahlm so you think its a bad example, is that the issue? |
Yes, the example as it is is bad. |
Is your feature request related to a problem? Please describe.
The example used under "Parsing and metrics" is not realistic as it doesn't extract a useful metric.
Describe the solution you'd like
It would be great if the example would show how to extract all the relevant metrics.
Examples of json-result from ACI
The relevant parts of the data:
value: actual value for lane 1
value2: actual value for lane 2 and so on
hiAlarm: high threshold value for alarm for lane 1, alarm will be triggered above this value
hiAlarm2: high threshold value for alarm for lane 2, alarm will be triggered above this value
loAlarm: low threshold value for alarm for lane 1, alarm will be triggered below this value
Similiar for hiWarn and loWarn.
The most important metrics are "value" for all the lanes as this indicates the optical quality of the link.
The text was updated successfully, but these errors were encountered: