ZABBIX3.0の設定



●Zabbix 3.0のインストール

 参考URL:5 What's new in Zabbix 3.0.0

 Zabbix 3.0の新機能等についてはZabbix 3.0 を yumでインストール(CentOS 7.2)を参照してください。
 Zabbix 3.0のインストール要件は2 Requirementsを参照してください。
 PHPは5.4.0以上が必要です。2016年8月現在、PHPバージョン7はまだサポートしていないようです。
 Zabbixリポジトリを登録します。
# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese zabbix-agent zabbix-get
 Zabbixリポジトリを無効化します(yum updateでアップデートしないようにします)。
# vi /etc/yum.repos.d/zabbix.repo
[zabbix]
(・・省略・・)
enabled=1
↓
enabled=0
 
[zabbix-non-supported]
(・・省略・・)
enabled=1
↓
enabled=0 
 再インストール等を実施する場合は、下記のようにします。
# yum --enablerepo=zabbix -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese zabbix-agent zabbix-get


●Zabbix用のデータベースの作成

 MySQLにZabbix用のDBとユーザを作成します。
$ mysql -uroot -p
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by '<パスワード>';
MariaDB [(none)]> quit;
 Zabbix用のDBスキーマとデータをインポートします。
$ cd /usr/share/doc/zabbix-server-mysql-*.*.*/  (2016年8月時点では3.0.4でした)
$ zcat create.sql.gz | mysql -uroot -p zabbix


●Zabbixサーバの設定と起動

 Zabbixサーバを設定します。
# vi /etc/zabbix/zabbix_server.conf
# DBPassword=
↓
DBPassword=<パスワード>
 Apacheを設定します。
# vi /etc/httpd/conf.d/zabbix.conf
# php_value date.timezone Europe/Riga
↓
php_value date.timezone Asia/Tokyo
 Zabbixサーバの起動と自動起動設定をします。
# systemctl start zabbix-server
# systemctl enable zabbix-server
 Zabbixサーバのログ出力先が2.4とは異なっていました。
/var/log/zabbixsrv/zabbix_server.log
 ↓
/var/log/zabbix/zabbix_server.log
 Apacheを再起動します。
# systemctl restart httpd
 動作確認用にZabbixエージェントを起動します。
# systemctl start zabbix-agent
# systemctl enable zabbix-agent
 Zabbixエージェントの動作確認をします。
$ zabbix_get -s 127.0.0.1 -k agent.version
3.0.0
 上記のように、Zabbixのバージョンが表示されれば正常に動作しています。
 「Check access restrictions in Zabbix agent configuration」のように表示された場合は、エージェントの設定ファイルを確認してください。

●ログファイルから数値を取得する

 バージョン3.0からログファイル(文字列)から数値を検知することが可能となりました。
 アイテムの設定例は下記のとおりです。
  名前:notice: High CPU load detected
  タイプ:Zabbixエージェント(アクティブ)
  キー:log[/var/log/messages,"crmd.*detected: ([0-9]+\.[0-9]+[0-9])",,,,\1]
  データ型:数値(浮動小数点)
  単位:未入力
  乗数を使用:未入力
  更新間隔(秒):30
  ヒストリ保存期間(日):90
  トレンドの保存期間(日):365
  保存時の計算:なし
  値のマッピングの使用:なし
  アプリケーションの作成:Syslog
  ホストインベントリフィールドの自動設定:なし
  説明:未入力
  有効:チェックを入れる
 「更新」をクリックすると有効となります。
 loggerコマンドで下記のように実行します。
$ logger -p user.warn -t [TEST] "notice: High CPU load detected: 1.234567"
 「監視データ」-「最新データ」で該当のアプリケーションを選択し、「最新の値」が取得できていることを確認します。
 アイテムの設定では小数点以下6桁を取得できるように設定([0-9]+\.[0-9]+[0-9]+[0-9]+[0-9]+[0-9]+[0-9])してみたいるのですが、実際に取得出来るのは小数点以下2桁までのようです。と思いきや違う設定([0-9]+\.[0-9]+[0-9])の場合、小数点以下4桁まで検知しました。一体どういうことやら・・・。