はじめに
ZabbixでDockerコンテナの監視をしたいと要望が出たので、検証のためにZabbixサーバを構築してみました。
その構築過程を残しておこうと思います。
サーバ構成
- AWS(EC2)
- CentOS7.9
- Zabbix5.0
前提条件
- ネットワーク環境(VPC,サブネット,ルートテーブル,セキュリティグループ)が既に構築済みであること
構築してみる
Zabbixパッケージダウンロード
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
Yumの掃除
yum clean all
インストール
yum -y install zabbix-server-mysql zabbix-agent
yum -y install centos-release-scl
Yumリポジトリ編集
sed -i '11s/enabled=0/enabled=1/g' /etc/yum.repos.d/zabbix.repo
Zabbix-sclのインストール
yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
MariaDBのインストール
yum -y install mariadb mariadb-server
DB起動
systemctl start mariadb && systemctl enable mariadb
DBのセキュリティ設定
mysql_secure_installation
DB設定
mysql -u root -p
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
quit;
Zabbix初期データ投入
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix
DB設定で登録したパスワードを入力する
DB設定戻し
mysql -u root -p
set global log_bin_trust_function_creators = 0;
quit;
Zabbixパスワード設定
vi /etc/zabbix/zabbix_server.conf
以下を設定
DBPassword=password
PHP設定
vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
以下をコメントアウト、Asia/Tokyoに変更
php_value[date.timezone] = Asia/Tokyo
Zabbix再起動
systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
SELinux無効
CentOS7.9の場合、デフォルトでSELinuxがEnforcingになっているので、無効にする必要がある。
sed -i 's/SELINUX=Enforcing/SELINUX=Disabled/g' /etc/selinux/config
再起動
shutdown -r now
ブラウザ確認
以下のURLでアクセスする。
http://${グローバルIPアドレス}/zabbix
ログインするときは以下の情報を入力する。
ID:Admin
PASS:zabbix
以上