Zabbixのマッピング機能で仮想マシンのインスタンスタイプを取得する
はじめに
こんにちは。ネットアシストのBNです。
今回はZabbixの機能の一つである「値のマッピング」を使用して、クラウドベンダー上仮想マシンのインスタンスタイプを取得してみようと思います。
Zabbixを使用して監視をされている場合、CPUやメモリなどのリソース取得や、Apacheなどミドルウェアのバージョン取得は既に実施されていると思います。
それに加えてインスタンスタイプの取得も出来ていれば、今現在の正確なスペックが一目で把握できるので便利です。
本記事では、対象をIDCFクラウド上の仮想マシンとし、値のマッピング機能を使用してインスタンスタイプの取得してみます。
- IDCFクラウドでは仮想マシンのタイプを「サーバータイプ」としていますが、本記事では「インスタンスタイプ」と記載します
- OSはCentOS7とします
- Zabbix4系を使用しています
- Zabbixエージェントはroot権限で実行しています
対象仮想マシンのスペックを確認
・CPU
[root@test01 ~]# grep physical.id /proc/cpuinfo | sort -u | wc -l
1
[root@test01 ~]# grep cpu.cores /proc/cpuinfo | sort -u
cpu cores : 1
[root@test01 ~]# grep processor /proc/cpuinfo | wc -l
1
・メモリ
[root@test01 ~]# dmidecode -t memory | grep "^\sSize:" | grep -v "No"
Size: 1024 MB
[root@test01 ~]#
1vCPUと1GBメモリなので、「Light.S1」タイプに該当します。
マッピング設定を追加
マッピング機能は、指定した「アイテム」が取得した「数値」または「文字列」を、別のものに変換することができます。
例えば、「0」という値を取得したら「青」、「1」という値を取得したら「赤」、と変換して表示することが可能です。
今回は、「1vCPU-1GB」という文字列を取得した際は、「Light.S1」と変換するマッピング設定を追加します。
まず値のマッピング画面を開きます。
Zabbixの管理画面 > 管理 > 一般設定 > 右上のプルダウンメニューで「値のマッピング」を選択
右上の「値のマッピングの作成」をクリックし、下記内容で設定を追加します。
名前:IDCFクラウド インスタンスタイプ一覧
値:1vCPU-1GB
マッピング文字列:Light.S1
最後に、マッピング設定を適用するアイテムを作成します。
アイテムを作成してマッピング
「1vCPU-1GB」の形でCPUとメモリを取得するアイテムを作成します。
対象サーバ > アイテム > 右上の「アイテムを作成」
下記内容で設定を追加します。
名前 :インスタンスタイプ取得用
キー :system.run["grep physical.id /proc/cpuinfo | sort -u | wc -l | awk '{printf $1\"vCPU-\"}' ; dmidecode -t memory|grep \"^\sSize:\"|grep -v No|awk '{sum+=$2}END{if($3==\"GB\"){print sum\"GB\"}else{printf(\"%dGB\n\",sum/1024)}}'"]
データ型 :文字列
監視間隔 :86400s(一日)
値のマッピング :IDCFクラウド インスタンスタイプ一覧
キーのコマンドで無理やり「vCPU-GB」の形で取得しちゃいます。
作成後、「監視データ取得」をクリックしてヒストリを確認してみましょう。
2022/09/08 04:36:31 Light.S1 (1vCPU-1GB)
しっかり取得と変換が出来ていますね、()内に生の値も記載されています。
ちなみに、Zabbixの5系以降の保存前処理の一つ「置換」でも同様のことが出来ますので、5系以降の方はそちらも試してみてください。
AWSインスタンスの場合は・・・
ちなみに、AWSの場合はインスタンス内で下記URLにアクセスすればインスタンスメタデータとして取得できるので、もっと簡単にマッピングが利用出来ます。
http://169.254.169.254/latest/meta-data/instance-type/
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
もしZabbixからクラウド上のインスタンスサイズを一覧化したい様であれば、参考に頂ければと思います。