Pocket

Zabbix

  • add this entry to hatena bookmark

公開日:2013/01/04(2.0.4)、更新日:2013/10/16(2.0.5)

OSS監視ソリューションであるZabbixにて実際に行った初期設定までの作業を記載しています。

Zabbixバージョンは「2.0.5」になります。実行環境はLinux(CentOS)です。

インストール

基本的にはZabbix のインストールマニュアルを参考に作業を進めます。

なお、「Server」と「Agent」をインストールし、データベースはMySQLを使います。

まず、先にOS上でZabbixアカウントを作成します。

# groupadd zabbix
# useradd -g zabbix zabbix
# cat /etc/passwd|grep zabbix
zabbix:x:501:501::/home/zabbix:/bin/bash
#

では、Zabbixのインストールに入ります。Zabbixサイトからソースコード「zabbix-2.0.5.tar.gz」をダウンロードしてからの手順です。

$ tar zxvf zabbix-2.0.5.tar.gz
$ su -
# cd zabbix-2.0.5
# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl 
# make
# make install

なお、環境に依存する作業として、私の環境では別途以下の作業を行いました。

  • configure で「configure: error: Curl library not found」が出ました。libcurl-develパッケージが入っていなかったので、別途yumでインストールしました。
  • configureで「configure: error: Invalid NET-SNMP directory – unable to find net-snmp-config」が出ました。net-snmp-develパッケージが入っていなかったので、別途yumでインストールしました。

デフォルト設定

設定ファイルは「/usr/local/etc」に配置されています。Zabbixのエージェント設定とサーバ設定はそれぞれ別のファイルになります。デフォルトで有効になっている設定は以下でした。

  • zabbix_agent.conf
    • 「Server=127.0.0.1」
  • zabbix_agentd.conf
    • 「LogFile=/tmp/zabbix_agentd.log」
    • 「Server=127.0.0.1」
    • 「ServerActive=127.0.0.1」
    • 「Hostname=Zabbix server」
  • zabbix_server.conf
    • 「LogFile=/tmp/zabbix_server.log」
    • 「DBName=zabbix」
    • 「DBUser=root」

データベース作成

次にデータベースを作成し、Zabbixのスキーマやデータを投入します。

# mysql -u root -p
mysql> create database zabbix character set utf8;
mysql> quit;
# mysql -uroot -p zabbix < /usr/local/src/zabbix-2.0.5/database/mysql/schema.sql
# mysql -uroot -p zabbix < /usr/local/src/zabbix-2.0.5/database/mysql/images.sql
# mysql -uroot -p zabbix < /usr/local/src/zabbix-2.0.5/database/mysql/data.sql

以上で、データベースの準備は終了です。

起動

早速、Zabbixサーバを起動してみます。

# ps -awef|grep zabbix|grep -v grep
# which zabbix_server
/usr/local/sbin/zabbix_server
# zabbix_server
# ps -awef|grep zabbix|grep -v grep
zabbix    6225     1  0 09:38 ?        00:00:00 zabbix_server
#

次に、Zabbixエージェントを起動してみます。

# ps -awef|grep zabbix_agentd|grep -v grep
# which zabbix_agentd
/usr/local/sbin/zabbix_agentd
# zabbix_agentd
# ps -awef|grep zabbix_agentd|grep -v grep
zabbix    6248     1  0 09:40 ?        00:00:00 zabbix_agentd
zabbix    6249  6248  0 09:40 ?        00:00:00 zabbix_agentd
zabbix    6250  6248  0 09:40 ?        00:00:00 zabbix_agentd
zabbix    6251  6248  0 09:40 ?        00:00:00 zabbix_agentd
zabbix    6252  6248  0 09:40 ?        00:00:00 zabbix_agentd
zabbix    6253  6248  0 09:40 ?        00:00:00 zabbix_agentd
#

デフォルトでは、エージェントプロセスが複数起動するようです。

Zabbix Web Interface

次にZabbixのWeb画面の準備を行います。

まずは、Zabbixの画面プログラム(PHP)を、Webサーバ(apache)公開ディレクトリにコピーします。

# cd /usr/local/src/zabbix-2.0.5/frontends/php
# cp -a . /usr/local/apache/htdocs (←apache公開ディレクトリを指定)

その後、ブラウザでWebサーバにアクセスすると、ZabbixのWelcome setup画面が表示されます。

なお、この画面で、phpの「date(): It is not safe to rely on the system’s timezone settings.」warningが発生します。対策として、次の設定を php.ini で設定します。

[Date]
date.timezone = "Asia/Tokyo";

「Next」ボタンをクリックすると、次の「2. Check of pre-requisites」画面で、ZabbixのWeb画面プログラムが動く環境かチェックされます。私の環境では、以下の画面のようにいくつかの「Fail」項目がありました。(2.0.4 の画面ですが、2.0.5も同様です。)

Zabbix 2. Check of pre-requisites

「Fail」項目は、php.ini の設定値を変更すればよい項目と、phpのconfigureオプションで追加しなければいけない項目があります。

それぞれ適切に設定すると、全てが「OK」になりました。

次の「3. Configure DB connection」で、MySQLへのアクセスパスワードを入力します。

3. Configure DB connection

次の「4. Zabbix server details」画面はデフォルトのままでOKです。

次の「5. Pre-Installation summary」画面で設定値を確認し、「Next」ボタンを押下します。

すると、次の「6. Install」画面で、「conf/zabbix.conf.php」ファイルがパーミッションの問題で配置できないエラーメッセージが表示されますが、適切に対応し「Retry」ボタンを押下すればすぐに解決できます。「Finish」ボタンを押下します。

すると、無事Zabbixのログイン画面が表示されるようになります。

Zabbixログイン画面

※ デフォルトのアカウントとパスワードは「Admin / zabbix」なので、ログイン後にすぐに変更しました。

設定変更(zabbix_server.conf)

Web画面にログインすると、Zabbixサーバが認識されていない事が分かりました。Zabbixサーバの設定ファイル(zabbix_server.conf)をデフォルトのまま変更していなかったのが原因でした。よって、以下の通り設定値を追加しました。

  • zabbix_server.conf
    • 「LogFile=/tmp/zabbix_server.log」
    • 「DBName=zabbix」
    • 「DBUser=root」
    • 「DBPassword=(パスワード)」 (←追加)
    • 「DBPort=3306」 (←追加)

その後、zabbix_server プロセスを再起動しました。すると、起動する「zabbix_server」プロセスは実際は複数個(私の環境では27個になりました)になりました。ログファイル「/tmp/zabbix_server.log」にも状況が記録されます。

以上が、Zabbixの初期設定までの作業記録になります。

更新履歴

  • 2013/10/16 : 一部修正
  • 2013/03/02 : 2.0.5 を利用
  • 2013/01/04 : 2.0.4 を利用

関連する投稿
Pocket

One thought on “Zabbix

  1. Pingback: Zabbix | Check!Site - ちゅどん道中記

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。