5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Zabbix設定メモ

Posted at

やりたいこと

自分の環境に合わせたインストール。設定手順をまとめておきたい。
自分の環境の特徴は、

  • PHPが5.6。
  • メール送信のSMTPとしてGmailを利用したい。

の2つ。それぞれ、Zabbixインストール時のレポジトリの追加や、送信用カスタムスクリプトの設定が必要になる。

参考

  • インストールはここを参考にさせていただきました。
  • 各種監視設定は同じくここを参考にさせていただきました。
  • 簡単エージェントレンスの監視等はここを参考にさせていただきました。

前提

  • CentOS6.x(or6.5)
  • Apacheインストール済
  • MySQLインストール済
  • PHPインストール済(但し、remiから5.6:普通にやると引っかかる)

インストール

リポジトリインストール

そもそもどのレポジトリが有効になっているか?

yum repolist all

Zabbixレポジトリ追加

sudo rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm

Zabbixのリポジトリは標準でenailed=1になっているので、必要に応じて0にしておく。
/etc/yum.repos.d/zabbix.repo
最新のレポジトリは公式サイトで確認する。

Zabbixインストール

Zabbixサーバーのインストール

yum install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese

上記だと、PHP依存関連のエラーがでました。
原因は、LaravelのためにPHPを5.6にしてたから。--enablerepoをつけて再度実行。

yum install --enablerepo=remi,remi-php56 zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese

Zabbixエージェントのインストール

yum nstall zabbix-agent

Zabbix便利コマンドのインストール

yum install zabbix-get

Zabbix DBのセットアップ

まず、MySQLにログインし、Zabbix用のDBとユーザーを設定しておく。

mysql>create database zabbix;
mysql>grant all privileges on zabbix.* to zabbix@localhost identified by 'password';

各種スクリプトを実行。

mysql -u root -p zabbix < /usr/share/doc/zabbix-server-mysql-2.4.6/create/schema.sql
mysql -uroot -p zabbix < /usr/share/doc/zabbix-server-mysql-2.4.6/create/images.sql
mysql -uroot -p zabbix < /usr/share/doc/zabbix-server-mysql-2.4.6/create/data.sql

pathはバージョンによって変わります(特に、zabbix-server-mysql-2.4.6部分)。

Zabbixの起動設定

/etc/zabbix/zabbix_server.confのDBPassword=を適切に設定し、コメントイン。

サーバ起動+自動起動

sudo service zabbix-server start
sudo chkconfig zabbix-server on

エージェントも起動+自動起動

sudo service zabbix-agent start
sudo chkconfig zabbix-agent on

エージェントの起動確認

zabbix_get -s 127.0.0.1 -p 10050 -k agent.version
2.4.6

zabbix(_get)は、zabbix_agentd.confのServer=に記述されたサーバのみ反応するようです。
ローカルテストする場合は、127.0.0.1も加えておきましょう。

Apacheのリスタート

必須。

sudo service httpd restart

ウィザード

Check of pre-requisitesでPHP always_populate_raw_post_dataがonになってる!offを要求!というエラー。
php.iniの

always_populate_raw_post_data = -1

をコメントイン。httpd restart。

エラーメール設定

ローカルのSMTPが使えればわけないのですが、ここではGmailを利用します。
Zabbixのメールはtls認証に対応していないようなので、送信用のスクリプトを作成し、それで送信します。が、ハマりました。

スクリプト自体はここから入手できます。

ハマりポイント1(PHPMailerのrequire)

そもそもメール送信にはPHPMailerを利用しているので、その本体をダウンロード、設置します。また、STMPクラスが無い!というエラーに遭遇しました。そのためには、class.phpmailer.phpのrequireの前にclass.smtp.phpをrequireします。

ハマりポイント2(スクリプト保存Path)

どこかのサイトの例に、送信用のスクリプトを/var/lib/zabbixとかに置いている例があったのですが、送信用のスクリプトは、/etc/zabbix/zabbix_server.confで、AlertScriptsPathで指定されたPathでしか有効じゃないようです(標準では/usr/lib/zabbix/alertscripts)。メディア設定の際のファイル名(Path)は、このフォルダからの相対Pathで指定するようです。

後は、スクリプトをGmailに合わせて改変します。追加項目としては、

$mailer->Port = 587;
$mailer->SMTPSecure = "tls";

くらいでしょうか。あと、そもそも最近のGmailは、アプリ専用のパスワードを取得する必要があるので、前もって準備します。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?