🕌

Zabbix監視環境をWSL上に構築する

2024/10/26に公開

動機

監視ツールとしてよくZabbixが使われてますが、アラートをなんとなく見るばかりで動いている仕組みや設定方法をよく理解していなかったので自分で1から設定してみることにしました。

概要

WSL上にZabbix Serverを構築してDockerコンテナ(RockeyLinux9)を監視対象にするところまでやります。

実装

作業環境

WSL : Ubuntu 22.04.5 LTS (GNU/Linux 5.15.153.1-microsoft-standard-WSL2 x86_64)

Zabbix server setup

https://www.zabbix.com/download?zabbix=6.4&os_distribution=ubuntu&os_version=22.04&components=server_frontend_agent&db=mysql&ws=apache
の通りにやっただけです。http://host/zabbix にアクセスできれば成功です。

監視対象の作成(docker)

以下の記事を参考にさせて頂きました。
https://www.site24x7.jp/blog/zabbix-docker-container-monitoring/

Hostの追加

zabbixのweb UIから設定
ホスト名とipは後述するzabbix_agentd.confと一致させる必要がある

setup rockeylinux

on wsl

$ docker --version
Docker version 27.3.1, build ce12230

$ docker pull rockylinux:9.0
$ docker run -it rockylinux:9.0 /bin/bash

install zabbix agent

on container

# rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-latest.el9.noarch.rpm
# dnf clean all
# dnf install zabbix-agent

network setting

on wsl
コンテナのipとgatewayのipを控える

$ docker inspect $CONTAINER_ID
### 中略
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
### 中略

dockerグループにzabbix userを追加する

$ sudo usermod -aG docker zabbix

on container
zabbix_agentd.confを編集する

# vim /etc/zabbix/zabbix_agentd.conf
Server=172.17.0.1

ServerActive=172.17.0.1

Hostname=docker-r9

zabbix-agent起動・ログ確認

# zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
# tail -f /var/log/zabbix/zabbix_agentd.log

メトリクスが取れた

ハマったポイント・不明点

  • zabbixサーバーを立ち上げた時の言語設定で、en_USが使えず先に進めなかった(以下の記事を参考に解決)

https://qiita.com/owl149haye/items/ba9dd4dac52cc8f44092

  • Docker: Failed to fetch info data (or no data for 30m)
    Dockerに関するメトリクスが取れていない。コンテナのCPUやメモリのメトリクスは取れている。
    バージョンの問題なんでしょうか

https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/469841-since-6-4-6-containers-lots-of-zabbix-docker-failed-to-fetch-info-data

所感

自分で1度でも設定すると自信を持てる気がします。
今回はセットアップだけです。次回はItemやTrigger, Templateを設定していきます。

Discussion