基于 Docker 的 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 \
    -v zbx_mariadb:/var/lib/mysql \
    -e "MYSQL_ROOT_PASSWORD=testpw"  mariadb


登录 mysql, 授权:

docker exec -it zbx_mariadb mysql -p

MariaDB > CREATE USER zabbix@"172.17.%" IDENTIFIED BY "zabbix";
MariaDB > CREATE DATABASE zabbix CHARACTER SET utf8mb4;
MariaDB > GRANT ALL ON zabbix.* TO zabbix@"172.17.%" IDENTIFIED BY "zabbix";
MariaDB > FLUSH PRIVILEGES;


zabbix-server

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


镜像 zabbix-server-mysql 基于 alpine, 如果需要在容器内安装 python, 可以进入容器执行:

apk add --no-cache python && \
    python -m ensurepip && \
    rm -r /usr/lib/python*/ensurepip && \
    pip install --upgrade pip setuptools && \
    rm -r /root/.cache



ps: 也可以直接拉取: docker pull zhegao/zabbix-server-mysql


zabbix-web

docker run -d  --name zabbix-web-nginx-mysql --link zbx_mariadb:mariadb --restart=always -p 8080:80 \
    -e DB_SERVER_HOST="zbx_mariadb" \
    -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.

转载于:https://www.cnblogs.com/tiantiandas/p/zabbix_with_docker_micro_service.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值