【Zabbix6.4】インストールと初期設定(AlmaLinux8.7(CentOS8,RHEL8)+nginx+php+MySQL)
こんにちは!
インフラ関連のシステムエンジニアをやっているカユラ(@kayura_SE )です。
今回は、「【Zabbix 6.4】Zabbix インストールと初期設定(AlmaLinux8.7(CentOS8,RHEL8)+nginx+php+MySQL)」について紹介したいと思います。
私自身いろいろと躓きましたため、上から順番に実施することで「Zabbix」にログインできるような構成になっております。
AlmaLinux8.7(CentOS8,RHEL8)は、「最小のインストール」でインストールした状態です。
「root」ユーザーで作業しているため、必要に応じて「sudo」をつけてください。
Zabbix インストール環境
名称 |
Ver |
---|---|
OS |
CentOS8.7 or Linux8.7 or RHEL8.7 |
PHP |
7.4.30-1.module_el8.7.0+3286+227f3cf0 |
PHP-FPM |
7.4.30-1.module_el8.7.0+3286+227f3cf0 |
zabbix |
6.4.0-rc4.release1.el8 |
nginx |
1.14.1-9.module_el8.3.0+2165+af250afe.alma |
MySQL |
8.0.30-1.module_el8.6.0+3340+d764b636 |
Zabbix インストール時のパラメーター
設定項目 |
設定値 |
---|---|
Zabbixサーバーのホスト名 |
zabbix01 |
zabbixデータベース名 |
zabbix |
zabbix管理用のMySQLのユーザー名 |
zabbixadmin |
zabbix管理用のMySQLユーザーのパスワード |
zabbixpass |
zabbixアクセス時のポート番号 |
8080 |
- 【Zabbix6.4】インストールと初期設定(AlmaLinux8.7(CentOS8,RHEL8)+nginx+php+MySQL)
- Linuxの初期設定
- Zabbixに必要なパッケージのインストール
- MySQLの設定
- Zabbixサーバーの設定
- Zabbix関連サービスの再起動と自動起動有効化
- Webでの初期設定ウィザード
- ZabbixでエージェントレスでPing監視(ICMP)する方法の手順が出来たので、ご覧いただけると嬉しいです!
Linuxの初期設定
SELinuxの設定
SELINUXというセキュリティ機能の無効化+ログ取得可能にする設定です。RedHatの推奨設定です。
/etc/selinux/config
Firewallの無効化(ファイアウォールの無効化)
基本的には、サーバー単位のファイアウォールは無効化するで良いと思います。
●「firewalld」のサービスを停止します
systemctl stop firewalld
●「firewalld」のサービスがOSを再起動した後も自動で起動しないようにします。
systemctl disable firewalld
その他の設定
必須ではないですが、そのほかの初期設定は以下も見てもらえると嬉しいです!!
www.kayura-se.com
Zabbixに必要なパッケージのインストール
①「Zabbixのリポジトリ」をインストールします。
rpm -Uvh https://repo.zabbix.com/zabbix/6.3/rhel/8/x86_64/zabbix-release-6.3-1.el8.noarch.rpm
②dnfをクリーンします。
dnf clean all
③「PHP」をインストールします。
dnf -y module switch-to php:7.4
③「Zabbixサーバーの関連サービス」をまとめてインストールします。
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent zabbix-web-japanese
④「MySQL」をインストールします。
以下のコマンドで最新のVerを確認します。
yum info mysqlバージョン : 8.0.30
最新のVerでインストールします。
yum install -y @mysql:8.0
MySQLの設定
MySQLの初期設定
①「mysqld」のサービスを起動し、自動起動を有効化します。
systemctl start mysqldsystemctl enable mysqld
②MySQLの初期設定用のコマンドを実行します。
mysql_secure_installation
■対話形式の応答:Press y|Y for Yes, any other key for No: yPlease enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0New password:(rootユーザーのパスワードを入力)Re-enter new password:(rootユーザーのパスワードを再入力)Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : yRemove anonymous users? (Press y|Y for Yes, any other key for No) : yDisallow root login remotely? (Press y|Y for Yes, any other key for No) : yRemove test database and access to it? (Press y|Y for Yes, any other key for No) : yReload privilege tables now? (Press y|Y for Yes, any other key for No) : y
③MySQLに「root」ユーザーでログインします。
mysql -u root -pEnter password:(rootユーザーに設定したパスワード)
Zabbix用のMySQLデータベースの作成
「zabbix」というデータベースを文字セットを「UTF8」で作成します。
mysql>create database zabbix character set utf8mb4 collate utf8mb4_bin;
Zabbix用のMySQLユーザーの作成
Zabbix管理用のMySQLのユーザーを作成します。
(例)create user zabbixadmin@localhost identified by 'zabbixpass';
mysql>CREATE USER 'ユーザー名@localhost' IDENTIFIED BY 'パスワード';
Zabbix管理用のMySQLのユーザーにデータベースの操作権限を設定します。
(例)grant all privileges on zabbix.* to zabbixadmin@localhost;
mysql>grant all privileges on zabbix.* to ユーザー名@localhost;
「log_bin_trust_function_creators」を有効にします。※あとで無効にします。
mysql>set global log_bin_trust_function_creators = 1;
MySQLからログアウトします。
mysql>quit;
初期スキーマとデータをインポートします。
Zabbix サーバー ホストで、初期スキーマとデータをインポートします。
(例)zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -u zabbixadmin -p zabbix
mysql>zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -u Zabbix管理ユーザー名 -p Zabbix用データベース名;Enter password:(zabbix管理用ユーザーに設定したパスワード)
処理が終わりまでに少し時間がかかります。
「log_bin_trust_function_creators」の無効化
①MySQLに「root」ユーザーでログインします。
mysql -u root -pEnter password:(rootユーザーに設定したパスワード)
log_bin_trust_function_creators」を無効にします。
mysql>set global log_bin_trust_function_creators = 0;
MySQLからログアウトします。
mysql>quit;
Zabbixサーバーの設定
ZabbixサーバーとMySQLの連携設定
「Zabbixサーバー」の設定vim /etc/zabbix/zabbix_server.conf
■変更前
↓↓↓↓↓↓変更後↓↓↓↓↓↓
■変更後
Zabbixサーバーとnginxの連携設定
「nginx」の設定vim /etc/nginx/conf.d/zabbix.conf
■変更前
↓↓↓↓↓↓変更後↓↓↓↓↓↓
■変更後
「server_name」にはご自身の環境のサーバーのDNS名またはIPアドレスを設定します。
例:192.168.1.1、KANSHISV01など※私の環境はzabbix01です。
複数を定義する場合は、「半角スペース」で区切ってください。
Zabbix関連サービスの再起動と自動起動有効化
Zabbix関連サービスの再起動
①「nginx」のサービスを再起動します。
systemctl restart nginx
②「php-fpm」のサービスを再起動します。
systemctl restart php-fpm
③「zabbix-server」のサービスを再起動します。
systemctl restart zabbix-server
④「zabbix-agent」のサービスを再起動します。
systemctl restart zabbix-agent
Zabbix関連サービスの自動起動有効化
①「nginx」のサービスの自動起動を有効にします。
systemctl enable nginx
②「php-fpm」のサービスの自動起動を有効にします。
systemctl enable php-fpm
③「zabbix-server」のサービスの自動起動を有効にします。
systemctl enable zabbix-server
④「zabbix-agent」のサービスの自動起動を有効にします。
systemctl enable zabbix-agent
Webでの初期設定ウィザード
①Chromeなどのブラウザで以下のURLに接続します。
http://zabbix01:8080/ ※zabbix01は私の環境の場合です。
※ご自身の環境のDNS名またはIPアドレスでお願いします。
http://★IPアドレスまたはDNS名★:8080/
※もし、繋がらない場合は、以下もお試しください。
「★IPアドレスまたはDNS名★」は、/etc/nginx/conf.d/zabbix.confで定義した「server_name」の項目の値と統一する必要があります。
http://★IPアドレスまたはDNS名★:8080/setup.php
http://★IPアドレスまたはDNS名★:8080/index.php
②言語を「日本語(ja_JP)」に変更して、「次のステップ」をクリックします。
③前提条件のチェックがすべて「OK」であることを確認して、「次のステップ」をクリックします。
④以下を設定して、「次のステップ」をクリックします。
データベース名 ←MySQLのデータベース名ユーザー ←MySQLのZabbix管理用のユーザー名パスワード ←MySQLのZabbix管理用のユーザーのパスワード
⑤以下を設定して、「次のステップ」をクリックします。
Zabbixサーバー名 ←Zabbixサーバーのホスト名デフォルトのタイムゾーン ←Asia/Tokyo
⑥設定内容を確認して、「次のステップ」をクリックします。
⑦以下のメッセージが表示されることを確認して、「終了」をクリックします。
⑧以下のとおり、Zabbixの初期ユーザー名と初期パスワードを設定して、「サインイン」をクリックします。
ユーザー名:Adminパスワード:zabbix
※大文字と小文字にご注意ください!!!
⑨以下の画面が表示されれば、Zabbixサーバーの構築は完了です。
【Zabbix 6.4】Zabbix インストールと初期設定(AlmaLinux8.7(CentOS8,RHEL8)+nginx+php+MySQL)の手順は以上となります。
次回はZabbixの活用方法について説明したいと思います。
ZabbixでエージェントレスでPing監視(ICMP)する方法の手順が出来たので、ご覧いただけると嬉しいです!
www.kayura-se.com現在悩んでいる方はTwitterでご連絡ください。
私も辛い日々を経験したのであなたの助けになりたいです。
カユラ(@kayura_SE )