CentOS8にZabbix4.4サーバを構築してWebhookを実行してみよう! 前編:CentOS8にZabbix4.4サーバを構築
はじめまして。これからtech系の投稿も復活させていこうともくろんでいるインフラエンジニアの竹西です。
今回の記事はタイトルの通り、zabbix4.4の新機能の一つであるwebhookメディアタイプを試してみようという記事です。
以下のような前後編の2回に分けて記事にしますのでよろしくお願いします!
- 前編:CentOS8にZabbix4.4サーバを構築
- 後編:Webhookメディアタイプ設定方法
ちなみに、zabbix4.4のリリースノートはこちらを参照ください。
CentOS8にZabbix4.4サーバを構築
構成情報
今回は私の気まぐれでCentOS8の使用。
DBをMySQLではなく、MariaDBで構築してみます。
webサーバもNginxにしようかなとも思ったのですが、そこはまぁいいやとなってやめました。
ですので今回の構成はこちらです!
・OS:CentOS8
・web: httpd2.4.37
・アプリケーション:php7.2.11
・DB:MariaDB:10.3.11
事前準備
SELinuxの停止
SELINUX=enforcingをdisabledへ編集
[bash]vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted – Targeted processes are protected,
# mls – Multi Level Security protection.
SELINUXTYPE=targeted[/bash]
SELinuxのため再起動
[bash]reboot[/bash]
firewalldの変更
今回は簡単にpublicゾーンにhttpとzabbix-agent,zabbix-serverサービスの許可を追加します。
※ポート指定で80,10050,10051を公開しても構いません。
[bash]firewall-cmd –add-service=http –permanent
firewall-cmd –add-service=zabbix-agent –permanent
firewall-cmd –add-service=zabbix-server –permanent
firewall-cmd –reload
[/bash]
Zabbixリポジトリのインストール
https://www.zabbix.com/jp/download?へアクセスしてインストールしたいOSとDBを選択します。
OSとDBを選択後、「a. Install Zabbix repository」のURIをコピーしてください
リポジトリをインストールします。
[bash]rpm -ivh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
dnf clean all[/bash]
Zabbixサーバ(httpd,php-fpm)のインストール
zabbixサーバのインストールをdnf(yum)コマンドで実行します。
httpd,php-fpmなどは依存関係でインストールされるので今回はこちらで済ませてしまいます。
せっかくなのでzabbix-agent2もインストールしておきました。
[bash]dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent2[/bash]
MariaDBのインストール
CentOS8ではApplication StreamにMySQLとMariaDBのパッケージがあるためそちらをそのまま使用してみます。
[bash]dnf install -y mariadb-server[/bash]
DB設定を行いたいのでMariaDBは一度サービスを起動します。
[bash]systemctl start mariadb[/bash]
忘れそうなのでMariaDBの自動起動の設定もここでしておきます。
[bash]systemctl enable mariadb[/bash]
DB設定
DBアクセスをzabbixユーザで行うのでzabbixユーザを作成します。
※mysqlコマンドライン
[bash]mysql
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by ‘任意のPW’;
FLUSH PRIVILEGES;[/bash]
zabbixサーバの初期DBを準備してくれているのでdumpファイルから初期DBを構築します。
[bash]zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix[/bash]
php設定ファイル編集
以下の行を任意のタイムゾーンに変更します。
今回はAsia/Tokyoに変更
[bash]vi /etc/php-fpm.d/zabbix.conf
; php_value[date.timezone] = Europe/Riga
php_value[date.timezone] = Asia/Tokyo[/bash]
Zabbixサーバ設定ファイル編集
zabbixサーバは画面表示程度の使用であれば設定の変更がほぼほぼ必要ないので
先ほど設定したDBのzabbixユーザのパスワードのみ記載します。
[bash]vi /etc/zabbix/zabbix_server.conf
# DBPassword=
DBPassword=DBのzabbixユーザのPW[/bash]
Zabbixエージェント設定ファイル編集
zabbixサーバ自身の監視も入れておきましょうということで
zabbixエージェントの設定も変更します。といっても今回はこちらも必要最低限の変更のみとします。
zabbixの設定のhostnameとOSで認識しているhostnameを同じにします。
・・・そういえば、zabbix-agent2の設定ファイルも今までのzabbix-agentの設定ファイルと大きくは変わらないみたいと思っているのですが変更されているのでしょうか??
[bash]vi /etc/zabbix/zabbix_agent2.conf
Hostname=zabbixサーバのhostname[/bash]
Zabbix(httpd,php-fpm)サービス起動
各サービスを起動します。
[bash]systemctl start httpd
systemctl start php-fpm
systemctl start zabbix-server
systemctl start zabbix-agent2[/bash]
自動起動設定を行う場合、以下も実行
[bash]systemctl enable httpd
systemctl enable php-fpm
systemctl enable zabbix-server
systemctl enable zabbix-agent2[/bash]
ダッシュボード画面表示
お使いのwebブラウザで以下へアクセスします。
http://<zabbixサーバのIP>/zabbix/
[要件チェック画面]
Zabbixというロゴが見えているでしょうか。ダッシュボード画面の表示まであと少しです。
このページでOKになっていない項目がある場合は今までの手順のどこかが抜けている可能性が高いので
見返してみてください。
私はphp設定ファイルの編集をとばしてPHP option “data.timezone”をNGとすることがよくあります。
[DB接続設定画面]
先に設定したDBの設定とzabbixサーバの設定が完了していれば何も変更しないで
Next stepへ進んでください。
[Zabbixサーバ設定画面]
こちらも変更する必要はないと思いますのでそのままNext stepへ進んでください。
[設定確認画面]
[インストール完了画面]
[ログイン画面]
Username:Admin
Password:zabbix
※デフォルトの初期設定です。
[ダッシュボード画面]
さいごに
お疲れさまでした!!
いかがでしたでしょうか。思ったよりもインストール方法の解説だけで記事が長くなってしまいましたが
インストールからダッシュボードの表示までは比較的簡単にできるようになっているかと思います。
これが3系からのアップデートとなってきたりするとまた一段と難しくなるのですが。。
そこらへんの話はいつかできればと思います。
次回は本命の4,4の新機能 webhookの設定を解説させていただきます。
ありがとうございました。