DEVGRU

プログラミングとbitcoinのシステムトレードについて書きます

Zabbix で Docker コンテナの状態を監視する

bitcoin トレードシステムの各モジュールは基本的にDockerコンテナとして動作しており、 これが停止したときに通知を受け取りたい。

team-6.hatenablog.jp

儲けが出ているなら別だが、そうでない段階でDATADOGを課金して使うのは厳しい。

監視ならZabbixが有名で、Docker監視も対応しており、またZabbixサーバそれ自体と監視エージェントもDockerで動くため環境を汚さずクリーンに使えるそうなので試してみた。

今回はZabbix公式ではなく、monitorartist が提供しているZabbix関連のDockerイメージを使用する。 こちらは公式には入っていないXXL extensionsが入っているそうだ。

サーバは、以下のdocker-compose.yml を作り、docker-compose up -dで実行する。 Admin/zabbix でログイン可能で、それ以降は普通のサーバと同じだ。

Zabbixサーバが動くホストを見るAgentも入れておく。

version: '3'
services:
  zabbix-db:
    image: monitoringartist/zabbix-db-mariadb
    environment:
      - MARIADB_USER=zabbix
      - MARIADB_PASS=my_password
    ports:
      - "3306:3306"
    volumes:
      - zabbix-db-storage:/var/lib/mysql
      - backups:/backups
      - /etc/localtime:/etc/localtime:ro
  zabbix:
    image: monitoringartist/zabbix-xxl:3.2.6
    depends_on:
      - zabbix-db
    ports:
      - "80:80"
      - "10051:10051"
    volumes:
      - /etc/localtime:/etc/localtime:ro
    links:
      - zabbix-db:zabbix.db
    environment:
      - ZS_DBHost=zabbix.db
      - ZS_DBUser=zabbix
      - ZS_DBPassword=my_password
volumes:
  zabbix-db-storage:
    driver: local
  backups:
    driver: local

監視エージェントは、以下のdocker-compose.ymlZA_Server=(zabbix server) docker-compose up -dで実行する。

version: '3'
services:
  agent:
    image: monitoringartist/dockbix-agent-xxl-limited:latest
    privileged: true
    network_mode: "host"
    environment:
      - ZA_Server
    ports:
      - "10050:10050"
    restart: unless-stopped
    volumes:
      - /:/rootfs
      - /var/run:/var/run

サーバを起動したら、Configuration → Hosts で、Agent の動いているホスト名を登録し、 Templateに、"Template App Docker - www.monitoringartist.com"を追加する。

Monotoring → Latest data で、Dockerについてのデータが来ているか確認する。

参考:

qiita.com

Zabbix統合監視徹底活用 ~複雑化・大規模化するインフラの一元管理 (Software Design plus)

Zabbix統合監視徹底活用 ~複雑化・大規模化するインフラの一元管理 (Software Design plus)

改訂版 Zabbix統合監視実践入門──障害通知、傾向分析、可視化による省力運用

改訂版 Zabbix統合監視実践入門──障害通知、傾向分析、可視化による省力運用

Zabbix統合監視「実践」入門 ~障害通知、傾向分析、可視化による省力運用 (Software Design plusシリーズ)

Zabbix統合監視「実践」入門 ~障害通知、傾向分析、可視化による省力運用 (Software Design plusシリーズ)

統合監視ソフトウェアMIRACLE ZBX/Zabbixシステム管理

統合監視ソフトウェアMIRACLE ZBX/Zabbixシステム管理