自宅の検証環境の監視方法について検討するため、いくつかの監視ツールを試してみようと思う。
というわけで、まずはこちらを参考にOSSの監視ツールとして有名なZabbixから試してみる事にする。
なお、サーバ・エージェント共にCentOS 7を用いるものとし、バージョンはインストールの簡単なZabbix 2.2を対象とする。
1.Zabbixサーバインストール
Zabbix2.2の場合は、以下のコマンドでインストールを実施する。
yum install -y epel-release
yum install -y zabbix22 zabbix22-web zabbix22-agent zabbix22-server mariadb-server mariadb php-mysql
インストール完了後、データベースやhttpd、OS、Zabbix自体の設定を行う。
Firewalld・SELinuxの設定
以下のコマンドで、SELinuxの無効化とFirewalldの設定を行う。
setenforce 0
sed -i.bak "/SELINUX/s/enforcing/disabled/g" /etc/selinux/config
firewall-cmd --get-default-zone
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-port=10050/tcp --permanent
firewall-cmd --add-port=10051/tcp --permanent
systemctl restart firewalld
データベースの設定
Zabbixで利用するデータベースの設定をする。
参考ページと同様に、DBにはMariaDBを用いる。
(以下ではrootパスワードなどは未設定のため、別途mysql_secure_installationコマンドを実行することをおすすめする
zabbixユーザのパスワードはpasswordとなっているので、環境に応じて読み替えてもらいたい。)
systemctl enable mariadb
systemctl restart mariadb
mysql -u root -e "CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix_password';"
mysql -uzabbix -ppassword zabbix < /usr/share/zabbix-mysql/schema.sql
mysql -uzabbix -ppassword zabbix < /usr/share/zabbix-mysql/images.sql
mysql -uzabbix -ppassword zabbix < /usr/share/zabbix-mysql/data.sql
httpdの設定
/etc/httpd/conf.d/zabbix.confに設定を追記する。
cat << EOF >> /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value post_max_size 16M
php_value max_input_time 300
php_value date.timezone Asia/Tokyo
EOF
Zabbixのパスワード設定
以下のコマンドを実行し、ZabbixのDBパスワードを設定する。
sed -i '/# DBPassword/cDBPassword=zabbix_password' /etc/zabbix/zabbix_server.conf
sed -i '/# DBPassword/cDBPassword=zabbix_password' /etc/zabbix_server.conf
以上が完了したら、Zabbixを起動する。
systemctl restart zabbix-agent
systemctl enable zabbix-agent
systemctl restart zabbix-server-mysql
systemctl enable zabbix-server-mysql
systemctl restart httpd
2.Zabbixサーバ WEB設定
ブラウザを開き、「http://Zabbixサーバ ホスト名orIPアドレス/zabbix/setup.php」にアクセスし、初期設定を行う。
これで、初期設定が完了した。
デフォルトのログインID/PWは「Admin/zabbix」となっている。
3.Zabbixエージェントインストール
さて、Zabbixサーバはインストールできたので、次は監視対象サーバにZabbixエージェントをインストールする。
今回は、yumからインストール出来るZabbix 2.2を利用しているので、エージェントもyumからインストールする。
yum install -y zabbix22-agent
Zabbixエージェントの設定ファイルに、ZabbixサーバのIPアドレスを記述、サービスを開始する。
sed -i -e '/^Server\=/cServer=IPアドレス' -e '/^ServerActive\=/cServerActive=IPアドレス' -e '/Hostname=/cHostname=Zabbix Agent01' /etc/zabbix_agentd.conf
systemctl enable zabbix-agent
systemctl start zabbix-agent
Zabbixエージェント起動後、Firewalldの設定及びSELinuxの無効を行う。
setenforce 0
sed -i.bak "/SELINUX/s/enforcing/disabled/g" /etc/selinux/config
firewall-cmd --add-port=10050/tcp
firewall-cmd --add-port=10051/tcp
最後に、疎通確認としてZabbixサーバからzabbix_getコマンドでエージェントのバージョンを取得出来ることを確認する。
zabbix_get -s エージェントのIPアドレス -k agent.version
値が帰ってきたら、後はWEBコンソール上から監視対象ホストを追加するだけだ(自動で認識されるわけではない)。
少しづつ使ってみて、どれがいいか決めていこうと思う。