へっぽこインフラエンジニアのブログ

IT業界の最底辺からこんにちは

AWS EC2上でZabbixサーバを構築してみた(Zabbix 5.0)

f:id:fujison-xyz:20200517172149p:plain

CentOS 7 + AWS EC2 環境でのZabbix 5.0の構築方法をご紹介!!!

物理サーバにZabbixはもう古い!と思う...

◆ 目次 ◆

1. EC2インスタンスを作成する

インスタンスの作成方法はググってください。
私は以下のように作成した

・CentOS 7
・t2.micro
・セキュリティグループ:アウトバウンドでSSHとHTTPを0.0.0.0/0に開放

その他はデフォルト値で。

ElasticIPの割り当ても忘れずに!
(グローバルIPが再起動の度に変わってしまいます!)

2. EC2インスタンスにSSH接続する

作成時にダウンロードした秘密鍵を使って接続する。

CentOSの場合はcentosユーザでログイン。
※ec2-userではないよ!

3. Zabbixをインストール

※紹介する手順は、一部を除き公式の手順 のパクリ と同じ。
https://www.zabbix.com/jp/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=apache

ログイン後「sudo su -」でルートユーザに切り替えます。

1. リポジトリのダウンロード
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all

※最新のリポジトリURLは以下から確認する
Zabbix Official Repository

2. Zabbix サーバーとエージェントのインストール
yum -y install zabbix-server-mysql zabbix-agent
3. Zabbix frontend のインストール
yum -y install centos-release-scl
vi /etc/yum.repos.d/zabbix.repo

↑ [zabbix-frontend]内の enabled=0 を、enabled=1 に変更する

yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
4. MariaDBのインストール
yum -y install mariadb mariadb-server
systemctl start mariadb
systemctl enable mariadb

mysql_secure_installation
    Enter current password for root (enter for none): ← 入力せずEnter
    Set root password? [Y/n] ← Yを入力してEnter
    New password: ← DBのrootパスワードを設定
    Re-enter new password: ← もう一度パスワードを入力
※その後も色々聞かれるが、全て「Y」を入力する
5. DB周りの設定
mysql -u root -p
    Enter password: ← 先ほど設定したパスワードを入力する

ここでプロンプトが「MariaDB [(none)]>」に変化している。

create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'DBユーザのパスワード';
grant all privileges on zabbix.* to zabbix@localhost;
quit;
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
    Enter password: → 設定したDBユーザのパスワードを入力する
6. Zabbixの設定ファイルを編集する
vi /etc/zabbix/zabbix_server.conf

↑ 「# DBPassword=」を「DBPassword=DBユーザのパスワード」に変更

vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

↑ 「; php_value[date.timezone] = Europe/Riga」を「php_value[date.timezone] = Asia/Tokyo」に変更

7. サービスの起動・有効化
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

4. WEB画面での設定

WEBブラウザで「http://サーバのIPアドレス/zabbix」へアクセスする

「Welcome」画面は「Next step」で飛ばす。
「Check of pre-requisites」画面も飛ばす(サーバに問題がある場合は飛ばせない)。
「Configure DB connection」画面で「DBユーザのパスワード」を入力
後の画面は適当にNextをクリックしていく。

ログイン画面まで進んだら
Username:Admin
Password:zabbix
でログインする

5. Adminパスワードの変更

画面左下「User settings」→「Change password」とクリックし、Adminパスワードを変更する

6. ホーム画面で「Zabbix server is running」が「No」と表示される問題

f:id:fujison-xyz:20200517170913p:plain
SELinuxを無効化すると直る。
※無効化したくない場合はググって解決方法を調べる。

vi /etc/selinux/config

↑ 「SELINUX=enforcing」を「SELINUX=disabled」に変更する

shutdown -r now

でサーバを再起動する。

Zabbix server is runningがYesになっている。

終わり

構築手順は以上です。

よいZabbixライフを!