Zabbix 外部スクリプトでHello Worldを表示

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になる

関連の記事

Zabbix 基本用語と起動/終了のコマンドを確認

△上に戻る