Zabbix (日本語) - ArchWiki

# Zabbix (日本語)

Zabbix は大規模ネットワークのためのフル機能の監視ソリューションです。様々な方法のあらゆるネットワークデバイスを嗅ぎ分けて、マシンの状態とアプリケーションをチェックし、事前に設定したアラームメッセージを送信したり複雑なデータの相関関係を視覚化することができます。

## サーバーのセットアップ

### インストール

MariaDB で Zabbix サーバーを使いたい場合は、AUR から zabbix-server-mysql をインストールしてください。データベースバックエンドとして PostgreSQL を使う場合は、zabbix-server を使って下さい。また、PHP をサポートしているウェブサーバーを選ぶ必要があります。例えば:

- Apache
- Lighttpd
- NginX

またはウェブサーバーカテゴリにある他のサーバーを選んで下さい。Nginx をウェブサーバーに使うときは、デフォルトでは apache と php-apache が依存パッケージになっている場合、PKGBUILD を編集すると良いでしょう。

### 設定

Zabbix のウェブアプリケーションディレクトリから http のドキュメントルートへシンボリックリンクを作成してください、例:

    ln -s /usr/share/webapps/zabbix /var/www

`php.ini` で最低でも以下の変数を設定するようにします:

    /etc/php/php.ini

    extension=bcmath.so
    extension=gd.so
    extension=sockets.so
    post_max_size = 16M
    max_execution_time = 300
    max_input_time = 300
    date.timezone = "UTC"

この例では、ローカルホストにパスワードが `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 < /etc/zabbix/database/schema.sql
    mysql -u zabbix -p zabbix < /etc/zabbix/database/images.sql
    mysql -u zabbix -p zabbix < /etc/zabbix/database/data.sql

データベースの設定は `zabbix_server.conf` で調整します:

    /etc/zabbix/zabbix_server.conf

    DBHost=mysql.local
    DBName=zabbix
    DBUser=zabbix
    DBPassword=test

### 起動

サーバープロセスを有効化・起動するには、次を実行してください:

    systemctl enable zabbix-server
    systemctl start zabbix-server

最後に、ローカルウェブサーバーを通して Zabbix にアクセスできるので (例: http://127.0.0.1/zabbix )、インストールウィザードを完了してフロントエンドにアクセスしてください。デフォルトのユーザー名は Admin でパスワードは zabbix です。

手順が全て説明されている公式ドキュメントへのリンクは下の参照を見て下さい。

## エージェント (クライアント) のセットアップ

### インストール

目下、サーバーパッケージには zabbix-agent が含まれているため、監視サーバーにこのパッケージをインストールする必要はありません。監視対象には、クライアント部分がもっと簡素でスタンドアロンで配置しやすいため、zabbix-agent だけをインストールしてください。

### 設定

`zabbix_agentd.conf` を編集して server 変数をあなたの監視サーバーの IP に置き換えてください。この IP のサーバーだけがエージェントにアクセスできるように許可されます。

    /etc/zabbix/zabbix_agentd.conf

    Server=127.0.0.1
    ServerActive=

さらに監視するデバイスのポート `10050` がブロックされていないこと、適切に開かれていることを確認してください。

### 起動

エージェントを有効化・起動するには、次を実行して下さい:

    systemctl enable zabbix-agentd
    systemctl start 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 のシステムアップデートの監視

以下は ArchLinux クライアントのシステムアップデートを監視する方法です:

    /etc/zabbix/zabbix_agentd.conf

    UserParameter=archlinuxupdates,if [ -d /tmp/pacmandb ]; then fakeroot pacman -Syup --dbpath /tmp/pacmandb | grep "pkg.tar.xz" -c; else mkdir /tmp/pacmandb && ln -s /var/lib/pacman/local /tmp/pacmandb && fakeroot pacman -Syup --dbpath /tmp/pacmandb | grep "pkg.tar.xz" -c; fi

後でウェブフロントエンドで使用するアイテムのキーワードは `archlinuxupdates` です。利用可能なアップデートの数が返ってきます。

## 参照

- Official manual for version 2.0

Category:

- Network monitoring (日本語)