はじめに
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 |
手順
参考にさせていただいたサイト一覧
- Zabbix 公式ドキュメント
- QiitaのZabbix関連の記事
1. 必要なパッケージのインストール
Zabbixリポジトリの追加します。
新しいバージョンが公開されている場合は以下の公式リポジトリから確認してください。
リポジトリ構成パッケージをインストールします。
$ 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 collate 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=0
↓
EnableRemoteCommands=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側の設定は完了です。
管理画面を見てみましょう!
ダッシュボードが表示される事を確認、これで初期設定は完了です。
ここまでで監視が取れるまでの設定は完了です。お疲れ様でした。
余談になりますが、個人的にはテーマは目に優しいダークテーマがおすすめです。
以下より設定が可能です。
まとめ
このあと以前に構築したマイクラサーバとdiscord-bot用サーバを監視してみましたが、
Zabbixいいですね、かなり気に入りました^^
Zabbixをもっと使えるように色々試して勉強していきたいと思いました。
それではまた!