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 エージェントをビルドするには、C99 に GNU 拡張が必要です。
このバージョンは、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 repository からインストールする場合は、最初に次を実行する必要があります:
$ 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ゲートウェイのインストール
Javaゲートウェイのインストールが必要なのは、JMXアプリケーションを監視したい場合のみです。Javaゲートウェイは軽量で、データベースを必要としません。
ソースからインストールするには、まずダウンロードしてソースアーカイブを展開します。
Javaゲートウェイをコンパイルするには、--enable-java オプションを指定して ./configure スクリプトを実行します。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 serviceのインストール
Zabbix web serviceのインストールは、スケジュールレポートを使用する場合にのみ必要です。
ソースからインストールするには、まずダウンロードしてソースアーカイブを展開します。
Zabbix web serviceをコンパイルするには、./configure スクリプトを --enable-webservice オプション付きで実行します。
Zabbix web serviceをビルドするには、サポート対象のGoバージョンがインストールされている必要があります。
web serviceがインストールされているマシンで zabbix_web_service を実行します:
zabbix_web_service
スケジュールレポート生成の設定の詳細については、セットアップに進んでください。