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

zabbix_sender 2.0.7 (possibly greater) pretty-prints JSON when sending to trapper

XMLWordPrintable

    • Icon: Incident report Incident report
    • Resolution: Duplicate
    • Icon: Minor Minor
    • None
    • 2.0.7
    • Agent (G)
    • None

      When zabbix_sender is used with the -i flag to supply multiple key/values, I noticed it pretty-prints JSON on the TCP layer, wasting bandwidth (although making things more readable).

      tcpdump of zabbix_sender sending multiple-values using the -i flag:

      "10:41:26.642318 IP 10.10.14.30.39445 > tools01.example.com.zabbix-trapper: Flags [.], seq 5:2901, ack 1, win 115, options [nop,nop,TS val 1677996083 ecr 849199326], length 2896
      @[email protected].

      ..

      `..'C.d.+{9Y....s;......
      d.032....9......{
      "request":"sender data",
      "data":[

      { "host":"app30.example.com", "key":"test_s1r1_index_deletedDocs", "value":"0"}

      ,

      { "host":"app30.example.com", "key":"test_s1r1_index_sizeInBytes", "value":"65"}

      ,

      { "host":"app30.example.com", "key":"test_s1r1_index_numDocs", "value":"0"}

      ,

      { "host":"app30.example.com", "key":"test_s1r1_index_maxDoc", "value":"0"}

      ,

      { "host":"app30.example.com", "key":"test_s1r1_select_medReqTime", "value":"37.77"}

      ,

      { "host":"app30.example.com", "key":"test_s1r1_select_avgTPerReq", "value":"37.77"}

      ,

      { "host":"app30.example.com", "key":"test_s1r1_select_95thPcReqTime", "value":"37.77"}

      ,

      { "host":"app30.example.com", "key":"test_s1r1_select_errors", "value":"0"}

      ,

      { "host":"app30.example.com", "key":"test_s1r1_select_requests", "value":"1"}

      ,

      { "host":"app30.example.com", "key":"test_s1r1_select_timeouts", "value":"0"}

      ,

      { "host":"app30.example.com", "key":"test_s1r1_select_75thPcReqTime", "value":"37.77"}

      ,

      { "host":"app30.example.com", "key":"test_s1r1_select_avgReqPerSec", "value":"0.00"}

      ,

      { "host":"app30.example.com", "key":"test_s1r1_select_99thPcReqTime", "value":"37.77"}

      ,
      ....
      "

      I suggest that zabbix_sender DOES NOT pretty print JSON on the wire, reducing overhead. Thoughts?

      Tim Vaillancourt

            Unassigned Unassigned
            tvaillancourt Tim Vaillancourt
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: