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

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

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

Zabbixデーモンのインストール

1 ソースアーカイブのダウンロード

Zabbixダウンロードページ にアクセスし、ソースアーカイブをダウンロードします。ダウンロード後、次を実行して ソースを展開します。

tar -zxvf zabbix-7.0.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 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-libpcre[=DIR] - Zabbix は常に PCRE ライブラリ付きでコンパイルされます。このオプションは、カスタム PCRE インストールパスを指定するためだけに使用されます。
  • --with-mysql=/path/to/mysql_config - 特定の MySQL クライアントライブラリ設定へのパスを指定します。複数のバージョンの MySQL または MariaDB がインストールされている場合に便利です。
  • --with-oracle - Oracle Call Interface (OCI) API の場所を指定します。
  • --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ゲートウェイのインストール

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 serviceのインストール

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

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

Zabbix web serviceをコンパイルするには、./configure スクリプトを --enable-webservice オプション付きで実行します。

Zabbix web serviceをビルドするには、サポートされているGoのバージョンがインストールされている必要があります。

web serviceがインストールされているマシンで、zabbix_web_serviceを実行します。

zabbix_web_service

定期レポート生成の設定の詳細については、セットアップを参照してください。