Zabbix
Zabbix は大規模ネットワークのためのフル機能の監視ソリューションです。様々な方法のあらゆるネットワークデバイスを嗅ぎ分けて、マシンの状態とアプリケーションをチェックし、事前に設定したアラームメッセージを送信したり複雑なデータの相関関係を視覚化することができます。
目次
サーバーのセットアップ
インストール
MariaDB で Zabbix サーバーを使いたい場合は、AUR から zabbix-server-mysqlAUR をインストールしてください。データベースバックエンドとして PostgreSQL を使う場合は、zabbix-serverAUR を使って下さい。また、PHP をサポートしているウェブサーバーを選ぶ必要があります。例えば:
またはウェブサーバーカテゴリにある他のサーバーを選んで下さい。Nginx をウェブサーバーに使うときは、デフォルトでは apache と php-apache が依存パッケージになっている場合、PKGBUILD を編集すると良いでしょう。
設定
Zabbix のウェブアプリケーションディレクトリから http のドキュメントルートへシンボリックリンクを作成してください、例:
$ ln -s /usr/share/webapps/zabbix /srv/http/zabbix
php.ini
で最低でも以下の変数を設定するようにします:
/etc/php/php.ini
extension=bcmath.so extension=gd.so extension=sockets.so extension=mysqli.so post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = "UTC" always_populate_raw_post_data = -1
この例では、ローカルホストにパスワードが test
のユーザー zabbix
に zabbix
という名前の MariaDB データベースを作成してデータベースのテンプレートをインポートします。この接続は後で Zabbix サーバーとウェブアプリケーションによって使われます:
$ mysql -u root -p -e "create database zabbix" $ mysql -u root -p -e "grant all on zabbix.* to zabbix@localhost identified by 'test'" $ mysql -u zabbix -p zabbix < /usr/share/zabbix/database/schema.sql $ mysql -u zabbix -p zabbix < /usr/share/zabbix/database/images.sql $ mysql -u zabbix -p zabbix < /usr/share/zabbix/database/data.sql
起動
zabbix-server
サービスを起動・有効化してください。
最後に、ローカルウェブサーバーを通して Zabbix にアクセスできるので (例: http://127.0.0.1/zabbix )、インストールウィザードを完了してフロントエンドにアクセスしてください。デフォルトのユーザー名は Admin でパスワードは zabbix です。
手順が全て説明されている公式ドキュメントへのリンクは下の参照を見て下さい。
エージェント (クライアント) のセットアップ
インストール
目下、サーバーパッケージには zabbix-agentAUR が含まれているため、監視サーバーにこのパッケージをインストールする必要はありません。監視対象には、クライアント部分がもっと簡素でスタンドアロンで配置しやすいため、zabbix-agentAUR だけをインストールしてください。
設定
zabbix_agentd.conf
を編集して server 変数をあなたの監視サーバーの IP に置き換えてください。この IP のサーバーだけがエージェントにアクセスできるように許可されます。
/etc/zabbix/zabbix_agentd.conf
Server=<IP of Zabbix server> ServerActive=<IP of Zabbix server>
さらに監視するデバイスのポート 10050
がブロックされていないこと、適切に開かれていることを確認してください。
起動
zabbix-agentd
サービスを起動・有効化してください。
Tips and tricks
Zabbix エージェントのデバッグ
クライアント側で、次のようにアイテムの状態を確認できます:
zabbix_agentd -t hdd.smart[sda,Temperature_Celsius]
サーバー・監視側では、次を試してみて下さい:
zabbix_get -s <hostname_or_IP> -k hdd.smart[sda,Temperature_Celsius]
ArchLinux のシステムアップデートの監視
以下は UserParameter
パラメータを使って ArchLinux クライアントのシステムアップデートを監視する方法です:
/etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf
/etc/zabbix/zabbix_agentd.conf.d/archlinuxupdates.conf
UserParameter=archlinuxupdates,checkupdates | wc -l
zabbix-agentd
を再起動して設定を適用してください。後でウェブフロントエンドで使用するアイテムのキーワードは archlinuxupdates
です。利用可能なアップデートの数が返ってきます。