概要
本記事では、ZABBIXを以下の構成でインストールする手順を整理しようと思います。
- Zabbixサーバー:Docker コンテナ(Ubuntu20.0.4)
- Zabbixエージェント:ホストPC(Ubuntu20.0.4)
このような構成にする理由は、ZabbixサーバーのPHPバージョンが古いためです。
ホストPC上では、PHP 8.1 を使用しており、競合が怖かったので、このような環境で試すことにしました。
以下、今回の構成とバージョン情報です。
- Zabbix v6.2(サーバー、エージェント)
- Linux(エージェント)
- Ubuntu 20.0.4
- Dockerコンテナ(サーバー)
- Ubuntu 20.0.4
- データベース
- Postgresql v14
- Webサーバー
- Nginx(最新版)
- PHP
- PHP 7.4
- PHP-FPM
なお、本記事ではセキュリティ周りの設定は省略しておりますので、ご注意くださいまし。
インストール手順
- Postgresql のインストール
- ZABBIX サーバーのインストール
- データーベースのセットアップ
- ZABBIX サーバーのセットアップ
- ZABBIX エージェントのインストール
- ZABBIX エージェントのセットアップ
Postgresql のインストール
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt install curl ca-certificates gnupg
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt upgrade
sudo apt install postgresql-14
インストールできたかどうかの確認
$ sudo su - postgres
$ psql
psql (14.0 (Ubuntu 14.0-1.pgdg20.04+1))
"help"でヘルプを表示します。
postgres=#
ZABBIX サーバーのインストール
git clone https://github.com/tmori/tutorial_zabbix.git
cd tutorial_zabbix
bash docker/create-image.bash
データーベースのセットアップ
zabbix が利用するデータベースはホストPCに置く構成としていますので、ホストPC上で zabbix 用のデータベースのセットアップを行います。
zabbix用のユーザを追加
sudo -u postgres createuser --pwprompt zabbix
zabbix用のDBを追加
sudo -u postgres createdb -O zabbix zabbix
DBの初期化
cd tutorial_zabbix/volumes/tools
psql -U zabbix -d zabbix -h localhost -p 5432 -f create.sql
本来であれば、zabbix 本家のインストール手順上は、/usr/share/doc/zabbix-sql-scripts/postgresql/create.sql.gz
を解凍したものを使うのが正しい手順です。
Dockerfile上で、zabbix-sql-scripts
をインストールしているので、docker コンテナにこの初期化スクリプトが入っているはずなのですが、なぜかダウンロードされない現象に出くわしてしまいました。
そのため、ホストPC上でダウンロード/解凍したもの(create.sql)を用意しました。
ZABBIX サーバーのセットアップ
zabbix サーバーを起動
cd tutorial_zabbix
bash docker/run.bash
tutorial_zabbix/volumes/zabbix/zabbix_server.conf を開いて、DBPassword
に zabbix DB用のパスワードを設定してください。デフォルトだと、zabbix
のままです。
DBPassword=zabbix
dockerコンテナ上で、以下のコマンドを実行すると zabbix サーバーが起動します。
bash tools/start.bash
この状態で、http://localhost:8098
にアクセスすると初期画面がでてきます。
デフォルト言語を日本語(ja_JP)
にして、次のステップ
をクリック。
そのまま、次のステップ
をクリック。
DBパスワードを入力して、次のステップ
をクリック。
Zabbixサーバー名
とデフォルトのタイムゾーン
を選択して、、次のステップ
をクリック。
そのまま、次のステップ
をクリック。
そのまま、終了
をクリック。
ユーザ名
にAdmin
、パスワード
には、先ほど設定したパスワードを入力して、サインイン
をクリック。
この画面が出てきたら成功です~。
ZABBIX エージェントのインストール
ホストPC上で、zabbix-agentをインストールします。
sudo apt install zabbix-agent
agent を起動します。
sudo systemctl restart zabbix-agent
ZABBIX エージェントのセットアップ
今回の場合は、ホストPC上にエージェントとサーバーが同居していますので、デフォルトのまま監視できます。特別なセットアップは不要です。
エージェントとサーバーが異なる場合は、以下の設定が追加で必要となります。備忘録として残しておきます。
エージェント側の設定
/etc/zabbix/zabbix_aent.conf
のServerパラメータは、デフォルトでは、127.0.0.1
担っています。これをzabbixサーバーのIPアドレスに差し替える必要があります。
設定変更したら、agentは再起動しましょう。
サーバー側の設定
デフォルトですと、以下の用にzabbixサーバー上のPCも監視対象となっています。
[設定]→[ホスト]→[Zabbix server]
エージェントがホストと異なるPCに配置されている場合は、右上の「ホストの作成」ボタンを押下して、エージェントを追加します。
こんな感じで、必要な設定をして、エージェントのIPアドレスを追加すればOKです。