2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Zabbixサーバ構築メモ

Last updated at Posted at 2022-06-02

Zabbixサーバ構築メモ

とん挫したけど、Zabbixサーバの構築をやってみたのでそのメモ
https://www.zabbix.com/jp/download?zabbix=6.0&os_distribution=rocky_linux&os_version=8&db=mysql&ws=nginx

環境

  • OS : RockyLinux8
  • WEB : nginx 1.22
  • DB : MySQL 8.0

必要なもの

Zabbixインストールする前に、WebサーバとDBサーバが必要である。
→WebはApache or NGIN, DBはMySQL or PostgreSQLを選ぶことになりそう。

インストール時にApacheで動かすかNGINXで動かすか,MySQLを使うかPostgreSQLを使うかによって
モジュールを使い分けられるようにしてくれているので便利。

手順

インストールrpmパッケージをインストール

# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
# dnf clean all

rpmからdnfインストール

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

DB に zabbix 用のユーザやDBを作成

# mysql -uroot -p
password
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified with mysql_native_password by 'パスワード';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;

ユーザ作成の時、mysql_native_passwordのプラグインとしてパスワードを指定しないと、
後でZabbixの設定をブラウザから行うときに、PHPがMySQLにアクセスできなくなる。

MySQLのユーザのpluginがデフォルトではcaching_sha2_passwordになっていて、
これは古いPHPとかだと対応していないことがあるため。

↑ソースインストールしたローカルのMySQLサーバの設定の話。
AuroraとかCloud SQLはこの辺の設定は緩めに設定されてるっぽいから気にしなくていいかも?
※確認してないから憶測

DBのZabbix構築コマンド実行

どうやらdnfでzabbix一式をインストールしたときに、
/usr/share/doc/zabbix-sql-scriptsっていうのがインストールされているみたい。
ここにあるsql.gzを実行すれば自動でMySQLをZabbix用に構築してくれるみたい。

# zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

Zabbixサーバ設定

/etc/zabbix/zabbix_server.confDBPasswordのコメントアウトを外し、作成したzabbixのユーザのパスワードを入力しておく

nginx設定

こっちも、zabbix一式インストールしたときに、/etc/nginx/conf.d/配下にzabbix.confが自動的に作られている。
nginx.confから、conf.d/*.confを読み込むようにincludeしてあげて、

# listen 80;
# server_name example.com;

↑ここの部分をコメントアウト外して、
server_nameはわかりやすくlocalhostとかにしておく

本構築ならSSL化もしてちゃんとドメイン書く。

再起動

最後に全部再起動して完了!

# systemctl restart zabbix-server zabbix-agent nginx php-fpm
# systemctl enable zabbix-server zabbix-agent nginx php-fpm

フロントエンド設定

http://IPアドレスにアクセスしたら、Zabbixの設定画面に飛ぶ。
画面の指示に従っていろいろ設定を詰めていく。

ここでt2.microインスタンスがメモリ不足でぶっ壊れたので終了。
ZabbixよりPrometheusのほうがどちらかというと極めたいので、
Zabbixはこの辺にして終わる。

感想

Zabbixサーバを初めてインストールしてみた(構築完成してないけど)。
気になったのは、php(php-fpm?)がMySQL8.0と相性悪く、mysqlのzabbixユーザ関連で躓くことが多かったことかな。
パスワードのルールが厳しくなってたり、ハッシュアルゴリズムに対応してなかったり。
この辺りはマネージドのDB使えばあまり気にならないかもしれない。
(少なくともCloudSQLのMySQL8.0ではユーザのパスワードで複雑なものは要求されなかった)

インストール自体は公式のインストール手順が単純明快でよかった。
Rockyに対応しているのも〇

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?