Ad Widget

Collapse

Dynamic performance metrics, and autodiscovery

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • drivera
    Junior Member
    • Jul 2019
    • 1

    #1

    Dynamic performance metrics, and autodiscovery

    Hi, all!

    I have a conundrum that I'm not sure how to solve. I have an application which renders performance metrics periodically in a format such as:

    Code:
    Metrics Report:${timestamp}
    metricKey1 value1
    metricKey2 value2
    ...
    metricKeyN valueN
    This is output into a log file every (few) minute(s) or so (configurable). However, the number and names of the metrics being reported may vary over time (it will eventually stabilize over long uptimes, but still - my point is that it's not constant). Obviously, I'd like to be able to generate graphs for some (most) of those metrics which I can then view via Grafana (using Zabbix as a DataSource). However, I'm not entirely sure how that data should be submitted to Zabbix.

    In an "ideal" world, I'd submit to Zabbix a collection of pairs of values where one of the values is the timestamp (i.e. the X axis), and the other is the actual value to graph (the Y axis). Thus, Zabbix should (in good theory) ignore the "X" values that it already has captured data for, and only consume the "new" series values.

    However, I can't find any documentation that describes anything close to what I'm trying to do.

    Furthermore, the auto-discovery features I've found seem to be centered around discovering log files - this would all be in a given log file, and I'd auto-discover the values for metricKeyX in order to expose them as graph-able.

    So, here are my specific questions:
    • What would be the best mechanism to achieve the auto-discovery that I seek?
    • What would be the format that, once auto-discovered, Zabbix would expect a metrics' series data to be submitted in such that the timestamp can be taken into account in order to properly graph the values?
    • What would be the most efficient channel to send that data to Zabbix? Or will it strictly have to be polled by Zabbix every so often?

    Thanks!
Working...