おはようございます。
今日はこの間自宅Zabbixを構築している最中にハマった事をまとめようと思います。
なので今回はZabbixの構築中に手順を間違えてしまいいろいろな問題が発生した時のお話になります。
構築に参考にさせていただいたサイトは最後にまとめさせて頂きます。
環境構築
私は普段からArchLinuxなどのOSを使用しているのですが、今回はCentOS7を使用します。
今回は自宅の仮想化基板になっているProxmoxVMの上に仮想インスタンスを構築し、CentOSをインストールしてサーバーとして使用します。
OSインストールはおそらく解説の必要がないと思いますので、私は `Minimal` でインストールしたという事だけ伝えておけば十分かと思います。
今回は
- CentOS 7 Minimal
- Zabbix 4.0
- PHP 7.2
- MySQL 8.0.16
という環境です
Zabbixのインストール
まずはリポジトリの追加をします。
epelのリポジトリは追加が楽でいいですね
# yum -y install epel-release
# yum -y update
# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
# rpm –import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
# rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
# yum clean all
Zabbixに必要なミドルウェアをインストールしていきます。
ここで気をつけなければならない事が有ります。
CentOS7には標準でPHP5が入っています。
PHP5をアンインストールしないとPHP7が使用出来ません。
# yum remove php*
容赦のない方法でデフォルトで入っているphpをアンインストールします
PHP5のアンインストールが完了したら自愛の心で元々入っていたPHP関連のパッケージを入れ直します。
# yum install –enablerepo=remi –enablerepo=remi-php73 php php-cli php-pdo php-common php-mysql php-bcmath php-xml php-gd php-mbstring php-ldap
PHP関連のパッケージがインストールされたらApacheとMySQLをインストールしましょう。
# yum -y install mysql-community-devel mysql-community-server httpd
最後にZabbixをインストールします
# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web zabbix-web-japanese zabbix-agent zabbix-get
蛇足になりますが、私はPHP5のアンインストールをやらずに構築を進めてしまいました。
Zabbixの構築が完了したタイミングでZabbixがPHP5を使用している事に気が付き慌ててアンインストールしたのですが、zabbix-web
がPHP5と一緒にアンインストールされてしまいますので気をつけてください
インストールしたミドルウェアの設定
まずapacheの設定をします。
# echo"ServerTokens Prod
” >>/etc/httpd/conf/httpd.conf
# echo"KeepAlive On"
>>/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/zabbix.conf
–<IfModule mod_php5.c>
+<IfModule mod_php7.c>
-# php_value date.timezone Europe/Riga
+php_value date.timezone Asia/Tokyo
次に、MySQLの設定をします。
MySQL8.0から認証の方式が変更になりましたが、Zabbixが対応していないようなので、古い方式の認証に変更します。
/etc/my.cfg
-#default-authentication-plugin=mysql_native_password
+default-authentication-plugin=mysql_native_password
認証方式を変更したら、MySQLを起動します
# systemctl start mysqld
起動をすると、MySQLにログインする為のデフォルトパスワードが/var/log/mysqld.log
に記載されていますので、確認してログインします。
初期パスワードのままではアレなのでパスワードを変更します。
パスワードポリシーは半角の大文字小文字数字と記号の4種類を8文字以上です。予め決めておきましょう。
# mysql_secure_installation –use-default
次に、Zabbixが使用するデータベースを作成します。
# mysql -u root -p
Enter password:mysql> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
mysql> CREATE USER zabbix@localhost IDENTIFIED BY P@ssw0rd;
mysql> GRANT ALL ON zabbix.* TO zabbix@localhost;
mysql> quit
Bye
P@ssw0rd
がパスワードになります
あとはスクリプトにやらせてしまいましょう。
初期スキーマなどを生成するスクリプトが標準で用意されています。
# cd /usr/share/doc/zabbix-server-mysql-4*/
# gzip -dc create.sql.gz | mysql -u zabbix -p zabbix
最後にZabbixの設定ファイルにMySQLのログインパスワードを記載します。
/etc/zabbix/zabbix_server.conf
-# DBPassword=
+DBPassword=P@ssw0rd
ではZabbixを起動しましょう、ついでにApacheも
# systemctl start zabbix-server zabbix-agent httpd
起動したら必要なサービスの自動起動設定をします
# systemctl enable httpd
# systemctl enable mysqld
# systemctl enable zabbix-server
# systemctl enable zabbix-agent
WEBページにアクセス!
http://ZabbixのIP/zabbix
時間が無いので最後の方は駆け足になりましたが、近い内に再編集します
参考にしたサイト
https://www.zabbix.com/jp/download?zabbix=4.0&os_distribution=centos&os_version=7&db=mysql
https://beyondjapan.com/blog/2019/03/centos7-zabbix40-install/
https://qiita.com/longunder/items/26ae871558e78b64c2f0
コメントを残す