2018年10月1日、Zabbix4.0がリリース されました。前バージョン3.4のリリースから約1年ぶりのバージョンアップです。Zabbix4.0 は、長期サポート(LTS)リリースのためサポート期間が5年と長いのが特徴です。また Zabbix4.0 では、監視アイテムの手動実行ができるようになりました! そこで今回は、CentOS7.5(1804)+ MySQL 8.0 に Zabbix 4.0 をインストールする手順をまとめてみました。
Zabbix 4.0 は長期サポート(LTS)リリース
冒頭にも書きましたが、Zabbix 4.0 は、LTS(Long Term Support)と呼ばれる長期サポートリリースです。前回の Zabbix 3.0 LTSリリースからは約2年半ぶりのバージョンアップになります。
Zabbix 2.2 LTS のサポートが来年2019年8月で終了しますので、Zabbix 2.2 を使っている方はそろそろ Zabbix 4.0 LTS への移行を検討するのがよさそうですね。
参考資料:Zabbix サポート期間とリリースポリシー | Zabbixオフィシャル日本語サイト
Zabbix 4.0 の新機能
Zabbix 4.0 ではたくさんの新機能が追加されています。個人的に特に注目した Zabbix 4.0 の新機能は次の3つです。
参考資料:5 What's new in Zabbix 4.0.0(Zabbix 4.0 の新機能)
監視アイテムの手動実行機能
なんといっても注目なのは、監視アイテムの手動実行機能です(Retrieve metrics immediately)この手動実行機能はローレベルディスカバリルールでも使えます。ちょっと地味な機能ですが、長年この機能を待ち望んでいた方も多いのではないでしょうか? 個人的にはこれだけでも Zabbix 4.0 を使う価値があると思います。
たとえば OS情報の取得アイテム(system.uname)は、値が頻繁に変わるものではないので更新間隔を1時間などに設定するのですが、動作を確認するのに1時間近く待たなければなりません。そのため待ってる間に他の作業をしてしまい、動作確認を忘れてしまうこともしばしばありました(^^;)
Zabbix 4.0 なら「監視データ取得(Check now)」ボタンを押せば、即座に値を取得してくれますので、動作確認がかなり楽になりますね!
アイテムタイプ「HTTPエージェント」の追加
新しく追加された「HTTPエージェント」では HTTP もしくは HTTPS で接続できる API から取得したデータを保存できます。リクエストを投げることもできるので、監視以外にも色々な用途で使えそうですね。
MySQL 8.0 のサポート
MySQL 8.0 では「groups」や「function」が予約語として追加されたため、この予約語を使う Zabbix3系では MySQL 8.0 が利用できませんでした。Zabbix 4.0 ではそれが解消され MySQL 8.0 が使えるようになっています。
参考資料:"groups" (8.0.2) and "function" (8.0.1) are reserved words since MySQL 8.0
下準備
下準備として MySQL 8.0 と PHP 7.2 をインストールできるように各種リポジトリを追加しておきます。
EPELリポジトリのインストール
yum -y update
Remiリポジトリのインストール
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
MySQLリポジトリのインストール
・Remi PHP7.2 リポジトリの有効化
vim /etc/yum.repos.d/remi.repo
(略)
enabled=0
↓
enabled=1
vim /etc/yum.repos.d/remi-php72.repo
(略)
enabled=0
↓
enabled=1
SELinux無効設定
・下記を変更
vim /etc/sysconfig/selinux
↓
SELINUX=disabled
OSを再起動します
MySQL 8.0 のインストールと設定
MySQL 8.0 のインストール
yum -y install mysql-community-server
・デフォルトの認証プラグインを変更します。(まだ caching_sha2_password には対応していないようです)
vim /etc/my.cnf
↓
default-authentication-plugin=mysql_native_password
MySQLの起動と自動起動設定
systemctl enable mysqld
mysql_secure_installation の実行
・root ユーザーの初期パスワードの確認(初期パスワードはそのまま使うことはできませんので変更が必要です)
grep password /var/log/mysqld.log
この後に設定する root ユーザーの新しいパスワードは、8文字以上で英数大文字小文字と記号が含まれていないとポリシー違反で弾かれてしまいますので注意です。
参考資料:6.5.3.2 Password Validation Options and Variables | MySQL 8.0 Reference Manual
mysql_secure_installation コマンドに「--use-default」オプションを付けてを実行します。root ユーザーのパスワード変更や、不要なユーザーやDBを削除してくれます。
(略)
Enter password for user root: <初期パスワード>
The existing password for the user account root has expired. Please set a new password.
New password: <新しいパスワード>
Re-enter new password: <新しいパスワード>
(略)
Zabbix 4.0 のインストール
Zabbix 4.0 の yum リポジトリの登録
インストール(2018年10月1日時点のバージョンは 4.0.0-2)
yum -y install zabbix-agent
yum -y install zabbix-get
Zabbix データベースとユーザーの作成
MySQLに、Zabbix用のデータベース(zabbix)とユーザー(zabbix)を作成します。
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
CREATE USER zabbix@localhost IDENTIFIED BY '<パスワード>';
GRANT ALL ON zabbix.* TO zabbix@localhost;
quit;
Zabbix 用のデータベーススキーマとデータをインポート(バージョンが変わるとディレクトリ名の青字の部分も変わります。インストールしたバージョンにあわせて指定してください)
zcat create.sql.gz | mysql -u zabbix -p zabbix
Zabbix サーバーの設定と起動
Zabbix サーバーの設定ファイルに、先ほど作成したMySQLのユーザー(zabbix)のパスワードを入力します。
vim /etc/zabbix/zabbix_server.conf
↓
DBPassword=<パスワード>
・Zabbix 用の Apache httpd 設定を変更します。
vim /etc/httpd/conf.d/zabbix.conf
↓
<IfModule mod_php7.c>
# php_value date.timezone Europe/Riga
↓
php_value date.timezone Asia/Tokyo
Zabbix サーバーの起動と自動起動設定
systemctl enable zabbix-server
Apache httpd の起動と自動起動設定
systemctl enable httpd
また、動作確認用に Zabbix エージェントも起動しておきます。
systemctl enable zabbix-agent
Zabbix エージェントの動作確認(Zabbixのバージョンが表示されればOKです)
4.0.0
firewalld設定
HTTP(80/tcp) と HTTPS(443/tcp) を開けておきます。
firewall-cmd --add-port=443/tcp --permanent
firewall-cmd --reload
・確認
firewall-cmd --list-all
interfaces: enp0s3 enp0s8
sources:
services: dhcpv6-client ssh
ports: 443/tcp 80/tcp ←この表示があればOK
(略)
Zabbix の初期設定
ブラウザで下記URLを開き、初期設定を開始します(IPアドレスはご自分の環境に読替えてください)
http://<IPアドレス>/zabbix/
「Next step」をクリックします。
すべて「OK」であれば「Next step」をクリックします。
「Password」欄に、MySQLのユーザー(zabbix)のパスワードを入力し「Next step」をクリックします。
そのまま「Next step」をクリックします。
設定した内容の最終確認です。間違えがなければ「Next step」をクリックします。
「Finish」をクリックすれば、初期設定完了です。
ユーザーパスワードと言語の変更
初期設定が終了すると、Zabbixのログイン画面が表示されますので、初期ユーザーでログインします
Username:Admin
Password:zabbix
[Administration]→[Users] をクリックします。
Alias列の「Admin」をクリックします。
Userタブを選択し、「Change password」をクリックします。
パスワードの入力欄が表示されますので、パスワードを入力し、
「Language」を「Japanese(ja_JP)」に変更したら「Update」をクリックします
一度ブラウザをリロードすると日本語表示になります
初期状態でZabbixサーバー自身のホストが登録されていますので、しばらくしてから [監視データ]→[概要] で、グループ「Zabbix Servers」タイプ「データ」を選択すると、Zabbixサーバーの監視データを閲覧することができます。
おわりに
個人的に使ってるZabbixはバージョン2.4なので、そろそろ Zabbix 4.0 への移行を検討したいと思います。
コメント
4.0からトリガーの値が見えないですが
以前バージョンと同じくトリガーの値が”正常”とか”障害”を判断するためには
どんな方法がありますか?
>zinyさん
コメントありがとうございます。
少し調べてみたのですが、その方法を見つけられませんでした(^^;)
お役に立てず申し訳ございません、、