AmazonLinux2にZabbix5.0を構築
もう秋ですね~。Zabbixを構築したい季節になりました。
MSP部の岩﨑です。 新卒で入社して3年目です。 9月にAWSのSysOps アドミニストレーターアソシエイトに合格しました。ギリギリでした。
AWS上のEC2インスタンスを使用してZabbix5.0を構築してみたので、そのインストール方法について紹介します。
Zabbix構成
インストールするZabbixの構成について紹介します。
- Zabbixのバージョン:5.0
- OS:Amazon Linux 2
- データベース:MariaDB
- ウェブサーバー:Apache
Zabbix公式サイトで紹介されているインストール方法では、Amazon Linux 2とMariaDBの選択肢がないですが
Amazon Linux 2はRed Hat Enterprise Linux 7に、MariaDBはMySQLに置き換えて考えます。
■Zabbix公式サイト - Download and install Zabbix
https://www.zabbix.com/jp/download
EC2インスタンスの準備
EC2インスタンスを準備します。Amazon Linux 2のAMIを使用してEC2インスタンスを起動してください。
また、必ず以下を確認してください。
- 作業端末からSSH接続・HTTP接続が可能なこと
- EC2インスタンスがインターネットに接続可能なこと
- EC2インスタンスがパブリックIPを持つこと。
インストール作業
インスタンスにログインして以下を実行していきます。
以下、実行するコマンドを太字とコマンドの実行結果は細字で記載しています。
OSを最新の状態にアップデートする。
sudo yum update -y
OSのタイムゾーン設定をJSTにする(デフォルトはUTCになっています。)
sudo timedatectl set-timezone Asia/Tokyo
データベース
MariaDBをインストールして起動します。
ついでに自動起動設定をして、起動状態を確認します。
sudo yum install mariadb-server -y
sudo systemctl start mariadb && sudo systemctl enable mariadb
sudo systemctl status mariadb
MariaDBのセットアップをしていきます。
sudo mysql_secure_installation
インストールしたばかりで、ルートユーザのPWがないためEnterを押します。
Enter current password for root (enter for none):
PWを決めたいのでyを選択し、PWを決めます。以降の選択肢はすべてyでよいです。
Set root password? [Y/n] y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
・・・・・・・・・・
Thanks for using MariaDB!
セットアップが終わったので、ルートユーザでログイン確認をします。
mysql -u root -p
ログインができたら抜けます。
MariaDB [(none)]> quit;
Zabbix(Zabbixサーバー、Zabbixエージェント、Apache、php)
ここからはZabbix公式のインストール手順も参照しながらやっていきます。
■Zabbix公式のインストール手順
https://www.zabbix.com/jp/download?zabbix=5.0&os_distribution=red_hat_enterprise_linux&os_version=7&db=mysql&ws=apache
Zabbix5.0用のリポジトリをインストールします。
sudo rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sudo yum clean all
Zabbixサーバーとエージェントをインストールします。
sudo yum install zabbix-server-mysql zabbix-agent -y
Red Hat Software Collectionsを有効化しません。
yum-config-manager --enable rhel-server-rhscl-7-rpms
公式手順にないのですが、CentOSのミラーサイトからCentOS-SCLo-scl-rhというリポジトリをインストールします。
sudo yum install http://mirror.centos.org/altarch/7/extras/aarch64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpm
また、公式手順では/etc/yum.repos.d/zabbix.repoのファイルを修正して、Zabbixフロントエンドのリポジトリを有効化していますが
ここではコマンドで有効化します。
sudo yum-config-manager --enable zabbix-frontend
※やっぱり気になるので覗いてみましょう。
sudo cat /etc/yum.repos.d/zabbix.repo
以下のようになっていれば大丈夫です。
[zabbix-frontend]
...
enabled=1
...
さて、公式手順に沿ってフロントエンド部分もインストール、と行きたいのですが
以下のコマンドで利用可能なパッケージを確認すると、zabbix-web-japaneseもインストールできそうです。
sudo yum list available | grep zabbix
iksemel.x86_64 1.4-2.el7.centos zabbix-non-supported
iksemel-devel.x86_64 1.4-2.el7.centos zabbix-non-supported
iksemel-utils.x86_64 1.4-2.el7.centos zabbix-non-supported
pcp-export-pcp2zabbix.x86_64 4.3.2-12.amzn2.0.1 amzn2-core
pcp-export-zabbix-agent.x86_64 4.3.2-12.amzn2.0.1 amzn2-core
zabbix-agent2.x86_64 5.0.15-1.el7 zabbix
zabbix-apache-conf-scl.noarch 5.0.15-1.el7 zabbix-frontend
zabbix-get.x86_64 5.0.15-1.el7 zabbix
zabbix-java-gateway.x86_64 5.0.15-1.el7 zabbix
zabbix-js.x86_64 5.0.15-1.el7 zabbix
zabbix-nginx-conf-scl.noarch 5.0.15-1.el7 zabbix-frontend
zabbix-proxy-mysql.x86_64 5.0.15-1.el7 zabbix
zabbix-proxy-pgsql.x86_64 5.0.15-1.el7 zabbix
zabbix-proxy-sqlite3.x86_64 5.0.15-1.el7 zabbix
zabbix-sender.x86_64 5.0.15-1.el7 zabbix
zabbix-server-pgsql.x86_64 5.0.15-1.el7 zabbix
zabbix-web.noarch 5.0.15-1.el7 zabbix-frontend
zabbix-web-deps-scl.noarch 5.0.15-1.el7 zabbix-frontend
zabbix-web-deps-scl-php73.noarch 5.0.15-1.el7 zabbix-frontend
zabbix-web-japanese.noarch 5.0.15-1.el7 zabbix-frontend
zabbix-web-mysql-scl.noarch 5.0.15-1.el7 zabbix-frontend
zabbix-web-mysql-scl-php73.noarch 5.0.15-1.el7 zabbix-frontend
zabbix-web-pgsql-scl.noarch 5.0.15-1.el7 zabbix-frontend
zabbix-web-pgsql-scl-php73.noarch 5.0.15-1.el7 zabbix-frontend
※zabbix-getやzabbix-sender、zabbix-js、zabbix-java-gatewayは必要に応じてインストールしてください。
https://www.zabbix.com/documentation/5.0/manual/concepts に説明があります(英語)。
フロントエンドのパッケージをインストールします。
sudo yum install zabbix-web-mysql-scl zabbix-apache-conf-scl zabbix-web-japanese -y
事前に用意したMariaDBにZabbixの初期データを登録します。
まずは、ルートユーザでデータベースの作成とzabbixというユーザを作成します。
mysql -uroot -p
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> create user zabbix@localhost identified by 'password'; ※PWは好きなものを指定
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit;
以下のコマンドでZabbixの初期データをインポートします。※先程指定したPWが必要です。
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Zabbixサーバーの設定ファイルにデータベースのzabbixユーザのPWを書き込みます。
sudo vi /etc/zabbix/zabbix_server.conf
DBPassword=password
PHPの設定ファイルのタイムゾーン設定を書き換えます。
sudo vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Tokyo
最後にZabbixサーバーとエージェント、ApacheとPHPを起動します。
ついでに自動起動設定をして、起動状態を確認します。
sudo systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm && sudo systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
sudo systemctl status zabbix-server zabbix-agent httpd rh-php72-php-fpm
Zabbixフロントエンドの設定
以下URLのserver_ipに対象EC2インスタンスのパブリックIPを入れてWebブラウザからアクセスします。
http://server_ip/zabbix
Zabbix5.0の画面が表示されます。
[Next step]をクリックしていきます。
設定画面が以下の順で出てくるので、適宜必要な情報を入力します。
- Check of pre-requisites
- Configure DB connection ※Passwordを入力します。
- Zabbix server details ※Nameを入力してください。ここには好きな名前を入れます。
- Pre-installation summary
最後に、入力した設定情報に誤りがないか確認したら[Finish]をクリックしてください。
ログイン画面が表示されるので、以下の情報でログインします。
- Username:Admin
- Password:zabbix
無事、ダッシュボード画面までたどり着けました。
日本語表示にしたい方はユーザ設定から言語を日本語に変更が可能です。
最後に
長くなりましたが、ここまでZabbix5.0をAmazon Linux 2にインストールして、ブラウザでフロントエンドの設定完了までを紹介しました。
実際Zabbixは監視ソフトウェアですので、ここからが本番です。
初心者の方には、ドキュメントにあるクイックスタートを参照して基本的な操作を身に着けていただければと思います。
https://www.zabbix.com/documentation/5.0/manual/quickstart
構築がめんどくさい!という方にはAWSにZabbix公式のAMI(MySQL+Nginx)があるので、利用してみてください。
■AWS Marketplace - Zabbix server virtual appliance 5.0 Medium Performance