はじめに
一年ほど前にZabbixでサーバーの監視環境を構築しました。
順調に稼働してくれているので、BCP用にZabbixをもう一台構築します。
前回は手順書を作成しなかったので、自分への備忘録的な意味も込めて記事を書きます。
Almalinux 9 のインストールについて
この記事を参考にしてください。
Zabbixとは
Zabbix はアレクセイ・ウラジシェフによって作られた、ネットワーク管理ソフトウェアである。様々なネットワークサービス、サーバ 、その他のネットワークハードウェアのステータスを監視・追跡できる。 - Wikipedia (https://ja.wikipedia.org/wiki/Zabbix)
サーバーのCPUの値やサービスの監視ができ、設定してある閾値を超えたり、登録されている値を検出するとメールやSlackなどに警告が届く監視ツールです。
構築環境
一年前に構築した環境を再現するため、少し古いバージョンになっています。
パーツ | スペック |
---|---|
CPU | Core i5-8250U CPU @ 1.60GHz |
Memory | 8GB |
Storage | SSD 256GB |
OS | Almalinux 9.2 |
SELinux の無効化
社内ネットワークからのみZabbixを使用するので、一時的にSELinuxを無効化します。
セキュリティ上問題がある場合はおすすめしません。
$ grubby --update-kernel ALL --args selinux=0
再起動して変更を有効にします。
# reboot
Firewall の無効化
SELinuxと同様の理由で無効化します。
# systemctl stop firewalld
自動起動設定を無効にします。
# systemctl disable firewalld
httpd のインストール
Apache httpd で Webサーバーを構築します。
# dnf -y install httpd
httpd の設定変更を行います。
confファイルの下記部分を変更 or 追記してください。
# nano /etc/httpd/conf/httpd.conf
ServerName localhost
Options FollowSymLinks
AllowOverride All
DirectoryIndex index.html index.php index.cgi
ServerTokens Prod
Webサーバーを起動します。
# systemctl enable --now httpd
http://127.0.0.1 にアクセスするとWebサーバーが立ち上がっているのが確認できます。
今回は社内ネットワーク内での使用なので、WebサーバーにTLSの設定はしません。
httpsを使いたい方は、Server World 様の以下ページを参考にしてみてください。
PHP のインストール
次は、PHP 8.1 を指定してインストールします。
# dnf module -y install php:8.1/common
既にPHPがインストールされている場合は、以下の手順でver 8.1に切り替えます。
# dnf module reset php
# dnf module -y enable php:8.1
MariaDB のインストール
データベースは MariaDB を使用します。
# dnf -y install mariadb-server
インストールした MariaDB を有効にします。
# systemctl enable --now mariadb
MariaDB の初期設定を行います。
# mysql_secure_installation
Y/n で質問に答えて設定をします。
Zabbix のインストール
その他、必要なパッケージをインストールします。
# dnf -y install php-mysqlnd php-gd php-xml php-bcmath php-ldap
# dnf -y install https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-3.el9.noarch.rpm
Zabbixサーバーをインストールします。
zabbix-selinux-policy、zabbix-agent2、zabbix-web-japanese についてはインストールが必要な方のみで問題ありません。
# dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2 zabbix-web-japanese
Zabbix用にデータベースの設定を行います。
P@ssw0rdの部分にはご自身の設定するパスワードを入力してください。
# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.5.16-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'P@ssw0rd';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
Zabbixのconfにデータベースの情報を入力します。
confファイルの下記部分を変更 or 追記してください。
# nano /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBPassword=P@ssw0rd
Zabbixを起動します。
# systemctl enable --now zabbix-server
先ほど Zabbix Agent2 をインストールした方は、confファイルの下記部分を変更 or 追記してください。
# nano /etc/zabbix/zabbix_agent2.conf
Server=127.0.0.1
ServerActive=127.0.0.1
Zabbix Agent2 を起動します。
# systemctl enable --now zabbix-agent2
デフォルトでは、Zabbixに誰でもアクセスできる状態です。
アクセスの制限をしたい方は、confファイルの下記部分を変更してください。
# nano /etc/httpd/conf.d/zabbix.conf
Require ip <アクセス許可する範囲>
設定を有効化するために httpd と php-fpm を再起動します。
# systemctl restart httpd php-fpm
以上で Zabbix サーバーの基本設定は完了です。
http://127.0.0.1/zabbix にアクセスすると、Zabbixの初期設定画面が表示されます。
RDPを有効にする(おまけ)
Xrdp サーバーをepelからインストールします。
# dnf -y install epel-release
# dnf -y install xrdp
Xrdp を起動します。
# systemctl enable xrdp --now
他のPCで、リモートデスクトップ接続の設定を行えばアクセス可能になります。
参考文献