English: README-en.md
Debian 13上で Xymon 4.3.30 と lighttpd をDocker環境で動作させる、簡易導入セットです。
XymonをDocker環境で簡単に導入するための構成です。
基本的には xymon-client から詳細なシステム情報を収集する用途ではなく、
- Ping監視
- SSL証明書期限監視
- DNS監視
- HTTP監視
- その他のネットワークサービス監視
などを簡単に行うことを目的としています。
監視対象のCPU・メモリ・ディスクなどの詳細な情報を収集したい場合は、SNMPを利用するLibreNMSなどの利用が適しています。
- x86_64 CPU
- Docker Engine / Docker Compose
- メモリ:512MB以上
- Disk:10GB以上
任意のDockerホスト上で作業用ディレクトリを作成します。
mkdir -p /docker/xymon
cd /docker/xymon以下の3ファイルを配置します。
Dockerfile
compose.yml
setup.sh
その後、
chmod +x setup.sh
./setup.shを実行してください。
Docker imageのbuild、初期設定、コンテナの起動まで自動的に行います。
デフォルトでは、以下のURLからアクセスできます。
http://[DockerホストのIPアドレス]:58880/xymon/
ユーザー名:admin
パスワード:admin
ユーザー名:xymon
パスワード:xymon
初回ログイン後にパスワードを変更してください。
setup.sh 内の以下の範囲を編集してください。
Password setting section start
から
Password setting section end
までが初期パスワードの設定部分です。
以下のファイルを htpasswd で作成したファイルに置き換えてください。
一般ユーザー用:
/docker/data/xymon01/data/web-htpasswd
管理者用:
/docker/data/xymon01/etc/htpasswd
Xymonの設定・データ・ログはホスト側の以下のディレクトリに保存されます。
/docker/data/xymon01/
Dockerコンテナを削除・再作成しても、このディレクトリのデータは保持されます。
network_mode: host を使用しています。
そのため、Dockerのbridge networkではなく、Dockerホストのネットワークを直接使用します。
Webポートは compose.yml の
environment:
XYMON_WEB_PORT: 58880で変更できます。
通知用スクリプトなどを追加できるように、jq と curl をインストールしています。
例えばTelegram、WebexなどのWebhook/APIを利用した通知スクリプトを追加できます。
不要な場合は、Dockerfileから jq と curl を削除してください。
参考値:
Docker image使用量:約908MB
実際のサイズはDockerのバージョンやイメージ構成によって変わる場合があります。
実測では、Xymonコンテナは起動後に約4MiB程度まで低下しました。
- Debian 13.5 minimal
- RAM: 512MB
- Disk: 15GB
- Docker Engine: 29.8.0
- Xymon container memory: approximately 4 MiB
- Host memory available with Xymon running: approximately 300 MB