0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AlmaLinux9.5にZabbix7をインストールしていく

Posted at

はじめに

こんばんは、いつもさぼり気味の男 amaebiです!
今回は、自宅サーバーにZabbixをインストールしていきます。
ほぼ公式の手順通りに進めていきます。

手順

今回はタイトルにもある通り、以下のOSバージョンにZabbixをインストールしていきます。
OSバージョン : AlmaLinux 9.5 (Teal Serval)

公式のインストール手順サイトに行きます。

Zabbix Packagesを選択し、以下のプラットフォームで進めていきます。
※好みによって、プラットフォームの内容を変えてください。
A.png

Zabbixリポジトリのインストール

yumパッケージをアップデートします。
※アップデート不要なパッケージが存在する場合は個別に対応してください。

# yum update

EPELパッケージを使用して、Zabbixをインストールしていきます。
/etc/yum.repos.d/epel.repoファイルを確認します。

# ls -la /etc/yum.repos.d

epel.repoファイルが存在していなかったため、epel-releaseをインストールしていきます。

# yum list installed | grep  epel-release
# yum install epel-release

epel.repoファイルが確認できたため、バックアップを取得して内容を書き換えます。

# ls -la /etc/yum.repos.d
# mkdir -v /etc/yum.repos.d/.backup
# cp -ipv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/.backup/epel.repo.`date +%Y%m%d`
# ls -la /etc/yum.repos.d/.backup

EPELを使用してインストールできるようにするため、/etc/yum.repos.d/epel.repoファイルを書き換えます。

# vi /etc/yum.repos.d/epel.repo

差分を確認していきます。

# diff -U0 /etc/yum.repos.d/.backup/epel.repo.<対象ファイルの日付> /etc/yum.repos.d/epel.repo 
--- /etc/yum.repos.d/.backup/epel.repo.<対象ファイルの日付> 2024-12-03 08:57:02.000000000 +0900
+++ /etc/yum.repos.d/epel.repo  2025-xx-xx xx:xx:xx.xxxxxxxxx +0900
@@ -10,0 +11 @@
+excludepkgs=zabbix*
# 

/etc/yum.repos.d/epel.repoファイルの内容が書き換わっていることを確認できたら、zabbixリポジトリをインストールしていきます。

# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/alma/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpm
# dnf clean all

Zabbixサーバー、フロントエンド、エージェントのインストール

Zabbixサーバー、フロントエンド、エージェントをインストールします。

# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

初期データベースの作成

Zabbix用のMySQLをインストールし、起動させます。
(今回のMySQLバージョンは "MySQL 8.0.41" です)

# dnf install mysql-server
# systemctl start mysqld
# systemctl enable mysqld
# systemctl status mysqld

rootユーザーでMySQLにログインします。

# mysql -u root -p
Enter password: ←パスワードを設定していないため、何も入力せずにEnter
mysql> 

MySQLにログイン後、以下のコマンドを実行します。

データベース名 zabbix を作成
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> show databases;
ユーザー zabbix を作成
mysql> create user zabbix@localhost identified by '<パスワード>';
mysql> select user, host from mysql.user;
ユーザー zabbix にデータベース zabbix の全権限を付与
mysql> grant all privileges on zabbix.* to zabbix@localhost;
MySQLにスキーマとデータをインポートするため、log_bin_trust_function_creatorsを一時的に開放
mysql> set global log_bin_trust_function_creators = 1;
mysql> show variables like 'log_bin_trust_function_creators';
mysql> quit;

zabbix serverとhostのスキーマとデータを先ほど作成したデータベース zabbix にインポートしていきます。

# 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 -u root -p
mysql> set global log_bin_trust_function_creators = 0;
mysql> show variables like 'log_bin_trust_function_creators';
mysql> quit;

Zabbixサーバー用のデータべース構築

/etc/zabbix/zabbix_server.confを書き換えます。

バックアップ
# ls -la /etc/zabbix
# mkdir -v /etc/zabbix/.backup
# ls -la /etc/zabbix/.backup
# cp -ipv /etc/zabbix/zabbix_server.conf /etc/zabbix/.backup/zabbix_server.conf.`date +%Y%m%d`
# ls- la /etc/zabbix/.backup
/etc/zabbix/zabbix_server.conf書き換え、差分チェック
# vi /etc/zabbix/zabbix_server.conf
# diff -U0 /etc/zabbix/.backup/zabbix_server.conf.<対象ファイルの日付> /etc/zabbix/zabbix_server.conf 
--- /etc/zabbix/.backup/zabbix_server.conf.<対象ファイルの日付>     2025-02-24 18:12:09.000000000 +0900
+++ /etc/zabbix/zabbix_server.conf      2025-xx-xx xx:xx:xx.xxxxxxxxx +0900
@@ -132,0 +133,2 @@
+DBPassword=<データベースユーザーパスワード>
+
# 

zabbixサーバー及びzabbixエージェント起動

最後にzabbixサーバーとzabbixエージェントを起動します。

# systemctl restart zabbix-server zabbix-agent httpd php-fpm
# systemctl enable zabbix-server zabbix-agent httpd php-fpm
トラブルシューティング

http://<zabbixサーバーのIPアドレス>/zabbixで内容を確認した際、以下のようにタイムアウトを起こしました。
B.png

原因を調査するため、/var/log/httpd/error_logを確認します。

# tail -F /var/log/httpd/error_log
~~以下省略~~
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
~~以下省略~~

ServerNameが指定していないためのエラーなので、/etc/httpd/conf/httpd.confのServerNameを指定します。

# ls -la /etc/httpd/conf
# mkdir -v /etc/httpd/conf/.backup
# ls -la /etc/httpd/conf
# cp -ipv /etc/httpd/conf/httpd.conf /etc/httpd/conf/.backup/httpd.conf.`date +%Y%m%d`
# vi /etc/httpd/conf/httpd.conf
# diff -U0 /etc/httpd/conf/.backup/httpd.conf.<対象ファイルの日付> /etc/httpd/conf/httpd.conf 
--- /etc/httpd/conf/.backup/httpd.conf.<対象ファイルの日付> 2025-01-22 06:19:11.000000000 +0900
+++ /etc/httpd/conf/httpd.conf  2025-xx-xx xx:xx:xx.xxxxxxxxx +0900
@@ -101,0 +102,2 @@
+ServerName <zabbixサーバーのIPアドレス>:80
+
# 

apacheを再起動します。

# systemctl restart httpd

これでもサイトが確認できませんでした。
事前にSELinuxは無効化していたため、次はAlmaLinuxのfirewallを確認します。
※皆さんはSELinuxを無効化しないようにしましょう!

# firewall-cmd --state
running
#

firewallが起動していたので、80ポートだけを開放します。

# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --reload

firewallを再起動後、再度http://<zabbixサーバーのIPアドレス>/zabbixでアクセスすると、無事zabbixのセットアップページを確認することができました。
C.png

セットアップ

webブラウザを開き、http://<zabbixサーバーのIPアドレス>/zabbixでzabbixサーバーにアクセスします。

これからzabbixのセットアップと行きたいところなんですが...
言語設定で日本語が選べないため、いろいろと設定していきます。
D.png

現在の言語設定を確認していきます。

# localectl 
System Locale: LANG=C.UTF-8
    VC Keymap: jp
   X11 Layout: jp
#

日本語設定になっていないため、以下のパッケージをインストールしていきます。

# dnf install glibc-locale-source glibc-langpack-ja zabbix-web-japanese

以下のパッケージをインストール後、日本語設定を行っていきます。

# ls -la /etc | grep locale
# mkdir -v /etc/.backup ←事前に.backupファイルを作成していたため、スキップ
# cp -ipv /etc/locale.conf /etc/.backup/locale.conf.`date +%Y%m%d`
# localectl set-locale LANG=ja_JP.utf8
# diff -U0 /etc/.backup/locale.conf.20250310 /etc/locale.conf

設定が完了したら、サーバーを再起動します。

# reboot

再起動後、再度zabbixサーバーにアクセスし、言語設定を見てみると日本語を選択できるようになりました。
E.png

そのまま、日本語を選択し、次のステップをクリックします。
F.png

全ての前提条件がOKになっていることを確認できたら、次のステップをクリックします。
G.png

データベース接続設定では、データベースポートとデータベースユーザーのパスワードを入力してから、次のステップをクリックします。
H.png

zabbixサーバー名、タイムゾーン、テーマを決めたら、次のステップをクリックします。
(zabbixサーバー名とテーマはお好みで決めてください:relaxed:)
I.png

設定パラメータを確認後、問題がなければ次のステップをクリックします。
J.png

すべてが完了したら、終了を押します。
K.png

Zabbixサーバーのログイン画面が出てくるため、ユーザー名とパスワードを入力してサインインします。
初期ユーザー名とパスワードは以下の通りです。

  • ユーザー名 : Admin
  • パスワード : zabbix

L.png

無事ダッシュボードにログインできました。
M.png

最後に

公式ドキュメントを参考に作業を進めていましたが、至る所でエラーとの勝負だったため結構勉強になりました。
このzabbixサーバーを使用して、遊び尽くしたいと思います。

参考資料

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?