サーバーの監視用途にZabbix環境を作成したため、手順をメモ
Zabbix公式
Zabbixオフィシャル日本語サイト :: エンタープライズクラスの分散監視オープンソースソリューション
ドキュメント:
Zabbix documentation [Zabbix Documentation 3.2]
Zabbix Server セットアップ手順
今回は以下の環境で作成しました。(実際はVagrantで作成した仮想マシン上のUbuntuですが手順は省略します)
項目 | 詳細 |
---|---|
OS | Ubuntu 16.04 LTS / 64bit |
Zabbix | 3.2 |
PostgreSQL | 9.5 |
[Option] 日本語化対応
ZabbixのWebUIの日本語化の際に、localeの選択ができるようになっている必要があります。
$ sudo apt-get install language-pack-ja
Zabbixのリポジトリの設定
Ubuntu16.04のデフォルトでもzabbixを取得することはできますが、2.xと古いため、今回は3.2をインストールします。
(マイナーバージョンが上がっていることが考えられるため、以下のリンク先から取得して下さい)
1 Repository installation [Zabbix Documentation 3.2]
$ wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb
$ sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb
$ sudo apt-get update
Zabbix(PostgreSQL)向けパッケージのインストール
データの保存先として、MySQLまたはPostgreSQLを選択することができます。
2 Server installation with MySQL database [Zabbix Documentation 3.2]
3 Server installation with PostgreSQL database [Zabbix Documentation 3.2]
本記事では、3のPostgreSQLを利用した環境作成で検証した結果を記載します。
$ sudo apt-get install zabbix-server-pgsql zabbix-frontend-php
Zabbixが稼働しているサーバーも監視対象にするため、zabbix-agentもインストールします。
$ sudo apt-get install zabbix-agent
依存パッケージのインストール
後の手順でパッケージが不足していると言われたため、以下を追加でインストールします、
$ sudo apt-get install php7.0-bcmath php7.0-xml php7.0-mbstring php7.0-pgsql fonts-vlgothic
php7.0-pgsql => これがないと初期設定でPostgreSQLが認識されない。
fonts-vlgothic => 日本語フォント。グラフのレンダリング時に日本語を使用する場合に必要。
zabbix 用のDBの作成
以下は作成例です。PostgreSQLの認証方式に関しては使用している環境に合わせて適切に設定して下さい。
$ sudo sed -i -e '/^local.*all.*all.*/s/peer/trust/' /etc/postgresql/9.5/main/pg_hba.conf
$ sudo -u postgres createuser -a -U postgres -P zabbix
Enter password for new role:
Enter it again:
$ sudo -u postgres psql
postgres=# create database zabbix owner zabbix encoding UTF8;
postgres=# \q
作成したDBの初期化
DBの作成後、作成したDBをZabbix用に初期化します。
$ zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | psql -U postgres zabbix
/etc/zabbix/zabbix_server.conf の変更
作成したDBに合わせてzabbix-server設定ファイルを修正します。
$ vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<zabbix db user password>
DBPort=5432
DBName, DBUser, DBPasswordは前段で作成したDBの設定に合わせて設定して下さい。
DBPortの5432
はPostgreSQLのデフォルト値になります。
こちらの設定はZabbixのWebからの初期設定時にデフォルト値にもなりますが、Web画面で設定する内容はあくまでも zabbix-frontend
向けの設定のため、zabbix_server.conf
自体もちゃんと設定しておかないと後々エラーになりますので必ず設定して下さい。
zabbixのサービスの起動
systemdからzabbix-serverを起動します。(Ubuntu15.04よりupstartからsystemdに変わっています)
$ sudo service zabbix-server start
$ sudo update-rc.d zabbix-server enable
/etc/zabbix/apache.conf の date.timezone を変更する
date.timezoneの箇所のみコメントアウトしてありますので、環境に合わせて変更します。
基本的には Asia/Tokyo
にするかとは思うんですが、その他にする必要がある場合の設定値は以下で確認できます。
PHP: List of Supported Timezones - Manual
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Tokyo
</IfModule>
<IfModule mod_php7.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Tokyo
</IfModule>
apacheのサービスの再起動
$ sudo service apache2 restart
サービスの起動確認
ブラウザから http://<serverのip>/zabbix
にアクセスします。
残りの手順は以下のページを参照して下さい。(上記の設定が行われていれば基本的に次へなどを押すだけのはず)
3 Installation from sources [Zabbix Documentation 3.2]
初期パスワードでログインします。(初回ログイン後にパスワードは変更して下さい)
Username | Password |
---|---|
Admin | zabbix |
初回にWebUIで行った設定は以下で変更できます。
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'POSTGRESQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '5432';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'zabbixuserpass';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
[Option] WebUIの日本語化
WebUIを日本語化する場合は以下のようにします。
Administration => Users => Admin => LanguageでJapanese(ja_JP)を選択
Zabbix Agentの設定
Zabbix Server自身の設定(Ubuntu)
Zabbixが稼働しているサーバー自体も監視対象にする。
基本的には zabbix-agent
をインストール後、zabbix-serverと同様にserviceを立ち上げれば良いです。
初期状態だとZabbix Serverからのアクセスが無効化されているため、有効化する必要があります。
Configuration => Hosts => 「Zabbix server」のStatusがDisabledになっているのでクリックして有効化
Linux
注意点として、ファイヤーウォールの設定等でZabbix AgentがServerに接続する際に使用するポート10050(デフォルト値)を遮断しないようにする必要がある。
Ubuntu
$ sudo systemctl enable zabbix-agent.service
CentOS
Zabbixエージェントの設定 (CentOS編) - Qiita
Windows
注意点として、ファイヤーウォールの設定等でZabbix AgentがServerに接続する際に使用するポート10050(デフォルト値)を遮断しないようにする必要があります。ファイヤーウォールの受信の規則で10050を許可して下さい。
パッケージ
設定手順(公式)
2 Zabbix agent on Microsoft Windows [Zabbix Documentation 3.2]
参考
Zabbixエージェントの設定 (Windows Server編) - Qiita
参考
統合監視ツール「Zabbix」によるサーバー監視 - さくらのナレッジ - Part 2
Ubuntu 16.04にZabbix 3.2(PostgreSQL)をインストールする。 - truffe093のブログ
Zabbix 3.0をCentOS 7にインストール(PostgreSQL編) - Qiita
【連載Zabbix】Zabbix 3.0/3.2 基礎構築手順【Zabbix Advent Calendar 2016】 – サーバーワークスエンジニアブログ
Zabbix3.2サーバのインストール - JunkBoxWiki