Uploaded image for project: 'ZABBIX FEATURE REQUESTS'
  1. ZABBIX FEATURE REQUESTS
  2. ZBXNEXT-4282

Add received values for failed items to Zabbix server log file with enabled debug only

XMLWordPrintable

    • Icon: Change Request Change Request
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 3.4.4
    • Server (S)

      If item became not supported Zabbix writes received value in the error message to the log file. Example:

        1240:20171215:111419.363 error reason for "<host>:<key>" changed: Value "<received value>" of type "string" is not suitable for value type "Numeric (unsigned)"

      Also, it displays the same error in "Info" column in the Frontend. This is cool and helps to troubleshoot issues.


      Now, let's imagine that you are using 3.4 new features like bulk data collection, pre-processing or just have a misconfiguration (wrong type of information). Displaying received value may cause fast growing of Zabbix server log file.

      Example (pre-processing):

      • you are sending a JSON, e.g.:
        {
            "Status": {
                "db1": [
                    {
                        "app_id": 7, 
                        "app_name": "SQL Server 2012", 
                        "asset_name": "test", 
                        "certified": "n/a", 
                        "client_config": true, 
                        "client_id": 35, 
                        "client_name": "db1", 
                        "client_os": "Windows 2016", 
                        "complete": true, 
                        "complete_time": "12/01/2017 11:02:16 am", 
                        "database_name": "test", 
                        "disk_metadata": true, 
                        "duration": 15, 
                        "encrypted": false, 
                        "gfs_rp_type": "", 
                        "id": 540, 
                        "instance_id": 57, 
                        "last": null, 
                        "legalhold": false, 
                        "output": null, 
                        "purgeable": null, 
                        "replicated": false, 
                        "server_instance_name": "db1", 
                        "size": 17, 
                        "start_time": "12/01/2017 11:02:01 am", 
                        "status": "Successful", 
                        "synth_capable": false, 
                        "synthesized": false, 
                        "type": "Full", 
                        "verified": false, 
                        "verify_status": "Not Applicable", 
                        "vmware_template": false, 
                        "xen_template": false
                    }
                ]
            }, 
            "timestamp": "12/01/2017 11:02:01 am"
        }
      • there are 30 dependent items with pre-processing (e.g regex or json path).
      • for example, 5 of them have issues like pattern does not match
      • Zabbix will add 5 errors to the log and will write this JSON 5 times to it.

      What if I have in 10 times bigger JSON or thousands of such items?


      How about to display value in the Frontend, but add value to the log file with enabled debug only (i.e. add error to log, but truncate value with "DebugLevel=3")?

            wiper Andris Zeila
            oleg.ivanivskyi Oleg Ivanivskyi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: