「Zabbix」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(update Pkg/AUR templates)
 
(3人の利用者による、間の9版が非表示)
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}}{{Broken package link|package not found}} をインストールしてください。データベースバックエンドとして [[PostgreSQL|PostgreSQL]] を使う場合は、{{Pkg|zabbix-server}} を使って下さい。また、PHP をサポートしているウェブサーバーを選ぶ必要があります。例えば:
 
  +
==== サーバーのインストール ====
*[[LAMP|Apache]]
 
  +
*[[Lighttpd|Lighttpd]]
 
  +
{{Pkg|zabbix-server}} パッケージをインストールします。これには、MariaDB または PostgreSQL で使用するために必要なスクリプトが含まれています。
*[[Nginx|NginX]]
 
  +
または[[:Category:ウェブサーバー|ウェブサーバー]]カテゴリにある他のサーバーを選んで下さい。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 のドキュメントルートへシンボリックリンクを作成してください、例:
  +
 
$ ln -s /usr/share/webapps/zabbix /srv/http/zabbix
 
$ ln -s /usr/share/webapps/zabbix /srv/http/zabbix
  +
{{ic|php.ini}} で最低でも以下の変数を設定するようにします:
 
  +
Apache をそのまま動作させるには、PHP 統合を有効にする必要があります:
{{hc|/etc/php/php.ini|
 
  +
<nowiki>extension=bcmath.so
 
  +
* 参照 [[Apache HTTP Server#php-fpm と mod_proxy_fcgi を使う|php-fpm と mod_proxy_fcgi を使う]]
extension=gd.so
 
  +
extension=sockets.so
 
  +
{{ic|/etc/php/php.ini}} で次の変数を調整します:
extension=mysqli.so
 
  +
post_max_size = 16M
 
  +
extension=bcmath
max_execution_time = 300
 
  +
extension=gd
max_input_time = 300
 
  +
extension=sockets
date.timezone = "UTC"
 
  +
extension=mysqli
</nowiki>}}
 
  +
extension=gettext
この例では、ローカルホストにパスワードが {{ic|test}} のユーザー {{ic|zabbix}} に {{ic|zabbix}} という名前の MariaDB データベースを作成してデータベースのテンプレートをインポートします。この接続は後で Zabbix サーバーとウェブアプリケーションによって使われます:
 
  +
post_max_size = 16M
$ mysql -u root -p -e "create database zabbix"
 
  +
max_execution_time = 300
$ mysql -u root -p -e "grant all on zabbix.* to zabbix@localhost identified by 'test'"
 
  +
max_input_time = 300
$ mysql -u zabbix -p zabbix < /usr/share/zabbix/database/schema.sql
 
  +
date.timezone = "UTC"
$ mysql -u zabbix -p zabbix < /usr/share/zabbix/database/images.sql
 
  +
$ mysql -u zabbix -p zabbix < /usr/share/zabbix/database/data.sql
 
  +
{{Tip|[[Apache HTTP Server#php-fpm と mod_proxy_fcgi を使う|php-fpm と mod_proxy_fcgi]] を使用している場合は、{{ic|php-fpm.service}} の [[再起動]] が必要になる場合があります。}}
  +
  +
=== データベースの初期化 ===
  +
  +
==== 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
  +
DBUser=zabbix
  +
DBPassword=test
  +
LogType=system
  +
}}
  +
  +
=== ICMP/ping の検出 ===
  +
  +
Zabbix で ICMP 検出 (ping など) を使用するには、{{Pkg|fping}} パッケージを [[インストール]] します。
   
 
=== 起動 ===
 
=== 起動 ===
   
{{ic|zabbix-server}} サービスを[[起動]][[有効化]]してください。
+
[[MariaDB]] を使用する場合 {{ic|zabbix-server-mysql}} サービスを[[起動]]/[[有効化]]してください。PostgreSQL を使用している場合は、zabbix-server-pgsql.service ユニットを有効化して起動します
   
最後に、ローカルウェブサーバーを通して Zabbix にアクセスできるので (例: http://127.0.0.1/zabbix )、インストールウィザードを完了してフロントエンドにアクセスしてください。デフォルトのユーザー名は '''Admin''' でパスワードは '''zabbix''' です
+
最後に、ローカルウェブサーバーを通して Zabbix にアクセスできるので (例: http://localhost/zabbix/)、インストールウィザードを完了してフロントエンドにアクセスしてください。
  +
  +
デフォルトのユーザー名は {{ic|Admin}} でパスワードは {{ic|zabbix}} です。
   
 
手順が全て説明されている公式ドキュメントへのリンクは下の参照を見て下さい。
 
手順が全て説明されている公式ドキュメントへのリンクは下の参照を見て下さい。
43行目: 105行目:
 
==エージェント (クライアント) のセットアップ ==
 
==エージェント (クライアント) のセットアップ ==
 
=== インストール ===
 
=== インストール ===
目下、サーバーパッケージ {{Pkg|zabbix-agent}} が含まれているため、監視サーバーにこのパッケージをインストールする必要はありません。監視対象には、クライアント部分がもっと簡素でスタンドアロンで配置やすため、{{Pkg|zabbix-agent}} だけをインストールしてください。
+
各監視先マシンに {{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 のサーバーだけがエージェントにアクセスできるように許可されます。
52行目: 115行目:
   
 
=== 起動 ===
 
=== 起動 ===
{{ic|zabbix-agentd}} サービスを[[起動]]・[[有効化]]してください。
+
{{ic|zabbix-agent}} サービスを[[起動]]・[[有効化]]してください。
  +
  +
== ヒントとテクニック ==
   
== 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 のシステムアップデートの監視 ===
  +
 
以下は {{ic|UserParameter}} パラメータを使って ArchLinux クライアントのシステムアップデートを監視する方法です:
 
以下は {{ic|UserParameter}} パラメータを使って ArchLinux クライアントのシステムアップデートを監視する方法です:
  +
{{hc|/etc/zabbix/zabbix_agentd.conf|<nowiki>Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf</nowiki>}}
 
  +
{{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>}}
 
{{hc|/etc/zabbix/zabbix_agentd.conf.d/archlinuxupdates.conf|<nowiki>UserParameter=archlinuxupdates,checkupdates | wc -l</nowiki>}}
   
 
{{ic|zabbix-agentd}} を再起動して設定を適用してください。後でウェブフロントエンドで使用するアイテムのキーワードは {{ic|archlinuxupdates}} です。利用可能なアップデートの数が返ってきます。
 
{{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 テンプレート、モジュールなど

2024年3月30日 (土) 22:54時点における最新版

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"
ヒント: php-fpm と mod_proxy_fcgi を使用している場合は、php-fpm.service再起動 が必要になる場合があります。

データベースの初期化

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 サービスを起動/有効化してください。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 を使う

参照