Zabbixの外部スクリプトでHello Worldを表示するサンプルです。
(確認環境:zabbix_server3、CentOS7)
目次
サンプル | 概要 |
1.viコマンドでshファイルを作成する | |
2.指定のディレクトリコピーして権限を設定する | |
3.Zabbixで設定を行う | |
4.設定したデータを確認する | |
スクリプトを停止する場合 | |
SELinuxの警告が出て実行できない場合 |
概要
- zabbixサーバのある自サーバにシェルスクリプトを配置します。
- Zabbixから引数の文字列のHello Worldを渡します。
- 30秒間隔で実行してZabbixのWeb画面にHello Worldを表示します。
1.viコマンドでshファイルを作成する
[test@localhost ~]$ vi test1.sh
viコマンドを実行し以下を入力します。
#!/bin/bash
echo $1
echoでシェルスクリプト実行時の1つ目の引数を出力します。
文字列のHello WorldはZabbixから設定します。
修正はviコマンドで編集します。
https://itsakura.com/centos_vi_command
2.指定のディレクトリコピーして権限を設定する
1.zabbixの指定のディレクトリにファイルをコピーします。
sudo cp test1.sh /usr/lib/zabbix/externalscripts/
2.ファイルの所有者を変更します。
sudo chown zabbix:zabbix /usr/lib/zabbix/externalscripts/test1.sh
3.ファイルの権限を変更します。
sudo chmod 500 /usr/lib/zabbix/externalscripts/test1.sh
4.lsコマンドで確認します。
[test@localhost ~]$ ls -l /usr/lib/zabbix/externalscripts/test1.sh
-r-x------. 1 zabbix zabbix 31 1月 21 19:57 /usr/lib/zabbix/externalscripts/test1.sh
[test@localhost ~]$
3.Zabbixで設定を行う
1.設定 > ホストをクリックします。
2.ホストの作成をクリックします。
3.ホスト名と表示名を入力しグループは、Linux Serversを選択します。
完了後、追加ボタンを押します。
4.ホストの一覧でアイテムをクリックします。
5.画面右上のアイテムの作成をクリックします。
6.名前を入力します。タイプは外部チェックを選択します。
キーは、ファイル名と引数を指定します。test1.sh["Hello World"]
データ型は文字列を選択します。追加ボタンを押すとアイテムが作成されます。
設定したデータを確認する
1.監視データ>最新データ>ホストに設定したサーバを指定>フィルターをクリックします。
2.ホストに作成したホスト名を入力しフィルターをクリックします。
最新の値にhello worldが表示されています。
ヒストリをクリックします。
3.出力された文字列が時系列で表示されます。
スクリプトを停止する場合
設定 > ホスト > アイテムから対象の行にチェックを入れ、「無効」または「削除」します。
無効の場合は、有効にすれば再度使用できます。
SELinuxの警告が出て実行できない場合
SELinux により、zabbix_server による execute アクセスが、ファイル test1.sh で拒否されました。 |
SELinuxの警告が出て実行できない場合は、SELinuxの設定を行うかまたは以下のコマンドで許可します。
SELinuxの現在の状態を確認 (getenforce) |
getenforce enforcing・・・SELinuxは有効 permissive・・・アクセス制限は行わない。警告あり disabled・・・SELinuxは無効 |
SELinuxを一時的に無効にする (setenforce) |
setenforce 0 →設定がPermissiveになる |
SELinuxを有効にする (setenforce) |
setenforce 1 →設定がEnforcingになる |
関連の記事