SRA OSSとZabbixの開発元であるZabbix社とのアライアンスによる、公式サポートサービス。
最新のZabbix公式安定バージョンを完全にサポート、使い方から障害対応まで、ソースコードレベルでの高品質な対応。
大規模な利用でも安定稼働する「Zabbix DBとしてPostgreSQLを利用」の場合はPostgreSQLまで含めてトータルサポート。
本記事では、Zabbixのインストール、基本的な設定、監視対象と基本的な監視項目の設定方法をご紹介します。
Zabbix は、オープンソースの企業向けシステム監視ツールです。
Web ベースの使いやすい管理インタフェース、大規模な監視への対応、可視化機能などが特長です。
今回は、Zabbix エージェントをインストールした監視対象機器の動作状況が管理画面から閲覧できるようになるまでを扱います。
Zabbix 導入の全体の流れを理解したり、初めての方が作業の感覚を掴めるように、画面を交えながらインストールから基本的な設定まで解説していきます。
Zabbix の要件とサポートする環境は以下を参照してください。
システム要件:
http://www.zabbix.com/jp/requirements.php
ここでは以下の環境に Zabbix を導入します。
なお、別途管理画面にアクセスするための Web ブラウザを動作させるコンピュータが必要です。
本記事では Windows 7 で Firefox 20 を使用します。
役割 | OS | ホスト名 (IPアドレス) |
---|---|---|
監視サーバ | CentOS 6.3 (x86_64) | zabbix-server (192.168.5.1) |
監視エージェント | CentOS 6.3 (x86_64) | zabbix-agent (192.168.5.2) |
以下のサイトから Zabbix をダウンロードします。
コンパイル済みのバイナリや仮想マシンのイメージも配布されていますが、ここではソースコードからインストールを行います。
ダウンロード:
http://www.zabbix.com/jp/download.php
「Zabbix ソース」の「ダウンロード」をクリックし、 zabbix-2.0.5.tar.gz をダウンロードします。
また、Zabbix の動作には以下のソフトウェアが必要になります。
本記事では、Apache, PHP はディストリビューション標準のものを使用します。
PostgreSQL はソースコードからインストールします。
以下のページから最新のソースコードをダウンロードします。
ここでは postgresql-9.2.4.tar.bz2 を使用します。
ダウンロード:
Zabbix は、最も基本的な構成では、監視対象となる機器と、監視対象からの情報の収集とユーザへの Web インタフェースの提供を行うサーバの 2 つから構成されます。
以下の流れで構築作業を行います。
今回は1~5までの作業を行います。
Zabbix サーバ上で SELinux が有効になっていると、設定ファイルの書き込みに失敗するため、インストールに失敗します。
事前に SELinux を無効もしくは permissive に変更する、設定ファイルのセキュリティコンテキストを変更する、のいずれかの設定を行う必要があります。
また、Zabbix サーバに Zabbix と PostgreSQL を動作させるユーザをあらかじめ作成しておきます。
# adduser zabbix # adduser postgres
Zabbix に必要なソフトウェアをインストールします
(「$」は一般ユーザ、「#」は root ユーザのコマンドプロンプトを表します)。
Apache、PHP、その他ビルドと実行に必要なライブラリをインストールします。
# yum install httpd php php-pgsql php-mbstring php-bcmath php-xml php-gd # yum install readline-devel zlib-devel
PostgreSQL をコンパイル、インストールし、Zabbix 用のデータベースを作成します。
$ tar jxf postgresql-9.2.4.tar.bz2 $ cd postgresql-9.2.4 $ ./configure $ make $ su # make install # mkdir /usr/local/pgsql/data # chown postgres:postgres /usr/local/pgsql/data # su - postgres $ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data -E UTF8 --no-locale $ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start $ /usr/local/pgsql/bin/createuser -U postgres zabbix -P -S -R -D Enter password for new role: (パスワードを入力) Enter it again: (パスワードを入力) $ /usr/local/pgsql/bin/createdb -U postgres -O zabbix -E UTF8 zabbix $ exit # exit $ cd zabbix-2.0.5 $ /usr/local/pgsql/bin/psql -U zabbix zabbix < database/postgresql/schema.sql $ /usr/local/pgsql/bin/psql -U zabbix zabbix < database/postgresql/images.sql $ /usr/local/pgsql/bin/psql -U zabbix zabbix < database/postgresql/data.sql
Zabbix サーバを PostgreSQL サポート付きでコンパイル、インストールします。
必要に応じて追加でサポートしたい機能をオプションで選択してください。
$ tar zxf zabbix-2.0.5.tar.gz $ cd zabbix-2.0.5 $ ./configure --prefix=/usr/local --enable-server --with-postgresql=/usr/local/pgsql/bin/pg_config
以下のメッセージが表示されたら、makeを実行します。
Configuration: Detected OS: linux-gnu Install path: /usr/local Compilation arch: linux Compiler: gcc Compiler flags: -g -O2 -I/usr/local/pgsql/include Enable server: yes Server details: With database: PostgreSQL WEB Monitoring via: no Native Jabber: no SNMP: no IPMI: no SSH: no ODBC: no Linker flags: -rdynamic -L/usr/local/pgsql/lib Libraries: -lm -lrt -lresolv -lpq Enable proxy: no Enable agent: no Enable Java gateway: no LDAP support: no IPv6 support: no *********************************************************** * Now run 'make install' * * * * Thank you for using Zabbix! * * <http://www.zabbix.com> * *********************************************************** $ make $ su # make install
無事インストールに成功すると、実行ファイルが以下の場所に作成されます。
# ls -l /usr/local/sbin/zabbix_server # -rwxr-xr-x. 1 root root 2315341 4月 9 14:36 2013 /usr/local/sbin/zabbix_server
以下のZabbixサーバの設定ファイルを修正します。
# vi /usr/local/etc/zabbix_server.conf
以下の行を変更もしくは追加します。
DBHost= ← PostgreSQLをZabbixサーバと同じホストで動作させる場合は空欄にします DBUser=zabbix DBPassword=(パスワード) DBPort=5432
ソースコードに同梱されている Fedora 用の起動スクリプトをコピーします。
# cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/
コピーした起動スクリプトの次の行をインストールした場所に合わせて修正します。
今回は /usr/local にインストールしたためデフォルトのままで構いません。
ZABBIX_BIN="/usr/local/sbin/zabbix_server"
起動スクリプトをシステムサービスに登録して、動作ランレベルで on になっていることを確認します。
# chkconfig --add zabbix_server # chkconfig zabbix_server on # chkconfig --list zabbix_server zabbix_server 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Zabbix サーバプロセスを service コマンドで起動します。
# service zabbix_server start
Zabbix Server を起動中: [ OK ]
Zabbix サーバが zabbix ユーザで起動していることを確認します。
# ps aux | grep zabbix_server zabbix 3740 0.0 0.2 109188 1736 ? S 14:49 0:00 /usr/local/sbin/zabbix_server ...
SRA OSSとZabbixの開発元であるZabbix社とのアライアンスによる、公式サポートサービス。
最新のZabbix公式安定バージョンを完全にサポート、使い方から障害対応まで、ソースコードレベルでの高品質な対応。
大規模な利用でも安定稼働する「Zabbix DBとしてPostgreSQLを利用」の場合はPostgreSQLまで含めてトータルサポート。
監視対象マシンで Zabbix エージェントを動作させるユーザを作成します。
# adduser zabbix
Zabbix エージェントはデフォルトで 10050 番ポートを使用します。
ファイアウォールが有効な場合は 10050 番ポートへの接続を受け付けるようにしてください。
Zabbix のソースコードを監視対象のマシンにコピーして、展開します。
ここではエージェントのみをコンパイル、インストールします。
$ tar zxf zabbix-2.0.5.tar.gz $ cd zabbix-2.0.5 $ ./configure --prefix=/usr/local --enable-agent $ make $ su # make install
無事インストールに成功すると、実行ファイルが以下の場所に作成されます。
# ls -l /usr/local/sbin/zabbix_agent -rwxr-xr-x. 1 root root 656022 4月 9 17:51 2013 /usr/local/sbin/zabbix_agent
以下の Zabbix エージェントの設定ファイルを修正します。
# vi /usr/local/etc/zabbix_agentd.conf
以下の行を変更もしくは追加します。
Server=(Zabbix サーバの IP アドレス) Hostname=(Zabbix エージェントのホスト名) ← Zabbix サーバ上の設定と合わせる必要があります ServerActive=(Zabbix サーバの IP アドレス)
ソースコードに同梱されている Fedora 用の起動スクリプトをコピーします。
# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
コピーした起動スクリプトの次の行をインストールした場所に合わせて修正します。
今回は /usr/local にインストールしたためデフォルトのままで構いません。
ZABBIX_BIN="/usr/local/sbin/zabbix_agentd"
起動スクリプトをシステムサービスに登録して、動作ランレベルで on になっていることを確認します。
# chkconfig --add zabbix_agentd # chkconfig zabbix_agentd on # chkconfig --list zabbix_agentd zabbix_agentd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Zabbix エージェントプロセスを service コマンドで起動します。
# service zabbix_agentd start
Zabbix Agent を起動中: [ OK ]
Zabbix エージェントが zabbix ユーザで起動していることを確認します。
# ps aux | grep zabbix_agentd zabbix 10245 0.0 0.0 15484 704 ? S 17:56 0:00 /usr/local/sbin/zabbix_agentd ...
PHP の設定ファイルを修正します。
# vi /etc/php.ini (変更前) max_execution_time = 30 max_input_time = 60 post_max_size = 8M upload_max_filesize = 2M ;date.timezone = (変更後) max_execution_time = 600 max_input_time = 600 post_max_size = 32M upload_max_filesize = 16M date.timezone = Asia/Tokyo
ソースコードに含まれるフロントエンド用 PHP ファイル群をWeb サーバのコンテンツディレクトリにコピーし、conf ディレクトリの所有者を apache に変更します。
# cp -a frontends/php /var/www/html/zabbix # chown apache:apache /var/www/html/zabbix/conf
グラフで日本語を表示できるようにします。日本語フォントをコピーします。
# cp /usr/share/fonts/ipa-gothic/ipag.ttf /var/www/html/zabbix/fonts/
次のファイルのフォント設定を変更します。
# vi /var/www/html/zabbix/include/defines.inc.php (変更前) define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name (変更後) define('ZBX_GRAPH_FONT_NAME', 'ipag'); // font file name
Web サーバを起動します。
# service httpd start
httpd を起動中: [ OK ]
以下の URL に Web ブラウザからアクセスして、初期設定を行います。
http://(Zabbix サーバのアドレスまたはホスト名)/zabbix
をクリックして次の画面に進みます。
「2.Check of pre-requisites」で、すべての項目が OK であることを確認してください。
「3.Configure DB connection」では次のように設定します。
Database type | PostgreSQL |
---|---|
Database host | (空欄) |
Database port | 5432 |
Database name | zabbix |
User | zabbix |
Password | (データベースの zabbix ユーザのパスワード) |
をクリックし、OK と表示されることを確認してください。
「4.Zabbix server details」ではフロントエンドから Zabbix サーバへの接続先を設定します。
Zabbix サーバとフロントエンドを同じホストで動作させる場合はデフォルトのままで構いません。
「5.Pre-Installation summary」で設定内容を確認します。よければ次に進みます。
「6. Install」で created: OK が表示されたらインストール完了です。
をクリックして完了します。
SRA OSSとZabbixの開発元であるZabbix社とのアライアンスによる、公式サポートサービス。
最新のZabbix公式安定バージョンを完全にサポート、使い方から障害対応まで、ソースコードレベルでの高品質な対応。
大規模な利用でも安定稼働する「Zabbix DBとしてPostgreSQLを利用」の場合はPostgreSQLまで含めてトータルサポート。
インストール直後の状態ではユーザ名「Admin」、パスワード「zabbix」で管理者権限でログインできます。
ログイン後パスワードを変更することを推奨します。
ログインに成功したら、Zabbix のダッシュボード画面が表示されます。
管理画面を日本語表記にしたい場合は、右上の [Profile] を選択し、「Language」で「Japanese (ja_JP)」を選択し、
をクリックしてください。以降は日本語表記で説明します。
パスワードを変更したい場合は [パスワード変更]([Change password])をクリックしてください。
管理画面の 管理(Administration) タブを選択し、ユーザー(Users) を選択します。
現在登録されているユーザグループとユーザが表示されます。
インストール直後の状態では Admin ユーザと guest ユーザのみが登録されています。
管理作業用ユーザ、閲覧専用ユーザなど、用途に応じてユーザグループとユーザを作成しておくと便利です。
新規ユーザを作成するには、右上のプルダウンメニューから「ユーザー」(「Users」)を選択し、
ボタンをクリックします。ここではゲスト相当のユーザを作成してみましょう。
以下の項目を入力し、
をクリックしてください。エイリアス (ログインユーザ名) | user |
---|---|
名前 | Zabbix |
名字 | User |
パスワード | (パスワード) |
グループ | Guests |
一度ログアウトし、作成したユーザ(user)でログインできることを確認します。
ログアウトは右上の [ログアウト]([Logout])をクリックします。
ここからは実際に監視を行うための設定を行います。
最初に監視対象のホストを登録します。
次に、監視項目(アイテム)を登録するためのテンプレートを設定します。
アイテムは直接ホストに登録することもできますが、テンプレートを使用することで、複数のアイテムをグループ化してまとめて扱うことができるので便利です。
Zabbixではあらかじめさまざまなテンプレートが登録されていますので、これらをサンプルとして使うこともできます。ここでは新規にテンプレートを作成してみます。
以下の項目を入力し、
をクリックします。テンプレート名 | Test template (テンプレート名) |
---|---|
表示名 | テストテンプレート (管理画面上で表示する名前) |
グループ | Linux servers (所属グループ) |
ホスト / テンプレート In | zabbix-agent (テンプレートとリンクするホスト) |
テンプレート一覧に登録したテンプレートが表示されます
(項目数が多い場合は右上の「グループ」(「Group」)プルダウンメニューでLinux servers グループを選択してください)。
以上で、ホストとリンクしたテンプレートが作成できました。
続いて、作成したテンプレートに監視項目を登録します。
Zabbix では監視項目をアイテムと呼びます。
アイテムはホストもしくはテンプレートに対して登録します。
ここでは、例として監視対象サーバの CPU 使用率を取得するアイテムを作成します。
以下の項目を入力し、
をクリックします。「キー」(「Key」)の[選択]([Select])をクリックすると別ウィンドウが開き、キーを一覧から選択することができます。
「system.cpu.util[,,]」は、「すべての CPU の最近 1 分間の平均使用率」という意味になります。
名前 | CPU usage (アイテム名) |
---|---|
タイプ | Zabbixエージェント (アイテムのタイプ) |
キー | system.cpu.util[,,] |
データ型 | 数値 (浮動小数) |
更新間隔(秒) | 30 |
アイテム一覧に登録したアイテムが表示されます。
以上で、テンプレートへのアイテムの登録が完了しました。
実際に監視対象から情報を取得できているかどうかを見てみましょう。
監視データ(Monitoring) → 最新データ(Latest data) を選択し、zabbix-agent の左の をクリックしてください。
以下のように CPU 使用率が取得できているでしょうか。
グラフ(Graph) をクリックすると過去の履歴をグラフで参照することができます。
今回は、Zabbix をインストールし、監視対象と監視項目を設定して実際に監視が行えるようになるまでを解説しました。
次回は、その他の監視項目や、障害の発生を検知してアラートメールを送信したり、より便利に監視を行うための機能を紹介します。
03-5979-2701 |