CentOSのバージョンやOSの詳細情報を取得しホストインベントリ(監視対象サーバに関する色々な情報一覧)に自動登録するテンプレートを作成します。こうすることで各サーバのOSの種類やバージョンを各サーバにログインすることなくZabbix上で確認することができます。また、インベントリを登録しておくと「CentOS6.6のサーバ一覧を表示する」といったことが簡単にできますので、管理対象のサーバが多くなってくるとホストインベントリは特に便利な機能です。
CentOSのバージョンは /etc/redhat-release ファイルで確認できます。
$ cat /etc/redhat-release CentOS release 6.6 (Final)
OSの詳細情報は Zabbix標準の system.uname アイテムキーで取得できますが、 CentOSのバージョンを取得できるアイテムキーはありませんので上の出力結果をユーザーパラメータという仕組みを使って取得します。
テンプレートの作成
[設定]→[テンプレート]→[テンプレートの作成]をクリックします。
[テンプレート]タブを選択 下記を入力し「追加」をクリックすればテンプレートが作成されます。
テンプレート名:A_Template_CentOS_Version グループ:A_Templates グループを作成する
アプリケーションの作成
[設定]→[テンプレート] 「A_Template_CentOS_Version」行の「アプリケーション」をクリックします。
名前に「OS」を入力し「追加」をクリックすればアプリケーションが作成されます。
CentOSのバージョン取得アイテム作成
CentOSのバージョンを取得できるアイテムキーはありませんので、監視される側のサーバのZabbixエージェントの設定ファイルにユーザーパラメータとして登録します。
ユーザーパラメータは Linuxコマンドなどの出力結果を、オリジナルのアイテムキーとして定義できるとても便利なしくみです。登録するコマンドは自分で作ったシェルスクリプトなどでも構いませんので、ほぼどんな項目でもアイテムキーとして定義することができます。
ユーザーパラメータの登録
Zabbixエージェントの設定ファイルにCentOSのバージョンを取得するユーザーパラメータ(UserParameter)を追加します。
sudo vi /etc/zabbix/zabbix_agentd.conf
---(下記を変更)--------------------------- Include=/etc/zabbix/zabbix_agentd.d/ ↓ # Include=/etc/zabbix/zabbix_agentd.d/ ---(下記を最終行に追加)--------------------------- # OS:CentOSのバージョン取得 UserParameter=os.redhat-release,/bin/cat /etc/redhat-release
・Zabbixエージェントを再起動します。
sudo service zabbix-agent restart
動作確認
Zabbixサーバ上で zabbix_get コマンドを実行して動作確認をします。ユーザーパラメータで指定したコマンドと同じ出力結果が返ってくればOKです。
$ zabbix_get -s 172.16.1.20 -p 10050 -k os.redhat-release CentOS release 6.6 (Final)
ユーザーパラメータの書式
ユーザーパラメータの書式は「UserParameter=<アイテムキー名>,<実行するコマンド>」になります。実行するコマンドはフルパスで指定するのがよいでしょう。
今回設定したのユーザーパラメータは、Zabbixサーバで「os.redhat-release」アイテムキーを実行すると、監視対象サーバ上で「cat /etc/redhat-release」コマンドが実行され出力結果をZabbixサーバに返します。
詳細は公式マニュアル 4 ユーザーパラメータ | Zabbix Documentation 2.2 をご参照ください。
アイテムの作成
[設定]→[テンプレート] 「A_Template_CentOS_Version」行の「アイテム」をクリックします。
下記を設定し「追加」をクリックすればアイテムが作成されます。
---(設定箇所)---------------------------
名前:7000_CentOSバージョン
キー:os.redhat-release
データ型:文字列
更新間隔(秒):3600
アプリケーション:OS
ホストインベントリフィールドの自動設定:OS
------------------------------
取得したCentOSのバージョンはホストインベントリの「OS」に自動登録されます。
OSの詳細情報取得アイテム作成
OSの詳細情報は Zabbix標準の system.uname アイテムキーで取得します。「uname -a」コマンドと同じ内容が取得できます。
[設定]→[テンプレート] 「A_Template_CentOS_Version」行の「アイテム」をクリックします。
下記を設定し「追加」をクリックすれば下記を設定し「追加」をクリックすればアイテムが作成されます。
---(設定箇所)---------------------------
名前:7010_OSの詳細情報
キー:system.uname
データ型:文字列
更新間隔(秒):3600
アプリケーション:OS
ホストインベントリフィールドの自動設定:OS(詳細)
------------------------------
取得したCentOSのバージョンはホストインベントリの「OS(詳細)」に自動登録されます。
動作確認
動作確認の前に、このテンプレートを適用するホストのホストインベントリが自動になっていることをご確認ください。また、今回設定したアイテムは更新間隔を3600秒(1時間)に設定していますので、動作確認の時だけ更新間隔を短く設定しておくとよいでしょう。
最後に作成した監視テンプレートの動作確認をして作業完了です。
コメント