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

Zabbix proxy stop to send data to Zabbix server in particular situation.

    XMLWordPrintable

Details

    • Incident report
    • Resolution: Fixed
    • Major
    • 1.8.4
    • 1.6.9, 1.8.3
    • Proxy (P)
    • None
    • Zabbix Server 1.8.3 with mysql: Linux i386
      Zabbix Proxy 1.8.3 with mysql: Linux i386

    Description

      If using Zabbix with mysql innodb, Zabbix proxy stop to send data to Zabbix server in particular situation.

      In particular situation, "id" in "proxy_history" table is reset to 1, though "ids" table has incremented number.
      So, Zabbix proxy stop to send data untill "id" in "proxy_history" become bigger than the number in "ids" table.
      The reason of why it is reset to 1 is following.

      Why it occurs:
      "id" in "proxy_history" table has "auto_increment" attribute.
      Usually, the table keeps the incremented number.
      But if there is no data in the table and if you restart the mysql process, it is reset to 1.
      reference)
      "If the table is empty, InnoDB uses the value 1."
      http://dev.mysql.com/doc/refman/5.0/en/innodb-auto-increment-handling.html

      How to reproduce:
      (1.) stop zabbix server process and zabbix proxy process
      (2.) leave them ProxyOfflineBuffer hours. (default is 1 hour) Or change system time by "date" command.
      (3.) start zabbix proxy process (housekeeper delete all data in "proxy_history" table)
      (4.) stop zabbix proxy process
      (5.) restart zabbix proxy's mysql process (mysql losts the incremented number of "id" in "proxy_history" table)
      (6.) start zabbix server process and zabbix proxy process

      Then, "id" in "proxy_history" table is reset to 1 and you cannot get data from proxy.

      How to fix:
      idea1: On starting zabbix proxy, if "proxy_history" table has no data, get incremented id from "ids" table and set AUTO_INCREMENT by "ALTER TABLE"
      example:
      "ALTER TABLE proxy_history AUTO_INCREMENT = 100"
      http://mysql-tips.blogspot.com/2005/04/alter-table-autoincrement-examples.html
      idea2: Avoid to delete all data in housekeeper process.

      I think idea1 is better.

      Attachments

        Activity

          People

            Unassigned Unassigned
            tsuzuki Takanori Suzuki
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: