先日、Grafanaを使用して、様々なデータをグラフで表示するという記事が書かれました。
そこで、今回は使い慣れた Zabbix を用いて、Zabbix ならこのようにすればグラフ化できるというところをお見せしたいと思います
環境情報
説明 | 値 |
---|---|
仮想化ソフト | Vmware ESXi |
VCPU | 2 core |
MEMORY | 4G |
OS | CentOS7 |
環境に関しては、前回検証時と異なりますが、OS の構成はメモリが 4GB になっただけでそれほど大きな変更はありません
MariaDB、sysbench のインストール
こちらは前回記事の手順と同一手順であるため、割愛いたします
Zabbix Agent、Zabbix Sender のインストール・設定
検証環境構築時点(2/5)では Zabbix 3.5 が最新であったため、 3.5 の環境を構築します
また、 zabbix_agentd.conf の内容も一般的な監視対象サーバの設定であるため割愛いたします
1 2 3 |
$ sudo yum -y install http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm $ sudo yum install zabbix-agent zabbix-sender $ sudo vi /etc/zabbix/zabbix_agentd.conf |
Zabbix 側ホスト設定
今回の肝となる Zabbix トラッパーのアイテムだけ抜粋します
ポイントは
1. タイプは「Zabbixトラッパー」を選択
2. データ型は「数値(浮動小数点)」を選択
3. 値のマッピングの使用は「なし」を選択
だけです
名前、キー、ヒストリ保存期間、トレンド保存期間は環境に併せて設定してください
Zabbix 側設定の確認
1 |
$ zabbix_sender --zabbix-server 192.168.31.250 --host blog01 --key sysbench_qps --value 1.1 |
- 192.168.31.250 は Zabbix Server の IP アドレス
- blog01 は Zabbix Server に登録した sysbench 実行サーバのホスト名
- sysbench_qps は Zabbix Server に登録したアイテムキー
- 1.1 はテスト登録する値
です
上記コマンドを実行し、下記のような出力があり、 processed: 1 となっていれば、Zabbix Server 側の最新データで値が表示されれば正常に設定されています
1 2 |
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000038" sent: 1; skipped: 0; total: 1 |
sysbench 実行
ベンチマーク用データ作成
1 |
$ sysbench $(cat bench_innodb.cnf) oltp_read_write prepare |
- bench_innodb.cnf の内容は前回と同様です
ベンチマーク実行
1 2 |
$ sysbench $(cat bench_innodb.cnf ) oltp_read_write run | \ perl -nlE '/^.+qps: ([\d.]+?) .*$/ && system "zabbix_sender --zabbix-server 192.168.31.250 --host blog01 --key sysbench_qps --value $1";' |
このように zabbix_sender を使用することで、ベンチマーク実行中に毎秒間隔で Zabbix Server に QPS の値を登録することができます
その際に、下記の様に処理時間や成功・失敗・総件数が出力されますので、正常に処理されているかの判断が可能です
1 2 |
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000035" sent: 1; skipped: 0; total: 1 |
グラフ表示
Zabbix Server でグラフ表示すると、このようなグラフが表示されます
使い慣れたMySQL(Zabbix)にデータを入れ、簡単な操作で多種多様なグラフを作成できる仕組みは
色々と役立つのではないかと思います
おまけ
上は、CPU LoadAverage と併せて表示したグラフ
下は、InnoDB の I/O 情報と併せて表示したグラフ
値さえ取得していれば、複数の項目を組み合わせたグラフも簡単に作成できますので、性能分析用途にも使用可能です
Let’s Enjoy Zabbix !