「Zabbix」の版間の差分
細 (1版 をインポートしました) |
Kusanaginoturugi (トーク | 投稿記録) (→参照: 空行を削除) |
||
(4人の利用者による、間の16版が非表示) | |||
1行目: | 1行目: | ||
[[Category:ネットワーク監視]] |
[[Category:ネットワーク監視]] |
||
[[en:Zabbix]] |
[[en:Zabbix]] |
||
− | [[ru:Zabbix]] |
||
[http://zabbix.com/jp/ Zabbix] は大規模ネットワークのためのフル機能の監視ソリューションです。様々な方法のあらゆるネットワークデバイスを嗅ぎ分けて、マシンの状態とアプリケーションをチェックし、事前に設定したアラームメッセージを送信したり複雑なデータの相関関係を視覚化することができます。 |
[http://zabbix.com/jp/ Zabbix] は大規模ネットワークのためのフル機能の監視ソリューションです。様々な方法のあらゆるネットワークデバイスを嗅ぎ分けて、マシンの状態とアプリケーションをチェックし、事前に設定したアラームメッセージを送信したり複雑なデータの相関関係を視覚化することができます。 |
||
==サーバーのセットアップ == |
==サーバーのセットアップ == |
||
+ | |||
=== インストール === |
=== インストール === |
||
+ | |||
− | [[MariaDB|MariaDB]] で Zabbix サーバーを使いたい場合は、[[AUR|AUR]] から {{AUR|zabbix-server-mysql}} をインストールしてください。データベースバックエンドとして [[PostgreSQL|PostgreSQL]] を使う場合は、{{AUR|zabbix-server}} を使って下さい。また、PHP をサポートしているウェブサーバーを選ぶ必要があります。例えば: |
||
+ | ==== サーバーのインストール ==== |
||
− | *[[LAMP|Apache]] |
||
+ | |||
− | *[[Lighttpd|Lighttpd]] |
||
+ | {{Pkg|zabbix-server}} パッケージをインストールします。これには、MariaDB または PostgreSQL で使用するために必要なスクリプトが含まれています。 |
||
− | *[[Nginx|NginX]] |
||
+ | |||
− | または[[:Category:Web Server|ウェブサーバー]]カテゴリにある他のサーバーを選んで下さい。Nginx をウェブサーバーに使うときは、デフォルトでは {{Pkg|apache}} と {{Pkg|php-apache}} が依存パッケージになっている場合、[[PKGBUILD|PKGBUILD]] を編集すると良いでしょう。 |
||
+ | ==== データベースのインストール ==== |
||
+ | |||
+ | {{Pkg|mariadb}} パッケージまたは {{Pkg|postgresql}} パッケージのいずれかをインストールします。 |
||
+ | |||
+ | ==== フロントエンドのインストール ==== |
||
+ | |||
+ | {{Pkg|zabbix-frontend-php}} パッケージをインストールします。PHP をサポートする Web サーバーを選択する必要があります。例: |
||
+ | |||
+ | * [[Apache HTTP Server]] |
||
+ | * [[Lighttpd]] |
||
+ | * [[nginx]] |
||
+ | |||
+ | [[:カテゴリ:ウェブサーバー]] にあるサーバーの 1 つを選択することもできます。 |
||
===設定=== |
===設定=== |
||
+ | |||
Zabbix のウェブアプリケーションディレクトリから http のドキュメントルートへシンボリックリンクを作成してください、例: |
Zabbix のウェブアプリケーションディレクトリから http のドキュメントルートへシンボリックリンクを作成してください、例: |
||
+ | |||
− | {{bc|ln -s /usr/share/webapps/zabbix /var/www}} |
||
+ | $ ln -s /usr/share/webapps/zabbix /srv/http/zabbix |
||
− | {{ic|php.ini}} で最低でも以下の変数を設定するようにします: |
||
+ | |||
− | {{hc|/etc/php/php.ini| |
||
+ | Apache をそのまま動作させるには、PHP 統合を有効にする必要があります: |
||
− | <nowiki>extension=bcmath.so |
||
+ | |||
− | extension=gd.so |
||
+ | * 参照 [[Apache HTTP Server#php-fpm と mod_proxy_fcgi を使う|php-fpm と mod_proxy_fcgi を使う]] |
||
− | extension=sockets.so |
||
+ | |||
− | post_max_size = 16M |
||
+ | {{ic|/etc/php/php.ini}} で次の変数を調整します: |
||
− | max_execution_time = 300 |
||
+ | |||
− | max_input_time = 300 |
||
+ | extension=bcmath |
||
− | date.timezone = "UTC" |
||
+ | extension=gd |
||
− | </nowiki>}} |
||
+ | extension=sockets |
||
− | この例では、ローカルホストにパスワードが {{ic|test}} のユーザー {{ic|zabbix}} に {{ic|zabbix}} という名前の MariaDB データベースを作成してデータベースのテンプレートをインポートします。この接続は後で Zabbix サーバーとウェブアプリケーションによって使われます: |
||
+ | extension=mysqli |
||
− | {{bc|mysql -u root -p -e "create database zabbix" |
||
+ | extension=gettext |
||
− | mysql -u root -p -e "grant all on zabbix.* to zabbix@localhost identified by 'test'" |
||
+ | post_max_size = 16M |
||
− | mysql -u zabbix -p zabbix < /etc/zabbix/database/schema.sql |
||
+ | max_execution_time = 300 |
||
− | mysql -u zabbix -p zabbix < /etc/zabbix/database/images.sql |
||
+ | max_input_time = 300 |
||
− | mysql -u zabbix -p zabbix < /etc/zabbix/database/data.sql}} |
||
+ | date.timezone = "UTC" |
||
− | データベースの設定は {{ic|zabbix_server.conf}} で調整します: |
||
+ | |||
− | {{hc|/etc/zabbix/zabbix_server.conf| |
||
+ | {{Tip|[[Apache HTTP Server#php-fpm と mod_proxy_fcgi を使う|php-fpm と mod_proxy_fcgi]] を使用している場合は、{{ic|php-fpm.service}} の [[再起動]] が必要になる場合があります。}} |
||
− | <nowiki>DBHost=mysql.local |
||
+ | |||
+ | === データベースの初期化 === |
||
+ | |||
+ | ==== MariaDB ==== |
||
+ | |||
+ | この例では、パスワード {{ic|test}} で識別されるユーザー {{ic|zabbix}} 用に {{ic|zabbix}} という MariaDB データベースをローカルホスト上に作成し、データベーステンプレートをインポートします。この接続は、後で Zabbix サーバーと Web アプリケーションによって使用されます。 |
||
+ | |||
+ | {{Note|運用システムでは、パスワードをより安全なものに変更する必要があります。}} |
||
+ | |||
+ | MariaDB インストールでパスワード付きの {{ic|root}} アカウントを使用する場合は、次を使用します: |
||
+ | $ mariadb -u root -p -e "create database zabbix character set utf8 collate utf8_bin" |
||
+ | $ mariadb -u root -p -e "grant all on zabbix.* to zabbix@localhost identified by 'test'" |
||
+ | |||
+ | MariaDB インストールでパスワードなしの {{ic|root}} アカウントを使用する場合は、次を使用します: |
||
+ | # mariadb -e "create database zabbix character set utf8 collate utf8_bin" |
||
+ | # mariadb -e "grant all on zabbix.* to zabbix@localhost identified by 'test'" |
||
+ | |||
+ | 以下を使用してデータベーステンプレートをインポートします: |
||
+ | |||
+ | $ mariadb -u zabbix -p -D zabbix < /usr/share/zabbix-server/mysql/schema.sql |
||
+ | $ mariadb -u zabbix -p -D zabbix < /usr/share/zabbix-server/mysql/images.sql |
||
+ | $ mariadb -u zabbix -p -D zabbix < /usr/share/zabbix-server/mysql/data.sql |
||
+ | |||
+ | ==== PostgreSQL ==== |
||
+ | |||
+ | PostgreSQL の場合、これらのコマンドはユーザー {{ic|zabbix}} のデータベース {{ic|zabbix}} を作成します。これは {{ic|zabbix_server.conf}} のデフォルト設定であり、スキーマと初期データをインポートします: |
||
+ | |||
+ | $ createuser zabbix |
||
+ | $ createdb zabbix -O zabbix |
||
+ | $ cat /usr/share/zabbix-server/postgresql/{schema,images,data}.sql | psql -U zabbix -d zabbix |
||
+ | |||
+ | === データベースの設定 === |
||
+ | |||
+ | 次に、データベース設定を使用して {{ic|/etc/zabbix/zabbix_server.conf}} を編集します: |
||
+ | {{hc|/etc/zabbix/zabbix_server.conf|2= |
||
DBName=zabbix |
DBName=zabbix |
||
DBUser=zabbix |
DBUser=zabbix |
||
DBPassword=test |
DBPassword=test |
||
+ | LogType=system |
||
− | </nowiki>}} |
||
+ | }} |
||
+ | |||
+ | === ICMP/ping の検出 === |
||
+ | |||
+ | Zabbix で ICMP 検出 (ping など) を使用するには、{{Pkg|fping}} パッケージを [[インストール]] します。 |
||
=== 起動 === |
=== 起動 === |
||
+ | |||
− | サーバープロセスを有効化・起動するには、次を実行してください: |
||
+ | [[MariaDB]] を使用する場合 {{ic|zabbix-server-mysql.service}} ユニットを[[起動]]/[[有効化]]してください。PostgreSQL を使用している場合は、{{ic|zabbix-server-pgsql.service}} ユニットを有効化して起動します |
||
− | {{bc|systemctl enable zabbix-server |
||
+ | |||
− | systemctl start zabbix-server}} |
||
− | 最後に、ローカルウェブサーバーを通して Zabbix にアクセスできるので (例: http:// |
+ | 最後に、ローカルウェブサーバーを通して Zabbix にアクセスできるので (例: http://localhost/zabbix/)、インストールウィザードを完了してフロントエンドにアクセスしてください。 |
+ | |||
+ | デフォルトのユーザー名は {{ic|Admin}} でパスワードは {{ic|zabbix}} です。 |
||
手順が全て説明されている公式ドキュメントへのリンクは下の参照を見て下さい。 |
手順が全て説明されている公式ドキュメントへのリンクは下の参照を見て下さい。 |
||
49行目: | 105行目: | ||
==エージェント (クライアント) のセットアップ == |
==エージェント (クライアント) のセットアップ == |
||
=== インストール === |
=== インストール === |
||
− | + | 各監視先マシンに {{Pkg|zabbix-agent}} パッケージをインストールしてください。{{Pkg|zabbix-server}} をインストールした監視サーバーにもインストールしてください。{{Pkg|zabbix-server}} には {{ic|zabbix-agent}} は含まれていません。 |
|
+ | |||
===設定=== |
===設定=== |
||
{{ic|zabbix_agentd.conf}} を編集して server 変数をあなたの監視サーバーの IP に置き換えてください。この IP のサーバーだけがエージェントにアクセスできるように許可されます。 |
{{ic|zabbix_agentd.conf}} を編集して server 変数をあなたの監視サーバーの IP に置き換えてください。この IP のサーバーだけがエージェントにアクセスできるように許可されます。 |
||
{{hc|/etc/zabbix/zabbix_agentd.conf| |
{{hc|/etc/zabbix/zabbix_agentd.conf| |
||
− | <nowiki>Server= |
+ | <nowiki>Server=<IP of Zabbix server> |
− | ServerActive=</nowiki>}} |
+ | ServerActive=<IP of Zabbix server></nowiki>}} |
さらに監視するデバイスのポート {{ic|10050}} がブロックされていないこと、適切に開かれていることを確認してください。 |
さらに監視するデバイスのポート {{ic|10050}} がブロックされていないこと、適切に開かれていることを確認してください。 |
||
=== 起動 === |
=== 起動 === |
||
− | + | {{ic|zabbix-agent}} サービスを[[起動]]・[[有効化]]してください。 |
|
+ | |||
− | {{bc|systemctl enable zabbix-agentd |
||
+ | == ヒントとテクニック == |
||
− | systemctl start zabbix-agentd}} |
||
− | == Tips and tricks == |
||
=== Zabbix エージェントのデバッグ === |
=== Zabbix エージェントのデバッグ === |
||
+ | |||
クライアント側で、次のようにアイテムの状態を確認できます: |
クライアント側で、次のようにアイテムの状態を確認できます: |
||
+ | |||
− | {{bc|<nowiki>zabbix_agentd -t hdd.smart[sda,Temperature_Celsius]</nowiki>}} |
||
+ | $ zabbix_agentd -t hdd.smart[sda,Temperature_Celsius] |
||
+ | |||
サーバー・監視側では、次を試してみて下さい: |
サーバー・監視側では、次を試してみて下さい: |
||
+ | |||
− | {{bc|<nowiki>zabbix_get -s <hostname_or_IP> -k hdd.smart[sda,Temperature_Celsius]</nowiki>}} |
||
+ | $ zabbix_get -s ''host'' -k hdd.smart[sda,Temperature_Celsius] |
||
+ | |||
=== ArchLinux のシステムアップデートの監視 === |
=== ArchLinux のシステムアップデートの監視 === |
||
+ | |||
− | 以下は ArchLinux クライアントのシステムアップデートを監視する方法です: |
||
+ | 以下は {{ic|UserParameter}} パラメータを使って ArchLinux クライアントのシステムアップデートを監視する方法です: |
||
− | {{hc|/etc/zabbix/zabbix_agentd.conf|<nowiki>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</nowiki>}} |
||
+ | |||
− | 後でウェブフロントエンドで使用するアイテムのキーワードは {{ic|archlinuxupdates}} です。利用可能なアップデートの数が返ってきます。 |
||
+ | {{hc|/etc/zabbix/zabbix_agentd.conf|2=Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf}} |
||
+ | |||
+ | {{hc|/etc/zabbix/zabbix_agentd.conf.d/archlinuxupdates.conf|<nowiki>UserParameter=archlinuxupdates,checkupdates | wc -l</nowiki>}} |
||
+ | |||
+ | {{ic|zabbix-agentd}} を再起動して設定を適用してください。後でウェブフロントエンドで使用するアイテムのキーワードは {{ic|archlinuxupdates}} です。利用可能なアップデートの数が返ってきます。 |
||
+ | |||
+ | == トラブルシューティング == |
||
+ | |||
+ | === Error "Specified key was too long; max key length is 767 bytes" === |
||
+ | |||
+ | データベースのインポート時にこのエラーが表示されることがあります。MariaDB データベースのコードページ設定を変更することで解決できます: [[MariaDB#UTF8MB4 を使う]] |
||
== 参照 == |
== 参照 == |
||
+ | |||
− | * [https://www.zabbix.com/documentation/doku.php?id=2.0 Official manual for version 2.0] |
||
+ | * [https://www.zabbix.com/documentation/ 公式マニュアル] |
||
+ | * [https://share.zabbix.com/ Zabbix Share] – Zabbix テンプレート、モジュールなど |
||
+ | |||
+ | {{TranslationStatus|Zabbix|2024-5-20|787620}} |
2024年5月20日 (月) 10:15時点における最新版
Zabbix は大規模ネットワークのためのフル機能の監視ソリューションです。様々な方法のあらゆるネットワークデバイスを嗅ぎ分けて、マシンの状態とアプリケーションをチェックし、事前に設定したアラームメッセージを送信したり複雑なデータの相関関係を視覚化することができます。
サーバーのセットアップ
インストール
サーバーのインストール
zabbix-server パッケージをインストールします。これには、MariaDB または PostgreSQL で使用するために必要なスクリプトが含まれています。
データベースのインストール
mariadb パッケージまたは postgresql パッケージのいずれかをインストールします。
フロントエンドのインストール
zabbix-frontend-php パッケージをインストールします。PHP をサポートする Web サーバーを選択する必要があります。例:
カテゴリ:ウェブサーバー にあるサーバーの 1 つを選択することもできます。
設定
Zabbix のウェブアプリケーションディレクトリから http のドキュメントルートへシンボリックリンクを作成してください、例:
$ ln -s /usr/share/webapps/zabbix /srv/http/zabbix
Apache をそのまま動作させるには、PHP 統合を有効にする必要があります:
/etc/php/php.ini
で次の変数を調整します:
extension=bcmath extension=gd extension=sockets extension=mysqli extension=gettext post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = "UTC"
データベースの初期化
MariaDB
この例では、パスワード test
で識別されるユーザー zabbix
用に zabbix
という MariaDB データベースをローカルホスト上に作成し、データベーステンプレートをインポートします。この接続は、後で Zabbix サーバーと Web アプリケーションによって使用されます。
MariaDB インストールでパスワード付きの root
アカウントを使用する場合は、次を使用します:
$ mariadb -u root -p -e "create database zabbix character set utf8 collate utf8_bin" $ mariadb -u root -p -e "grant all on zabbix.* to zabbix@localhost identified by 'test'"
MariaDB インストールでパスワードなしの root
アカウントを使用する場合は、次を使用します:
# mariadb -e "create database zabbix character set utf8 collate utf8_bin" # mariadb -e "grant all on zabbix.* to zabbix@localhost identified by 'test'"
以下を使用してデータベーステンプレートをインポートします:
$ mariadb -u zabbix -p -D zabbix < /usr/share/zabbix-server/mysql/schema.sql $ mariadb -u zabbix -p -D zabbix < /usr/share/zabbix-server/mysql/images.sql $ mariadb -u zabbix -p -D zabbix < /usr/share/zabbix-server/mysql/data.sql
PostgreSQL
PostgreSQL の場合、これらのコマンドはユーザー zabbix
のデータベース zabbix
を作成します。これは zabbix_server.conf
のデフォルト設定であり、スキーマと初期データをインポートします:
$ createuser zabbix $ createdb zabbix -O zabbix $ cat /usr/share/zabbix-server/postgresql/{schema,images,data}.sql | psql -U zabbix -d zabbix
データベースの設定
次に、データベース設定を使用して /etc/zabbix/zabbix_server.conf
を編集します:
/etc/zabbix/zabbix_server.conf
DBName=zabbix DBUser=zabbix DBPassword=test LogType=system
ICMP/ping の検出
Zabbix で ICMP 検出 (ping など) を使用するには、fping パッケージを インストール します。
起動
MariaDB を使用する場合 zabbix-server-mysql.service
ユニットを起動/有効化してください。PostgreSQL を使用している場合は、zabbix-server-pgsql.service
ユニットを有効化して起動します
最後に、ローカルウェブサーバーを通して Zabbix にアクセスできるので (例: http://localhost/zabbix/)、インストールウィザードを完了してフロントエンドにアクセスしてください。
デフォルトのユーザー名は Admin
でパスワードは zabbix
です。
手順が全て説明されている公式ドキュメントへのリンクは下の参照を見て下さい。
エージェント (クライアント) のセットアップ
インストール
各監視先マシンに zabbix-agent パッケージをインストールしてください。zabbix-server をインストールした監視サーバーにもインストールしてください。zabbix-server には zabbix-agent
は含まれていません。
設定
zabbix_agentd.conf
を編集して server 変数をあなたの監視サーバーの IP に置き換えてください。この IP のサーバーだけがエージェントにアクセスできるように許可されます。
/etc/zabbix/zabbix_agentd.conf
Server=<IP of Zabbix server> ServerActive=<IP of Zabbix server>
さらに監視するデバイスのポート 10050
がブロックされていないこと、適切に開かれていることを確認してください。
起動
zabbix-agent
サービスを起動・有効化してください。
ヒントとテクニック
Zabbix エージェントのデバッグ
クライアント側で、次のようにアイテムの状態を確認できます:
$ zabbix_agentd -t hdd.smart[sda,Temperature_Celsius]
サーバー・監視側では、次を試してみて下さい:
$ zabbix_get -s host -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
です。利用可能なアップデートの数が返ってきます。
トラブルシューティング
Error "Specified key was too long; max key length is 767 bytes"
データベースのインポート時にこのエラーが表示されることがあります。MariaDB データベースのコードページ設定を変更することで解決できます: MariaDB#UTF8MB4 を使う
参照
- 公式マニュアル
- Zabbix Share – Zabbix テンプレート、モジュールなど