This is a translation of the original English documentation page. Help us make it better.

3 ソースコードからのインストール

Zabbixの最新バージョンはソースからコンパイルすることで入手できます。

Zabbixをソースからインストールするためのステップバイステップのチュートリアルはこちらです。

1 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を rootbin、または特別な権限を持つその他のアカウントで実行すると、セキュリティリスクが生じます。

ホームディレクトリ (オプション)

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バージョンで構成されたGo環境が必要です。

コンパイルオプションに関する注意事項:

  • --enable-agentオプションが使用されている場合、コマンドラインユーティリティzabbix_getおよびzabbix_senderがコンパイルされます。
  • 仮想マシンの監視には--with-libcurlおよび--with-libxml2構成オプションが必要です。--with-libcurlは、SMTP認証とZabbixエージェントアイテムweb.page.*にも必要です。--with-libcurl構成オプションを使用するには、cURL 7.20.0以降が必須であることに注意してください。
  • Zabbixは常にPCRE2ライブラリを使用してコンパイルします。インストールはオプションではありません。 --with-libpcre2=[DIR]では、libpcre2ファイルの一般的な場所を検索するのではなく、特定のベースインストール ディレクトリを指定することのみが許可されます。
  • --enable-staticフラグを使用して、ライブラリを静的にリンクできます。 コンパイルされたバイナリをさまざまなサーバーに配布する予定がある場合は、このフラグを使用して、必要なライブラリがなくてもこれらのバイナリが機能するようにする必要があります。 --enable-staticはSolarisでは機能しないことに注意してください。
  • サーバーを構築する場合、 --enable-staticオプションの使用は推奨されません。 サーバーを静的に構築するには、必要なすべての外部ライブラリの静的バージョンが必要です。 設定スクリプトではそれに対する厳密なチェックはありません。
  • デフォルトの場所にないMySQLクライアントライブラリを使用する必要がある場合に、必要なMySQLクライアントライブラリを選択するには、MySQL構成ファイルにオプションのパス--with-mysql=/<path_to_the_file>/mysql_configを追加します。 これは、複数のバージョンのMySQLがインストールされている場合、または同じシステム上にMySQLと一緒にMariaDBがインストールされている場合に便利です。

ライブラリの欠落またはその他の状況により./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

2 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インターフェースのインストールページを参照してください。

3 Installing Zabbix agent 2 loadable plugins

Installing Zabbix agent 2 loadable plugins is only required if you want to monitor targets not covered by built-in plugins (e.g., MongoDB servers or clusters, PostgreSQL and its forks, etc.). See the full list of loadable plugins and built-in plugins.

Before installing a plugin, please check its README file. It may contain specific requirements and installation instructions.

To install from sources, first download and extract the loadable plugin source archive.

To compile the plugin, navigate to the extracted plugin directory and run make:

make

A supported Go version is required for building Zabbix agent 2.

The plugin executable may be placed anywhere as long as it is loadable by Zabbix agent 2. Specify the path to the plugin binary in the plugin configuration file, e.g. in postgresql.conf for the PostgreSQL plugin:

Plugins.PostgreSQL.System.Path=/path/to/executable/zabbix-agent2-plugin-postgresql

The path to the plugin configuration file must be specified in the Include parameter of the Zabbix agent 2 configuration file:

Include=/path/to/plugin/configuration/file/postgresql.conf

Proceed to setup for more details on configuring plugins.

Loadable plugins provided by Zabbix use simple makefiles with the following build targets:

  • make - build the plugin
  • make clean - delete all files that are created by building the plugin
  • make check - run self-tests (requires a real monitoring target, e.g., a PostgreSQL database)
  • make style - check Go code style with golangci-lint
  • make format - format Go code with go fmt
  • make dist - create a source archive including all dependencies

4 Javaゲートウェイのインストール

JMXアプリケーションを監視する場合にのみ、Javaゲートウェイをインストールする必要があります。 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ゲートウェイの構成と実行の詳細については、セットアップに進んでください。

5 Zabbix Webサービスのインストール

Zabbix Webサービスのインストールは、定期レポートを使用する場合にのみ必要です。

ソースからインストールするには、まずダウンロードしてソースアーカイブを抽出します。

Zabbix Webサービスをコンパイルするには、--enable-webserviceオプションを指定して./configureスクリプトを実行します。

Zabbix Webサービスを構築するには、サポートするGoバージョンで構成されたGo環境が必要です。

Webサービスがインストールされているマシン上でzabbix_web_serviceを実行します。

zabbix_web_service

定期レポート生成の設定の詳細については、セットアップに進んでください。