公開日: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も同様です。)
「Fail」項目は、php.ini の設定値を変更すればよい項目と、phpのconfigureオプションで追加しなければいけない項目があります。
それぞれ適切に設定すると、全てが「OK」になりました。
次の「3. Configure DB connection」で、MySQLへのアクセスパスワードを入力します。
次の「4. Zabbix server details」画面はデフォルトのままでOKです。
次の「5. Pre-Installation summary」画面で設定値を確認し、「Next」ボタンを押下します。
すると、次の「6. Install」画面で、「conf/zabbix.conf.php」ファイルがパーミッションの問題で配置できないエラーメッセージが表示されますが、適切に対応し「Retry」ボタンを押下すればすぐに解決できます。「Finish」ボタンを押下します。
すると、無事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 を利用
関連する投稿
- Zabbix 2.2 を使って、テキストログの監視を行う方法
- Zabbix 2.2系 で MySQL監視(Template App MySQL)を導入する手順
- CentOSにyumでZabbixエージェントをインストールして起動するまでの手順
- Zabbixエージェントからアイテムのキー値を取得する zabbix_get コマンド
- Zabbixダッシュボードのフィルタ設定でログ監視のアラートを非表示にする方法
- Zabbix 2.2.1 のセットアップ画面で「PHP databases support」が Fail になる
- PHP5.5 環境では、Zabbix 2.0.5 画面にて「mysql_connect()」の赤文字警告が表示される件
- ZabbixでLinuxのディスク使用率を監視する方法
- ZabbixでPing監視をする際のfping設定
- Zabbix 2.0.5 ウェブ監視(Webサイト監視)の設定方法
- Zabbix 2.0 で JMX監視(Tomcat7)を行う方法
- Zabbix 2.0.5 で MySQLの監視(テンプレート利用)
- zabbix_get コマンドで MySQLの稼働状況を確認する方法(アカウント情報を分離)
- zabbix_get コマンドで MySQLの稼働状況を確認する簡易試験
- AWS EC2インスタンスをZabbixエージェントで監視する為の準備作業
- Zabbixグラフの日本語文字化けを直す方法(2.0.5)
- Zabbix用サーバでのMySQL my.cnf 設定
- Zabbix Agent 監視対象ホストに新しいアイテム(CPUロードアベレージ)を追加
- zabbix_server.log で記録されていた「first network error」対策
- Zabbix Agent 側の system.cpu.load 値が取得が出来なかったので調査した記録
Pingback: Zabbix | Check!Site - ちゅどん道中記