Zabbix API 同時にログインしたらapache+MySQLがループするバグ

説明するまでもない、次世代の統合監視を担うオープンソースの代表格であるZabbix。ちょっと調査をする必要があったので、色々APIを試したりしていたときに発見した現象。

同時にZabbixAPIを叩きに行ったさいに、apacheとMySQLが高負荷状態に。その状態でWEBブラウザから他のクライアントがログインを試みてもタイムアウトになる。なんだーなんだーと思って調査してみたら、ログイン時にログを残す時のログID取得処理でバグがあった。

調査の内容は以下。

例えば、APIのクライアントから同時にZabbixAPIを叩きにいくと(zabbix-host-status-test.plは自分自身の監視を有効化したり無効化したりするスクリプト)

./zabbix-host-status-test.pl -m on & ./zabbix-host-status-test.pl -m on &

すると、API側のapache+mysqlがループに入り高負荷になる。

続きを読む