過去データ(ヒストリ)をCSV形式で出力する方法について

こんにちは。

CPU使用率やDISK使用量 メモリ使用量などの過去データ(ヒストリ)をCSV形式にてファイル出力する方法として、mysqlに直接アクセスして結果をCSVファイルに抽出することが可能な認識なのですが、やり方やノウハウがあればご教示頂きたいのですが可能でしょうか。

お手数お掛けいたしましが、何卒よろしくお願いいたします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー KAZ の写真

takahashiyさん

tsv形式なら、[最新データ]で取得したいアイテムの[ヒストリ]を選んで画面右横のドロップダウンで「値」を選択しプレーンテキストを押すとtsv形式のテキストがブラウザ非表示されます。
それをコピー&ペーストするとExcelに貼り付けられます。

実際SQLでSELECTしてみるとわかると思いますが、
MySQLのデータは直接取得するのは難しいかと…A(^^;

ユーザー KAZ の写真

takahashiyさん

第4回Zabbix勉強会『金融系システムでZabbix1.8をガチで使ってみた』でフューチャーアーキテクト 吉田仁氏がMySQLからSQLでcsv出力したと報告されていました。

懇親会で話を伺ったのですがかなり頑張られたようです。

ユーザー KAZ の写真

takahashiyさん

DBDesigner 4でZabbixのデータベースのER図を作って調べてみました。

下記のSQLを実行すると…
<code>
mysql> select
-> h.host,
-> i.description,
-> i.key_,
-> FROM_UNIXTIME(hy.clock),
-> hy.value
-> from items i
-> join hosts h on h.hostid = i.hostid
-> join history hy on hy.itemid = i.itemid
-> where
-> h.host = 'xxxxxxx' and
-> i.description like 'load average'
-> order by hy.clock
-> limit 1,10;
</code>

下記の値が取れます。
<code>
+---------+--------------+-------------------+-------------------------+--------+
| host | description | key_ | FROM_UNIXTIME(hy.clock) | value |
+---------+--------------+-------------------+-------------------------+--------+
| xxxxxxx | load average | system.cpu.load[] | 2011-09-24 21:31:41 | 0.0000 |
| xxxxxxx | load average | system.cpu.load[] | 2011-09-24 21:32:10 | 0.0000 |
| xxxxxxx | load average | system.cpu.load[] | 2011-09-24 21:32:40 | 0.0000 |
| xxxxxxx | load average | system.cpu.load[] | 2011-09-24 21:33:10 | 0.0000 |
| xxxxxxx | load average | system.cpu.load[] | 2011-09-24 21:33:40 | 0.0000 |
| xxxxxxx | load average | system.cpu.load[] | 2011-09-24 21:34:10 | 0.0000 |
| xxxxxxx | load average | system.cpu.load[] | 2011-09-24 21:34:40 | 0.0000 |
| xxxxxxx | load average | system.cpu.load[] | 2011-09-24 21:35:10 | 0.1500 |
| xxxxxxx | load average | system.cpu.load[] | 2011-09-24 21:35:40 | 0.1000 |
| xxxxxxx | load average | system.cpu.load[] | 2011-09-24 21:36:10 | 0.0500 |
+---------+--------------+-------------------+-------------------------+--------+
10 rows in set (0.87 sec)
</code>

ユーザー takahashiy の写真

KAZ様

いつもお世話になっております。

お忙しい中、詳しくご説明して頂き誠に有難うございます。
教えて頂いた方法で1度検証させていただきます。

今後とも何卒よろしくお願いいたします。