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 agent 2 の場合は次を実行します。
./configure --enable-agent2
Zabbix agent 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にインストールされます。 manページは<prefix>/shareの下にインストールされます。
6 設定ファイルの確認と編集
- Zabbixエージェント設定ファイル/usr/local/etc/zabbix_agentd.confを編集します
zabbix_agentdがインストールされているすべてのホストに対してこのファイルを設定する必要があります。
ファイル内でZabbixサーバーのIPアドレスを指定する必要があります。 他のホストからの接続は拒否されます。
- Zabbixサーバー設定ファイル/usr/local/etc/zabbix_server.confを編集します
データベース名、ユーザー、およびパスワード (使用している場合) を指定する必要があります。
小規模なインストール (監視対象ホストが最大10台) の場合、残りのパラメーターはデフォルトのままで問題ありません。 ただし、Zabbixサーバー (またはプロキシ) のパフォーマンスを最大化したい場合は、デフォルトのパラメーターを変更する必要があります。
- Zabbixプロキシをインストールしている場合は、プロキシ設定ファイル/usr/local/etc/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ゲートウェイのインストール
JMXアプリケーションを監視したい場合にのみ、Javaゲートウェイのインストールが必要です。Javaゲートウェイは軽量で、データベースを必要としません。
ソースからインストールするには、まずソースアーカイブをダウンロードして展開します。
Javaゲートウェイをコンパイルするには、./configureスクリプトを--enable-javaオプション付きで実行します。Javaゲートウェイをインストールすると、単一の実行ファイルだけでなくディレクトリツリー全体が作成されるため、デフォルトの/usr/local以外のインストール先を指定するために、--prefixオプションを指定することを推奨します。
./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サービスのインストール
Zabbix webサービスのインストールは、 定期レポートを使用する場合にのみ必要です。
ソースからインストールするには、まず ダウンロードして ソースアーカイブを展開します。
Zabbix webサービスをコンパイルするには、./configure スクリプトを
--enable-webservice オプション付きで実行します。
Zabbix webサービスをビルドするには、サポートされているGoのバージョンがインストールされている必要があります。
webサービスがインストールされているマシンで zabbix_web_service を実行します。
zabbix_web_service
定期レポート生成の設定の詳細については、 セットアップに進んでください。