Zabbix 微服务系统

zabbix 官网提供一个镜像 [ zabbix-appliance ], 可以直接拉起一个 zabbix-server. 但是数据库无法分离出来.

本实践使用 zabbix 官方提供的 Docker 镜像 [ zabbix-server-mysql ], [ zabbix-web-nginx-mysql ], 以及 [ mariadb ] 搭建一个 zabbix-server.

镜像说明

  • zabbix-server-mysql : 运行zabbix-server
  • mariadb: zabbix 数据库
  • zabbix-web-nginx-mysql : zabbix UI


Zabbix 微服务系统

Mariadb


docker volume create zbx_mariadb

docker run -d --name zbx_mariadb --restart=always -p 3306:3306 \
    -v zbx_mariadb:/var/lib/mysql \
    -e "MYSQL_ROOT_PASSWORD=testpw" \
    -e "MYSQL_DATABASE=zabbix" \
    -e "MYSQL_USER=zabbix" \
    -e "MYSQL_USER=zabbix"  mariadb


登录 mysql, 授权:

MariaDB > GRANT ALL ON zabbix.* TO zabbix@"172.17.%" IDENTIFIED BY "zabbix";


zabbix-server


docker run -d --name zabbix-server --restart=always -p 10051:10051 \
    -e "DB_SERVER_HOST=172.17.0.1" \
    -e "MYSQL_USER=zabbix" \
    -e "MYSQL_PASSWORD=zabbix" \
    -e "MYSQL_DATABASE=zabbix" \
    -v /etc/zabbix:/etc/zabbix \
    -v /etc/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
     zabbix/zabbix-server-mysql


zabbix-web


docker run -d  --name zabbix-web-nginx-mysql --restart=always -p 8080:80 \
    -e DB_SERVER_HOST="172.17.0.1" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix" \
    -e ZBX_SERVER_HOST="172.17.0.1" \
    -e PHP_TZ="Asia/Shanghai"  zabbix/zabbix-web-nginx-mysql


nginx 配置


server {
    listen 80;
    server_name monitor.xx;

    location / {
        proxy_pass http://172.17.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto "http";
    }
}


这里的 172.17.0.1 地址是 docker 默认的桥接地址. 当然, 这些地址都可以替换为宿主机网卡的地址.

登录验证: Admin / zabbix.

猜你喜欢

转载自www.cnblogs.com/tiantiandas/p/zabbix_with_docker_micro_service.html
今日推荐