由于公司线上服务器数量太少,又要用于生产,领导让上zabbix,但熟知zabbix搭建需要LAMP或者LNMP,如果和生产服务器混搭的话,不方便管理,也怕出问题,所以就先使用docker方式搭建管理。

zabbix组件:web、zabbix-server、zabbix-agent、如果服务器过多还需要用到zabbix-proce,这里未使用。

环境: 服务器A:172.18.237.14

服务器B:172.18.237.13

这里使用的zabbix官方镜像地址:https://hub.docker.com/r/zabbix/

下面yml中用到的镜像都在此处,以及官方提供的变量,也可以到对应镜像说明查看。

A服务器将作为server端(当然也要安装agent,监控自身),B服务器作为client端。 A服务器创建docker-compose.yml,内容如下:

version: '3'
services:
zabbix-mysql:
image: mysql:5.7
container_name: zabbix-mysql
ports:
- '13306:3306'
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: 123456
volumes:
- ./zabbix_mysql_data:/var/lib/mysql zabbix-web-apache-mysql:
image: zabbix/zabbix-web-apache-mysql
container_name: zabbix-web-apache-mysql
environment:
DB_SERVER_HOST: zabbix-mysql
DB_SERVER_PORT: 3306
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: 123456
MYSQL_ROOT_PASSWORD: 123456
ZBX_SERVER_HOST: zabbix-server-mysql
PHP_TZ: Asia/Shanghai
ports:
- '80:80'
- '443:443'
links:
- zabbix-mysql
- zabbix-server-mysql
depends_on:
- zabbix-mysql
- zabbix-server-mysql zabbix-server-mysql:
image: zabbix/zabbix-server-mysql
container_name: zabbix-server-mysql
network_mode: host
environment:
DB_SERVER_HOST: 127.0.0.1
DB_SERVER_PORT: 13306
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: 123456
MYSQL_ROOT_PASSWORD: 123456
ports:
- '10051:10051'
# links:
# - zabbix-mysql
depends_on:
- zabbix-mysql zabbix-agent:
image: zabbix/zabbix-agent
container_name: zabbix-agent
network_mode: host
environment:
ZBX_HOSTNAME: zabbix-server-agent #这里的名字可以随意填写,不影响连接
ZBX_SERVER_HOST: 127.0.0.1
ports:
- '10050:10050'

之前用别人的yml,zabbix是搭建起来了,客户端的agent也能与server建立通信,但server端自身始终无法与监听到server端的agent,zabbix-server容器网络为bridge,通过端口映射方式将10051端口对外访问,zabbix-agent用的host模式,最终效果就是:

后将yml修改为当前所示,问题解决。将zabbix-server容器也改为host模式,所以当前网络情况为:

web容器和mysql容器使用bridge网络,并将端口映射至本机对外提供访问,并通过link连接,它们之间通过bridge网络实现互访(如3306端口);

zabbix-server和zabbix-agent都使用host网络,zabbix-server与web、mysql通过host:(映射端口)进行互联(如13306端口)。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

其他client上agent的docker-compose.yml配置如下:

version: '3'
services: zabbix-agent:
image: zabbix/zabbix-agent
container_name: zabbix-agent
network_mode: host
environment:
ZBX_HOSTNAME: one #这里的名字可以随意填写
ZBX_SERVER_HOST: 172.18.237.14 #这里填写server的地址
ports:
- '10050:10050'

zabbix+docker的更多相关文章

  1. zabbix docker - 安装和初始化配置

    zabbix docker - 安装和初始化配置 安装zabbix server docker-mysql版本 zabbix server支持不同的数据库(详见zabbix的docker hub),这 ...

  2. Docker部署Zabbix+Grafana监控

    Docker部署Zabbix+Grafana监控 环境 centos 7 ; Docker 17.12.0-ce ; docker-compose version 1.20.1 2018-4-1 当前 ...

  3. Docker安装Zabbix全记录

    零.Zabbix架构设计 一.docker安装mysql 查找Docker Hub上的mysql镜像: [root@10e131e69e15 ~]# docker search mysql INDEX ...

  4. zabbix监控docker容器

    1.环境说明 由于最近zabbix进行过一次迁移,所以zabbix-server系列采用docker方式安装,参考zabbix官网:https://github.com/zabbix/zabbix-d ...

  5. Zabbix在Docker中的应用和监控

    目录 Zabbix在Docker中的应用和监控 一.如何使Zabbix跑在Docker里 1.Docker基础环境配置 2.Docker-compose安装配置 3.启动zabbix server 4 ...

  6. Docker搭建zabbix+grafana监控系统

    一.准备工作 1.mysql数据库:192.168.1.5 2.nginx服务:192.168.1.10 3.docker服务器:192.168.1.20 4.zabbix客户端若干 二.docker ...

  7. 一文掌握Docker Compose

    目录 Docker Compose介绍 Docker Compose安装 Docker Compose基本示例 1.基本文件及目录设置 2.创建一个Dockerfile 3.通过docker-comp ...

  8. Zabbix-(五)监控Docker容器与自定义jvm监控项

    Zabbix-(五)监控Docker容器与自定义jvm监控项 一.前言 前文中讲述了Zabbix对服务器硬件方面的监控功能,本文将讲述利用Zabbix监控Docker容器中的Java Web服务,并通 ...

  9. OperationCenter Docker运行环境及其依赖启动脚本

    1.Portainer docker rm -f portainer docker run -d -p : --name portainer --restart always portainer/po ...

随机推荐

  1. ZOJ 1871:Steps

    Steps Time Limit: 2 Seconds      Memory Limit: 65536 KB One steps through integer points of the stra ...

  2. 【Codevs1080】质数环

    http://codevs.cn/problem/1031/ 不讲什么,预处理素数+搜索 // <C.cpp> - Sun Oct 9 12:58:23 2016 // This file ...

  3. 10.05FZSZ Day2模拟总结

    今天的题目难度比昨天小一些,但是太菜的我还是啥也不会. 今天的出题大佬是Heaplex,他的题目中倒是出现了ZZQ,不知道是否是本人? T1.a 期望得分30,实际得分30 这道题开场发现好像有什么小 ...

  4. bzoj1407 [Noi2002]Savage——扩展欧几里得

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1407 看到一定有解,而且小于10^6,所以可以枚举: 判断一个解是否可行,就两两判断野人 i ...

  5. F5 SSLVPN 的安装问题

    WIN10下安装SSLVPN问题 1.右击计算机 -->选择管理-->查看安装的插件是否显示感叹号 2.如果显示感叹号-->则进行更新驱动-->>手动选择-->网络 ...

  6. bzoj 3743: [Coci2015]Kamp【树形dp】

    两遍dfs一遍向下,一边向上,分别记录子树内人数a,当前点到所有点的距离b,最大值c和次大值d,最大值子树p 然后答案是2b-c #include<iostream> #include&l ...

  7. 使用nginx和tomcat配置反向代理和动静分离

    背景 本人主修的编程语言是Java语言,因此最开始接触的Web开发也是JSP技术.使用Java开发的Web应用需要部署在专门的服务器程序上运行,比如Tomcat.但是一般很少会有人将Tomcat作为用 ...

  8. JAXB解析xml 的注解说明

      1.将 xml 文件中的各个节点和属性信息创建对应的Java模型 2.在Java模型中的创建与 xml 文件对应的节点和属性需要用注解来表示@XmlRootElement   将一个Java类映射 ...

  9. mysqlbinlog(日志管理工具)

    mysqlbinlog用于处理二进制的日志文件,如果想要查看这些日志文件的文本内容,就需要使用mysqlbinlog工具. 1.mysqlbinlog命令的语法 shell > mysqlbin ...

  10. 对数组名取地址&a和 数组首地址a

    #include <iostream> using namespace std; ] = {,,,,}; int main() { cout<<a<<" ...