Uploaded image for project: 'ZABBIX BUGS AND ISSUES'
  1. ZABBIX BUGS AND ISSUES
  2. ZBX-18809

Elasticsearch template: invalid formula for latency

XMLWordPrintable

    • Team INT
    • Sprint 74 (Mar 2021)
    • 1

      Here you give Elasticsearch template: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/elasticsearch_http/template_app_elasticsearch_http.yaml

      Look at formula for key `es.node.indices.flush.latency{#ES.NODE}`:

       

      last(es.node.indices.flush.total_time_in_millis[{#ES.NODE}]) / ( last(es.node.indices.flush.total[{#ES.NODE}]) + (last(es.node.indices.flush.total[{#ES.NODE}]) = 0) ) 

       

       

      More accurate formula should be:

       
      (not (change(es.node.indices.flush.total_time_in_millis[{#ES.NODE}]) < 0)) * ( change(es.node.indices.flush.total_time_in_millis{#ES.NODE}) / ( change(es.node.indices.flush.total[{#ES.NODE}]) + (last(es.node.indices.flush.total{#ES.NODE}) = 0) ) ) 

      You divide total time spent for operation from server start on total count of operation from server start. So if our server for several days made operation in 100ms, but now it become slow and is making operations in 1000ms - we will see that only after long period of time, when we make lot of slow operations.

      The accurate formula should be (if simplified): `change(total_time_in_millis) / change(total)`. We should look on latency just for new operations, not all history.

            abakaldin Alexander Bakaldin
            drewblin Andrey
            Team INT
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: