しばらく前にやった手順を、自分用に忘れないようにサルベージします。
記事公開時点でのZabbixの最新版は4.4ですが、手順はほとんど同一だと思います。(未検証)
前提(使用した環境)
- CentOS 7.6
- on VMware Workstation Player 14
- 最小インストール
- インターネット接続はNAT
- ホスト名はlocalhost(デフォルト)
導入したもの
- Zabbix 4.2.1
- MySQL 8.0.16
- PHP 7.3.5 (Zabbixの前提パッケージとして自動インストール)
操作
実行はすべてroot
1.リポジトリのインストール
EPEL
yum -y install epel-release
yum -y update
Remi
RHEL(CentOS)向けのPHPを管理しているRedHat社のRemi Collet氏の個人リポジトリ。
比較的新しいPHPを使用する場合に追加する。
yum -y install 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-2.noarch.rpm
リポジトリの有効化
vi /etc/yum.repos.d/remi.repo
vi /etc/yum.repos.d/remi-php73.repo
#変更箇所
enabled=0
↓
enabled=1
2.SELinuxの無効化
できればSELinuxにポリシーを追加して動かせるようになった方がセキュリティ的に望ましいが、今回は省略。
vi /etc/sysconfig/selinux
#変更箇所
SELINUX=enforcing
↓
SELINUX=disabled
変更を反映するために再起動
reboot
3.MySQLのインストールと設定
インストール
yum -y install mysql-community-devel
yum -y install mysql-community-server
PHPを利用するアプリケーションの大半(Zabbix含む)は、MySQLのデフォルトの認証方式caching_sha2_passwordには対応していないので変更する。
vi /etc/my.cnf
#変更箇所
#default-authentication-plugin=mysql_native_password
↓
default-authentication-plugin=mysql_native_password
#MySQLのログはデフォルトでUTC(世界協定時)のタイムスタンプを取るので、気になるなら変更する。
log_timestamps=SYSTEM
MySQLを起動させ、自動起動の設定をして完了。
systemctl start mysqld
systemctl enable mysqld
設定
MySQL root の初期パスワードを確認する。
grep password /var/log/mysqld.log
出力例)
2019-05-09T03:35:13.795380Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: <初期パスワード>
mysql_secure_installation コマンドに「--use-default」オプションを付けて実行する。root ユーザーのパスワード変更や、不要なユーザーやDBの削除が行われる。
ここで設定するパスワードは、8文字以上で英数大文字小文字と記号が含まれていないとポリシー違反で弾かれるので注意。
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: <新しいパスワード>
(略)
4.Zabbixのインストール
準備
Zabbixのダウンロードページを開く。
Zabbix ダウンロード
Install Zabbix from Packageを選択する。 ![2019-05-10 12_00_31-ダウンロード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/314492/dc641b43-d400-5b4b-a730-ee431bbd05c3.png)
# rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
# yum clean all
リポジトリ・Zabbixのインストール
前項で入手したurlを用いる。
rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
yum clean all
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese
yum -y install zabbix-agent
yum -y install zabbix-get
MySQLに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.2.1/
zcat create.sql.gz | mysql -u zabbix -p zabbix
Zabbixの設定と起動
Zabbixサーバーの設定ファイルに、MySQLのZabbix用ユーザー(zabbix)のパスワードを登録する。
平文での保存になるので、アクセス権を適切に変更しておく。
vi /etc/zabbix/zabbix_server.conf
#変更箇所
# DBPassword=
↓
DBPassword=<パスワード>
Zabbix 用の Apache httpd 設定を変更する。(タイムゾーンは自分の地域に合わせて設定する)
vi /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
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エージェントの稼働確認をする。バージョン番号が表示されればOK。
zabbix_get -s 127.0.0.1 -k agent.version
例)
4.2.1
5.firewalldの設定
外部のマシンからコンソールにアクセスするため、HTTP(80/tcp) と HTTPS(443/tcp) を開ける。
Zabbixサーバー、エージェントともに同一のマシン上なので、それらの通信にかかる設定は追加していない。
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=443/tcp --permanent
firewall-cmd --reload
確認
firewall-cmd --list-all
(略)
ports: 443/tcp 80/tcp
(略)
6.インストールの仕上げ
ブラウザから <サーバーのIPアドレス>/zabbix にアクセス、GUIに従ってぽちぽち
不勉強なもので、使い方は他のQiitaやブログ等を参考に…