Centos 7 でzabbix 4.2をインストール
下準備
下準備として MySQL 8.0 と PHP 7.2 をインストールできるように各種リポジトリを追加しておきます。
EPELリポジトリのインストール
yum -y install epel-release
yum -y update
Remiリポジトリのインストール
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
MySQLリポジトリのインストール
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
・Remi PHP7.2 リポジトリの有効化
vim /etc/yum.repos.d/remi.repo
[remi]
(略)
enabled=0
↓
enabled=1
vim /etc/yum.repos.d/remi-php72.repo
[remi-php72]
(略)
enabled=0
↓
enabled=1
SELinux無効設定
・下記を変更
vim /etc/sysconfig/selinux
SELINUX=enforcing
↓
SELINUX=disabled
OSを再起動します
shutdown -r now
MySQL 8.0 のインストールと設定
MySQL 8.0 のインストール
yum -y install mysql-community-devel
yum -y install mysql-community-server
・デフォルトの認証プラグインを変更します。(まだ caching_sha2_password には対応していないようです)
vim /etc/my.cnf
#default-authentication-plugin=mysql_native_password
↓
default-authentication-plugin=mysql_native_password
MySQLの起動と自動起動設定
systemctl start mysqld
systemctl enable mysqld
mysql_secure_installation の実行
・root ユーザーの初期パスワードの確認(初期パスワードはそのまま使うことはできませんので変更が必要です)
grep password /var/log/mysqld.log
2018-10-01T13:21:19.946451Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: <初期パスワード>
この後に設定する root ユーザーの新しいパスワードは、8文字以上で英数大文字小文字と記号が含まれていないとポリシー違反で弾かれてしまいますので注意です。
参考資料:6.5.3.2 Password Validation Options and Variables | MySQL 8.0 Reference Manual
mysql_secure_installation コマンドに「–use-default」オプションを付けてを実行します。root ユーザーのパスワード変更や、不要なユーザーやDBを削除してくれます。
mysql_secure_installation --use-default
(略)
Enter password for user root: <初期パスワード>
The existing password for the user account root has expired. Please set a new password.
New password: <新しいパスワード>
Re-enter new password: <新しいパスワード>
(略)
Zabbix 4.0 のインストール
Zabbix 4.0 の yum リポジトリの登録
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
インストール(2018年10月1日時点のバージョンは 4.0.0-2)
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese
yum -y install zabbix-agent
yum -y install zabbix-get
Zabbix データベースとユーザーの作成
MySQLに、Zabbix用のデータベース(zabbix)とユーザー(zabbix)を作成します。
mysql -u root -p
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
CREATE USER zabbix@localhost IDENTIFIED BY '<パスワード>';
GRANT ALL ON zabbix.* TO zabbix@localhost;
quit;
Zabbix 用のデータベーススキーマとデータをインポート(バージョンが変わるとディレクトリ名の青字の部分も変わります。インストールしたバージョンにあわせて指定してください)
cd /usr/share/doc/zabbix-server-mysql-4.0.0/
zcat create.sql.gz | mysql -u zabbix -p zabbix
Zabbix サーバーの設定と起動
Zabbix サーバーの設定ファイルに、先ほど作成したMySQLのユーザー(zabbix)のパスワードを入力します。
vim /etc/zabbix/zabbix_server.conf
# DBPassword=
↓
DBPassword=<パスワード>
・Zabbix 用の Apache httpd 設定を変更します。
vim /etc/httpd/conf.d/zabbix.conf
↓
# php_value date.timezone Europe/Riga
↓
php_value date.timezone Asia/Tokyo
Zabbix サーバーの起動と自動起動設定
systemctl start zabbix-server
systemctl enable zabbix-server
Apache httpd の起動と自動起動設定
systemctl start httpd
systemctl enable httpd
また、動作確認用に Zabbix エージェントも起動しておきます。
systemctl start zabbix-agent
systemctl enable zabbix-agent
Zabbix エージェントの動作確認(Zabbixのバージョンが表示されればOKです)
zabbix_get -s 127.0.0.1 -k agent.version
4.0.0
firewalld設定
HTTP(80/tcp) と HTTPS(443/tcp) を開けておきます。
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=443/tcp --permanent
firewall-cmd --reload
・確認
firewall-cmd --list-all
public (default, active)
interfaces: enp0s3 enp0s8
sources:
services: dhcpv6-client ssh
ports: 443/tcp 80/tcp ←この表示があればOK
(略)