Zabbix 2.2.1 で MySQLから直接ITEM値等を取得してみる(TSV,CSV)


Zabbix 2.2.1で各アイテムの値をデータとして取得するときは、
「監視データ」->「最新データ」->「グラフ」or「ヒストリ」から「値」を選択すると
「プレーンテキスト」ボタンでTSV形式で取得できるようですが、なぜか1000個ぐらいまでしか
取得できませんでした。(1分ごとの取得するアイテムだと16.6時間分しか取得できない)

しょうがないので、mysqlのDBにから直接情報w取得出来ないかを調べてみました。

本来は、Zabbix API使うのが正当なんだろうけど、現状うまく使いこなせません。

 

まずはmysqlの使い方を確認

mysqlクライアントで実行(表形式で出力されます)

直接SQL分を指定して実行するには、以下のように指定します。

ファイルにtsv出力するには、単純に標準出力をリダイレクトすればよいようです。

ファイルにcsv出力するには、以下のようにtabを’,’に変換して出力します。

 

 

実際に、Zabbix 2.2.1のDBから情報を取得してみます。

  • ホスト一覧取得
  • ホストごとの監視項目一覧取得
  • 指定ホストのアイテム最新値一覧取得
  • アイテム値全取得

 

ホスト一覧を取得

 

 

ホストごとの監視項目一覧を表示

 

 

指定ホストのアイテム最新値一覧

 

 

アイテム値全取得(特定項目,全項目も表示できるが、非常に時間がかかります)

 

こんな感じにすれば、情報は取得できそうですが、
Zabbix のバージョンが上がった時に対応できなくなる可能性が高いのが残念。

あと、mysqlの設定が標準だと検索に時間がかかります。
実際にはチューニング必須なようです(チューニング方法はまた今度)

 


コメントを残す

メールアドレスが公開されることはありません。