1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Zabbixの簡単導入

Posted at

背景

自宅サーバーを購入したのでサーバー内VMの各監視を行っていきたい
監視ツールの一つとしてZabbixがある

環境

Ubuntu 22.04.4 LTS
Docker 27.0.2

手順

準備

info
必要に応じて対応してください

sudo apt-get update
sudo apt-get install -y curl
sudo apt-get install -y vim

Zabbixインストール

作業ディレクトリは任意ですが、今回は/opt/に作成します
zabbixのリポジトリを公式サイトから取得

git clone https://github.com/zabbix/zabbix-docker.git

配下にzabbix-dockerディレクトリができたはず

中身を見てみよう

cd zabbix-docker
ls -la

注意
権限の確認をしてください

sudo chown -R <ユーザー名>:<ユーザー名> /opt/zabbix-docker/
git branch

* 7.0と出力されるが、別のバージョンを選択する場合はgit checkoutで選択してください

注意
gitコマンドでエラーが発生する可能性があるので、以下で対応

git config --global --add safe.directory /opt/zabbix-docker

シンボリックリンクが貼られているので一旦削除し、zabbixの構成を選択してcompose.yamlにコピー
(今回はcentOS + MySQLの構成を選択)

rm -rf docker-compose.yaml
cp docker-compose_v3_centos_mysql_latest.yaml docker-compose.yaml

使わないないものは削除していきましょう

rm -rf docker-compose_v3_alpine_*
rm -rf docker-compose_v3_ol_*
rm -rf docker-compose_v3_ubuntu_*
rm -rf docker-compose_v3_centos_pgsql_*
rm -rf docker-compose_v3_centos_mysql_local.yaml

docker-compose.yamlを修正します
これもいらないのは削除します

vim docker-compose.yaml
サンプル
services:
 zabbix-server:
  extends:
   file: compose_zabbix_components.yaml
   service: server-mysql
  image: "${ZABBIX_SERVER_MYSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_IMAGE_TAG_POSTFIX}"
  volumes:
   - /etc/timezone:/etc/timezone:ro
  depends_on:
   - mysql-server
  labels:
   com.zabbix.os: "${CENTOS_OS_TAG}"
  restart: always

 zabbix-web-nginx-mysql:
  extends:
   file: compose_zabbix_components.yaml
   service: web-nginx-mysql
  image: "${ZABBIX_WEB_NGINX_MYSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_IMAGE_TAG_POSTFIX}"
  volumes:
   - /etc/timezone:/etc/timezone:ro
  depends_on:
   - mysql-server
  labels:
  restart: always
 
 zabbix-web-service:
  extends:
   file: compose_zabbix_components.yaml
   service: web-service
  image: "${ZABBIX_WEB_SERVICE_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_IMAGE_TAG_POSTFIX}"
  labels:
   com.zabbix.os: "${CENTOS_OS_TAG}"
  restart: always

 mysql-server:
  extends:
   file: compose_databases.yaml
   service: mysql-server
  restart: always

 db-data-mysql:
  extends:
   file: compose_databases.yaml
   service: db-data-mysql
  restart: always

networks:
  frontend:
    driver: bridge
    driver_opts:
      com.docker.network.enable_ipv6: "${FRONTEND_ENABLE_IPV6}"
    ipam:
      driver: "${FRONTEND_NETWORK_DRIVER}"
      config:
      - subnet: "${FRONTEND_SUBNET}"
  backend:
    driver: bridge
    driver_opts:
      com.docker.network.enable_ipv6: "${BACKEND_ENABLE_IPV6}"
    internal: true
    ipam:
      driver: "${BACKEND_NETWORK_DRIVER}"
      config:
      - subnet: "${BACKEND_SUBNET}"
  database:
    driver: bridge
    driver_opts:
      com.docker.network.enable_ipv6: "${DATABASE_NETWORK_ENABLE_IPV6}"
    internal: true
    ipam:
      driver: "${DATABASE_NETWORK_DRIVER}"
  tools_frontend:
    driver: bridge
    driver_opts:
      com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}"
    ipam:
      driver: "${ADD_TOOLS_NETWORK_DRIVER}"
      config:
      - subnet: "${ADD_TOOLS_SUBNET}"

volumes:
  snmptraps:
#  dbsocket:

secrets:
  MYSQL_USER:
    file: ${ENV_VARS_DIRECTORY}/.MYSQL_USER
  MYSQL_PASSWORD:
    file: ${ENV_VARS_DIRECTORY}/.MYSQL_PASSWORD
  MYSQL_ROOT_USER:
    file: ${ENV_VARS_DIRECTORY}/.MYSQL_ROOT_USER
  MYSQL_ROOT_PASSWORD:
    file: ${ENV_VARS_DIRECTORY}/.MYSQL_ROOT_PASSWORD
#  client-key.pem:
#    file: ${ENV_VARS_DIRECTORY}/.ZBX_DB_KEY_FILE
#  client-cert.pem:
#    file: ${ENV_VARS_DIRECTORY}/.ZBX_DB_CERT_FILE
#  root-ca.pem:
#    file: ${ENV_VARS_DIRECTORY}/.ZBX_DB_CA_FILE
#  server-cert.pem:
#    file: ${ENV_VARS_DIRECTORY}/.DB_CERT_FILE
#  server-key.pem:
#    file: ${ENV_VARS_DIRECTORY}/.DB_KEY_FILE

最後に起動させてみましょう

docker compose up -d

エラーが出なければ成功です

確認

コンテナの状況はどうでしょう

dokcer ps -a

info
zabbix-docker-db-data-mysql-1は動いていなくて問題なしです
always設定でリスタートを繰り返していたら止めてあげましょう

docker stop <コンテナID>

コンテナ間のNWはどうなっているのか見てみましょう

docker network ls
docker network inspect zabbix-docker_default

最後に画面表示を見てみましょう
htttp://localhost
開けたら完了です!

ログインの初期値はAdmin/zabbixです

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?