スクリプトを用いてZabbixサーバのインストールを自動化してみた-RHEL系OS/PostgreSQL編-

こんにちは、SCSKの坂木です。

本記事では、Zabbixサーバのインストールを自動化するシェルスクリプト(RHEL系OS/PostgreSQL編)を紹介します!

 

検証環境

今回、検証に使用した環境は以下の通りです。

コンポーネント バージョン/種類 備考
OS Amazon Linux 2023 RHEL系のディストリビューション
データベース PostgreSQL Zabbixで広く利用されているデータベース
Zabbix Zabbix7.0 LTS 2025/08時点での最新の長期サポート版

この構成に基づき、本ブログで公開するスクリプトは 「RHEL系OS + PostgreSQL」の環境に、Zabbix 7.0 LTSをインストール するものとなっています。

もし異なるOS(Ubuntuなど)やデータベース(MySQLなど)をご希望の場合は、一部カスタマイズが必要となりますので、あらかじめご了承ください。

 

前提条件

  1. PostgreSQLサーバが起動していること
    本スクリプトはZabbixサーバのコンポーネントをインストールし、DBに接続する設定を行いますが、PostgreSQLサーバ自体のインストールや起動は行いません。あらかじめMySQLが利用可能な状態にしておいてください。
  2. OSがZabbixサーバのバージョンに対応していること
    Zabbixサーバはバージョンごとに公式にサポートされるOSが定められています。対応しているOSのバージョンはこちらを確認してください。
  3. RHEL系のOSであること
    このスクリプトは、パッケージ管理にdnfコマンドを利用するなど、RHEL系のOSに特化して作成されています。

 

インストールスクリプト

スクリプトはこちらになります。リポジトリのインストール元はこちらを参照しOSに合わせて変更ください。

#!/bin/bash

set -e

# 1. ZabbixがPostgreSQLデータベース接続用に使うパスワード
ZABBIX_DB_PASS='<PostgreSQLのzabbixユーザのパスワードを入力してください>'

echo "--- Zabbixリポジトリの追加とパッケージのインストールを開始します ---"
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/amazonlinux/2023/x86_64/zabbix-release-latest-7.0.amzn2023.noarch.rpm
dnf clean all
dnf install -y zabbix-server-pgsql zabbix-web-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-agent

echo "--- Zabbix用データベースとユーザーを作成します ---"
sudo -i -u postgres psql -c "CREATE USER zabbix WITH PASSWORD '${ZABBIX_DB_PASS}';"
sudo -i -u postgres createdb -O zabbix zabbix

echo "--- Zabbix初期スキーマとデータをインポートします ---"
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

echo "--- Zabbixサーバーの設定ファイル(/etc/zabbix/zabbix_server.conf)を編集します ---"
sed -i "s/^# DBPassword=/DBPassword=${ZABBIX_DB_PASS}/" /etc/zabbix/zabbix_server.conf

echo "--- 関連サービスを再起動し、自動起動を有効化します ---"
systemctl restart zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm

echo "--- Zabbixのセットアップが正常に完了しました ---"

 

適当なディレクトリに配置してスクリプトを実行してください。実行前にはスクリプト内容をご確認いただき、ご自身の責任で実施いただければと思います。

[root@ip-10-0-30-49 work]# ll
total 4
-rwxr-xr-x. 1 root root 1385 Sep 1 06:43 zabbixinstallscript.sh
[root@ip-10-0-30-49 work]# ./zabbixautoinstall.sh

 

実行確認

スクリプト実行後、問題なくzabbixが起動しているか以下のポイントを確認します。

  • systemctl statusコマンドでzabbixサーバ、zabbixエージェントが起動していること
# systemctl status zabbix-server
● zabbix-server.service - Zabbix Server
Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; preset: disabled)
Active: active (running) since Mon 2025-09-01 06:44:39 UTC; 18min ago

# systemctl status zabbix-agent
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; preset: disabled)
Active: active (running) since Mon 2025-09-01 06:44:39 UTC; 18min ago

 

  • zabbixのwebインタフェースにアクセスできること

 

まとめ

本記事では、スクリプトを実行するだけでZabbix 7.0を自動インストールする手順をご紹介しました。なお、本記事で提供するスクリプトは、以下の環境を前提としています。

OS: RHEL系 (Rocky Linux, AlmaLinux など)
データベース: PostgreSQL
Zabbixバージョン: 7.0

もし上記以外の環境(例: Ubuntu, MySQL)でZabbixを構築されたい場合は、本スクリプトは対応しておりませんのでご注意ください。その場合は、Zabbix公式ドキュメントを参考に手動でインストールをお試しいただくか、OS/データベースに合うスクリプトをご利用ください。

OS:RHEL系 / データベース:PostgreSQLのスクリプトは以下記事に記載があります。

タイトルとURLをコピーしました