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

    • Type: Incident report
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.6.9, 1.8.3
    • Fix Version/s: 1.8.4
    • Component/s: Proxy (P)
    • Labels:
      None
    • Environment:
      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

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

              Dates

              Created:
              Updated:
              Resolved: