3 ソースコードからのインストール
Zabbixの最新バージョンはソースからコンパイルすることで入手できます。
Zabbixをソースからインストールするためのステップバイステップのチュートリアルはこちらです。
Zabbixデーモンのインストール
1 ソースアーカイブのダウンロード
Zabbixダウンロードページにアクセスし、 ソースアーカイブをダウンロードします。ダウンロード後、次を実行して ソースを展開します。
tar -zxvf zabbix-7.4.0.tar.gz
コマンドには正しいZabbixのバージョンを入力してください。ダウンロードした アーカイブの名前と一致している必要があります。
2 ユーザーアカウントの作成
すべてのZabbixデーモンプロセスは、権限のないシステムユーザーで実行されます。 Zabbixデーモンが権限のないユーザーアカウントから起動された場合、そのユーザーとして実行され続けます。
デフォルト設定では、デーモンが'root'として起動された場合、'zabbix'ユーザーアカウントに切り替わります。したがって、このアカウントが存在する必要があります。
zabbixシステムユーザーとグループを作成するには、以下のコマンドを実行します。
RedHatベースのシステム:
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
Debianベースのシステム:
addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix
Zabbix フロントエンド用に別のユーザーアカウントを作成する必要はありません。
セキュリティに関する推奨事項
Zabbixサーバーとエージェントを同じマシンで実行する場合は、別々のユーザーアカウントで実行することをお勧めします。両方を同じユーザーで実行すると、エージェントがサーバーの設定ファイルにアクセスできるようになるため、データベースのパスワードといった機密情報がZabbixの管理者レベルのユーザーに公開される可能性があります。
Zabbixを root、bin、または特別な権限を持つその他のアカウントで実行すると、セキュリティリスクが生じます。
ホームディレクトリ (オプション)
Zabbixプロセスにはホームディレクトリは必要ないため、通常は作成しないことをお勧めします。
ただし、ホームディレクトリを必要とする機能(例: MySQL認証情報を$HOME/.my.cnfに保存する)が必要な場合は、次のコマンドを実行してホームディレクトリを作成できます。
RedHatベースのシステムの場合:
mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
chown zabbix:zabbix /usr/lib/zabbix
Debianベースのシステムの場合:
mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
chown zabbix:zabbix /var/lib/zabbix
3 Zabbixデータベースの作成
Zabbixサーバーやプロキシデーモン、Zabbixフロントエンドには、データベースが必要です。 Zabbixエージェントの実行には必要ありません。
データベーススキーマを作成し、データセットを挿入するためのSQLスクリプトが提供されています。 Zabbixプロキシデータベースにはスキーマのみが必要ですが、Zabbixサーバーデータベースにはスキーマ上のデータセットも必要です。
Zabbixデータベースを作成したら、次のZabbixのコンパイル手順に進みます。
4 ソースを設定する
Zabbixサーバー、Zabbixプロキシ、またはZabbixエージェントをビルドするには、GNU拡張を含むC99が必要です。 このバージョンは、CFLAGS="-std=gnu99"を設定して明示的に指定できます。
export CFLAGS="-std=gnu99"
Zabbix Gitリポジトリからインストールする場合は、最初に次のコマンドを実行する必要があります。
./bootstrap.sh
Zabbixサーバーまたはプロキシのソースを設定する場合は、使用するデータベースの種類を指定する必要があります。サーバーまたはプロキシのプロセスでコンパイルできるデータベースの種類は、一度に1つだけです。
サポートされている設定オプションをすべて確認するには、展開したZabbixソースディレクトリ内で次のコマンドを実行します。
./configure --help
Zabbixサーバーおよびエージェントのソースを設定するには、次のようなコマンドを実行します。
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-ares
Zabbixサーバー(PostgreSQLなどを使用)のソースを設定するには、次のようなコマンドを実行します。
./configure --enable-server --with-postgresql --with-net-snmp
Zabbixプロキシ(SQLiteなどを使用)のソースを設定するには、次のようなコマンドを実行します。
./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2
Zabbixエージェントのソースを設定するには、次のようなコマンドを実行します。
./configure --enable-agent
または、Zabbixエージェント2の場合は次のコマンドを実行します。
./configure --enable-agent2
Zabbixエージェント2をビルドするには、サポート対象のGoバージョンをインストールする必要があります。
コンパイルオプションに関する注意事項:
--enable-agent- Zabbixエージェントに加えて、Zabbix getおよびZabbix senderのコマンドラインユーティリティをコンパイルします。--with-libcurl- 仮想マシンの監視、SMTP認証、およびweb.page.*のZabbixエージェントのアイテムに必要です。詳細については、要件(libcurl)も参照してください。--with-libxml2- 仮想マシンの監視に必要です。--with-libpcre2[=DIR]- Zabbixは常にPCRE2ライブラリを使用してコンパイルされます。このオプションでは、カスタムPCRE2のインストールパスのみ指定できます。--with-mysql=/path/to/mysql_config- 特定のMySQLクライアントライブラリ設定へのパスを指定します。複数のバージョンのMySQLまたはMariaDBがインストールされている場合に便利です。--enable-static- ライブラリを静的にリンクします(Solarisではサポートされていません)。必要なライブラリがないシステムにコンパイル済みバイナリを配布する予定がある場合に使用します。Zabbixサーバーのビルド時には推奨されません。サーバーを静的にビルドするには、すべての外部ライブラリの静的バージョンが必要です。configureスクリプトはこれを自動的に確認しません。--with-stacksize=<value>- スレッドごとのスタックサイズをキロバイト単位で設定します(例:--with-stacksize=512)。スタックオーバーフローが原因でZabbixがクラッシュまたはフリーズする場合(デフォルトのスレッドスタック制限が低いシステムでの前処理中など)は、この値を増やすことができます。
ライブラリが見つからないなどの問題により./configureが失敗した場合は、詳細なエラー情報を確認するためにconfig.logファイルを確認してください。
たとえば、libsslが見つからない場合、最初に表示されるエラーメッセージは誤解を招く可能性があります。
checking for main in -lmysqlclient... no
configure: error: Not found mysqlclient library
この場合、config.logには実際の原因が示されます。
/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
関連項目:
5 すべてをビルドしてインストールする
Zabbix Gitリポジトリ からインストールする場合は、 最初に次を実行する必要があります:
$ make dbschema
make install
この手順は、十分な権限を持つユーザーとして実行する必要があります(通常は
root、または sudo を使用します)。
make install を実行すると、デフォルトではデーモンバイナリ
(zabbix_server、zabbix_agentd、zabbix_proxy)が /usr/local/sbin に、
クライアントバイナリ(zabbix_get、zabbix_sender)が /usr/local/bin に
インストールされます。
/usr/local 以外の場所を指定するには、ソースの設定を行う前の手順で
--prefix キーを使用します。たとえば、
--prefix=/home/zabbix です。この場合、デーモンバイナリは
<prefix>/sbin に、ユーティリティは <prefix>/bin にインストールされます。
マニュアルページは <prefix>/share にインストールされます。
6 設定ファイルの確認と編集
- Zabbix エージェント設定ファイル(
zabbix_agentd.conf)を編集します。
zabbix_agentd がインストールされているすべてのホストで、このファイルを設定する必要があります。
ファイル内で Zabbix サーバーの IP アドレス を指定する必要があります。 他のホストからの接続は拒否されます。
- Zabbix サーバー設定ファイル(
zabbix_server.conf)を編集します。
データベース名、ユーザー、パスワード(使用する場合)を指定する必要があります。
小規模なインストール(監視対象ホストが10台まで)であれば、残りのパラメータはデフォルト値のままで問題ありません。ただし、Zabbix サーバー(またはプロキシ)のパフォーマンスを最大限に高めたい場合は、デフォルトのパラメータを変更してください。
- Zabbix プロキシをインストールしている場合は、プロキシ設定ファイル(
zabbix_proxy.conf)を編集します。
サーバーの IP アドレスとプロキシのホスト名(サーバーが認識できる名前)、およびデータベース名、ユーザー、パスワード(使用する場合)を指定する必要があります。
SQLite を使用する場合は、データベースファイルの完全なパスを指定する必要があります。DB ユーザーとパスワードは必要ありません。
7 デーモンを起動する
サーバー側で zabbix_server を実行します。
zabbix_server
システムで 36MB の共有メモリ(またはそれより少し多い容量)を割り当てられることを確認してください。そうでない場合、サーバーは起動せず、サーバーログファイルに "Cannot allocate shared memory for <type of cache>." と表示されます。これは FreeBSD、Solaris 8 で発生することがあります。
監視対象のすべてのマシンで zabbix_agentd を実行します。
zabbix_agentd
システムで 2MB の共有メモリを割り当てられることを確認してください。そうでない場合、エージェントは起動せず、エージェントログファイルに "Cannot allocate shared memory for collector." と表示されます。これは Solaris 8 で発生することがあります。
Zabbix プロキシをインストールしている場合は、zabbix_proxy を実行します。
zabbix_proxy
Zabbix Webインターフェースのインストール
PHPファイルのコピー
ZabbixフロントエンドはPHPで書かれているため、それを実行するにはPHPをサポートするWebサーバーが必要です。 インストールは、PHPファイルをuiディレクトリからWebサーバーのHTMLドキュメントディレクトリにコピーするだけで行われます。
Apache WebサーバーのHTMLドキュメントディレクトリの一般的な場所は次のとおりです。
- /usr/local/apache2/htdocs (Apacheをソースからインストールする場合のデフォルトディレクトリ)
- /srv/www/htdocs (OpenSUSE, SLES)
- /var/www/html (Debian, Ubuntu, Fedora, RHEL)
HTMLルートの代わりにサブディレクトリを使用することをお勧めします。 サブディレクトリを作成し、そこにZabbixフロントエンドファイルをコピーするには、次のコマンドの<htdocs>を実際のディレクトリを置き換えて実行します。
mkdir <htdocs>/zabbix
cd ui
cp -a . <htdocs>/zabbix
英語以外の言語を使用する場合は、追加のフロントエンド言語のインストールで手順を参照してください。
Webインターフェースのインストール
Zabbix Webインターフェースのインストールウィザードの詳細については、Webインターフェースのインストールページを参照してください。
Zabbixエージェント 2 のロード可能プラグインのインストール
Zabbixエージェント 2 のロード可能プラグインのインストールは、組み込みプラグインで対応していない監視対象(例: MongoDBサーバーまたはクラスター、PostgreSQL およびその派生版など)を監視したい場合にのみ必要です。
ロード可能プラグイン および 組み込みプラグイン の完全な一覧を参照してください。
プラグインをインストールする前に、README ファイルを確認してください。
固有の要件やインストール手順が記載されている場合があります。
ソースからインストールするには、まず ダウンロード して、ロード可能プラグインのソースアーカイブを展開します。
プラグインをコンパイルするには、展開したプラグインディレクトリに移動して make を実行します。
make
Zabbixエージェント 2 のロード可能プラグインをビルドするには、サポートされている Go バージョン がインストールされている必要があります。
プラグインの実行ファイルは、Zabbixエージェント 2 からロード可能である限り、任意の場所に配置できます。
プラグイン設定ファイルで、プラグインバイナリへのパスを指定してください。たとえば、PostgreSQL プラグインの postgresql.conf では次のように指定します。
Plugins.PostgreSQL.System.Path=/path/to/executable/zabbix-agent2-plugin-postgresql
プラグイン設定ファイルへのパスは、Zabbixエージェント 2 設定ファイルの Include パラメータで指定する必要があります。
Include=/path/to/plugin/configuration/file/postgresql.conf
プラグインの設定の詳細については、セットアップ に進んでください。
Zabbix が提供するロード可能プラグインでは、以下のビルドターゲットを持つシンプルな makefile が使用されています。
make- プラグインをビルドしますmake clean- プラグインのビルドによって作成されたすべてのファイルを削除しますmake check- セルフテストを実行します(実際の監視対象が必要です。例: PostgreSQL データベース)make style-golangci-lintを使用して Go コードのスタイルをチェックしますmake format-go fmtを使用して Go コードを整形しますmake dist- すべての依存関係を含むソースアーカイブを作成します
Javaゲートウェイのインストール
Javaゲートウェイのインストールが必要なのは、JMXアプリケーションを監視したい場合のみです。Javaゲートウェイは軽量で、データベースを必要としません。
ソースからインストールするには、まずダウンロードしてソースアーカイブを展開します。
Javaゲートウェイをコンパイルするには、./configure スクリプトを --enable-java オプション付きで実行します。デフォルトの /usr/local 以外のインストール先を指定するために、--prefix オプションを指定することを推奨します。これは、Javaゲートウェイのインストールによって単一の実行ファイルではなく、ディレクトリツリー全体が作成されるためです。
./configure --enable-java --prefix=$PREFIX
Javaゲートウェイをコンパイルして JAR ファイルにパッケージ化するには、make を実行します。この手順では、javac と jar の実行ファイルがパス上にある必要があります。
make
これで、src/zabbix_java/bin に zabbix-java-gateway-$VERSION.jar ファイルが作成されます。配布ディレクトリ内の src/zabbix_java から Javaゲートウェイを実行することに問題がなければ、Javaゲートウェイ の設定と実行に関する手順に進めます。そうでない場合は、十分な権限があることを確認して make install を実行してください。
make install
Javaゲートウェイの設定と実行の詳細については、セットアップ に進んでください。
Zabbix web serviceのインストール
Zabbix web serviceのインストールは、スケジュールレポートを使用する場合にのみ必要です。
ソースからインストールするには、まずダウンロードしてソースアーカイブを展開します。
Zabbix web serviceをコンパイルするには、./configure スクリプトを --enable-webservice オプション付きで実行します。
Zabbix web serviceをビルドするには、サポートされているGoのバージョンがインストールされている必要があります。
web serviceがインストールされているマシンで zabbix_web_service を実行します:
zabbix_web_service
スケジュールレポート生成の設定の詳細については、セットアップに進んでください。