LoginSignup
2
1

More than 3 years have passed since last update.

Zabbix4.4を構築してみた話

Posted at

はじめに

Zabbixを触ってみたいなと思い、せっかくならGCPで、かつ構築した時点(2020年2月)でZabbix最新版の4.4で構築してみました。

構成

まずはZabbixサーバ用のインスタンスを作成します。
以下のように作成しました。
マシンスペックに関しては監視対象の数や登録する監視項目の数で必要なスペックが変わってきますが、
今回はテストなので適当です。

項目 内容
インスタンス名 zabbix-server
リージョン us-central1
ゾーン us-central1-f
マシンタイプ n1-standard-2(vCPU x 2、メモリ 7.5 GB)
ブートディスク CentOS 7
IPアドレス 静的IPアドレスを作成

使用した環境は以下になります。

項目 内容
OS CentOS 7.7
ミドルウェア Apache
MariaDB
PHP
Zabbix server 4.4
Zabbix agent 4.4

手順

参考にさせていただいたサイト一覧

1. 必要なパッケージのインストール

Zabbixリポジトリの追加します。
新しいバージョンが公開されている場合は以下の公式リポジトリから確認してください。

Zabbix Official Repository

リポジトリ構成パッケージをインストールします。

$ rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

次に、前提として必要なパッケージをインストールしていきます。
phpについては groupinstallを使い関連パッケージも一緒にインストールします。

# 必要パッケージのインストール
$ yum install httpd

$ yum install mariadb mariadb-server

$ yum groupinstall php

次にZabbixサーバに必要なパッケージをインストールします。
yes/noを何度か聞かれますがすべてyで進めてください。面倒でしたら発行コマンドに-yをつけて実行しますと、すべてyで実行されます。


$ yum install zabbix-web-mysql zabbix-web-japanese zabbix-server-mysql

2.もろもろ設定していく

まずはZabbix serverの設定から行います。


# 設定ファイルの編集 - 該当行のコメントアウトを外し、DBのパスワードを設定する
$ vi /etc/zabbix/zabbix_server.conf
以下変更内容
-------------------------------------------------
# DBPassword=DBPassword=xxxxxxxxxx <---ここに任意のパスワードを記載
-------------------------------------------------

次にDBの設定を行います。

# 自動起動設定を有効にする
$ systemctl enable mariadb
# サービスの起動
$ systemctl start mariadb

# DBの初期設定を実施 
# yes/noを何度か聞かれますがすべて[y]で進めてください。パスワードはzabbix_server.confで設定したものと同じものにしました。
$ mysql_secure_installation

# DBへログイン
$ mysql -u root -p <パスワード>

# データベースzabbix文字セットutf8 collat​​e utf8_binを作成します。
MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;

MariaDB [(none)]> CREATE USER zabbix@localhost IDENTIFIED BY '<パスワード>';

MariaDB [(none)]> GRANT ALL ON zabbix.* TO zabbix@localhost;

MariaDB [(none)]> quit
Bye

Zabbix用のスキーマファイルをデータベースに読み込みます。

$ zcat /usr/share/doc/zabbix-server-mysql-4.4.*/create.sql.gz | mysql -u zabbix -p zabbix
Enter password:  ←DBユーザzabbixのパスワードを入力

SELinuxの設定を無効化し、OSを再起動します。

$ vi /etc/sysconfig/selinux
#変更箇所
SELINUX=enforcing
↓
SELINUX=disabled

#再起動
$ reboot

ファイアウォール設定(zabbixサーバ側)


$ firewall-cmd --add-port=10051/tcp --zone=public --permanent
success
$ firewall-cmd --add-service=http --zone=public --permanent
success
$ firewall-cmd --reload
success

Apacheの自動起動設定とサービス起動を行います。

$ systemctl enable httpd
$ systemctl start httpd

ざっくり最低限Zabbixサーバ側の設定は以上です。

3. 監視対象の設定

ここからは監視対象側での設定となります。

zabbix-agentのインストール


# Zabbixリポジトリの追加
$ rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

$ yum install zabbix-agent

設定ファイルの編集

$ vi /etc/zabbix/zabbix_agentd.conf
# リモートコマンド監視の有効化, コメントアウトを外して、値を1に変更する
#以下変更箇所
# EnableRemoteCommands=0EnableRemoteCommands=1

# 監視を許可するサーバIPアドレス
# ZabbixサーバのIPアドレスに変更する
Server=127.0.0.1
↓
Server=xxx.xxx.xxx.xxx

# アクティブチェック監視データの送信先サーバIPアドレス
# ZabbixサーバのIPアドレスに変更する
ServerActive=127.0.0.1
↓
ServerActive=xxx.xxx.xxx.xxx

# OS上のホスト名ではなく、Zabbix監視設定上のホスト名なので注意
Hostname=Zabbix server
↓
Hostname=myhost01

zabbix-agentの自動起動設定とサービス起動を行います。

$ systemctl enable zabbix-agent

$ systemctl start zabbix-agent

ファイアウォール設定(被監視サーバ側)


$ firewall-cmd --add-port=10050/tcp --zone=public --permanent

$ firewall-cmd --add-source=<ここにZabbixサーバのIPアドレス> --zone=public --permanent

$ firewall-cmd --reload

ざっくり最低限Zabbix-agent側の設定は完了です。

管理画面を見てみましょう!

画面の説明に沿って初期設定を進めていく
スクリーンショット 2020-02-04 16.17.01.jpg

ダッシュボードが表示される事を確認、これで初期設定は完了です。
スクリーンショット 2020-07-03 22.03.38(2).jpg

ここまでで監視が取れるまでの設定は完了です。お疲れ様でした。

余談になりますが、個人的にはテーマは目に優しいダークテーマがおすすめです。
以下より設定が可能です。
スクリーンショット 2020-07-03 22.10.01(2).jpg

ダッシュボードはこんな感じ
スクリーンショット 2020-07-03 22.10.36(2).jpg

まとめ

このあと以前に構築したマイクラサーバとdiscord-bot用サーバを監視してみましたが、
Zabbixいいですね、かなり気に入りました^^

Zabbixをもっと使えるように色々試して勉強していきたいと思いました。
それではまた!

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