基本原理、须知:
1、zabbix 分为zabbix server和zabbix agent,其中zabbix server需要web环境,并且其数据存储在独立的数据库中;
2、docker是一种容器服务,它是基于操作系统的虚拟化,可以减少应用对操作系统环境的依赖,并且它鼓励使用者单个应用使用独立的容器
3、各大应用均制作了官方的docker镜像,保存在docker hub中,地址:hub.docker.com,官方镜像的使用说明也可以在这个地址找
4、本文我们采用lnmp的web环境,并且完全使用官方的docker镜像,分别如下:
web环境:zabbix/zabbix-web-nginx-mysql
zabbix server:zabbix/zabbix-server-mysql
zabbix agent:zabbix/zabbix-agent
mysql:mysql

步骤:
1、docker的安装省略
server docker start
2、安装mysql
docker pull mysql
docker run --name mysql -e MYSQL_ROOT_PASSWORD=secret -d mysql
docker logs ID查看一下日志有无报错,没有的话继续下一步,这时候ps -ef| grep mysql应该已经启动
3、安装web环境
docker pull zabbix-web-nginx-mysql
docker run --name zabbix-web-nginx-mysql --link mysql:mysql -e DB_SERVER_HOST=mysql -e MYSQL_USER=root -e MYSQL_PASSWORD=secret -e ZBX_SERVER_HOST=zabbix-server -e PHP_TZ=Asia/Shanghai -p 80:80 -d zabbix/zabbix-web-nginx-mysql
docker logs ID查看一下日志有无报错,没有的话继续下一步,这时候访问IP:80应该能打开zabbix的报错界面,且ps -ef | grep nginx|php-fpm均已启动
4、安装zabbix server
docker pull zabbix/zabbix-server-mysql
docker run --name zabbix-server-mysql --link mysql:mysql -e DB_SERVER_HOST=mysql -e MYSQL_USER=root -e MYSQL_PASSWORD=secret -p 10051:10051 -d zabbix/zabbix-server-mysql
docker logs ID查看一下日志有无报错,没有的话继续下一步,这时候访问IP:80应该能打开zabbix的登录页面,账号密码分别是Admin:zabbix
5、安装zabbix agent
docker pull zabbix/zabbix-agent
docker run --name zabbix-agent -e ZBX_HOSTNAME=zabbix-agent -e ZBX_SERVER_HOST=zabbix-server -d zabbix/zabbix-agent
docker logs ID查看一下日志有无报错,这时候进zabbix server的最近数据里应该有数据(这里的agent是主被动混合模式,zbx的图标不会变绿,并且server中需要手动enable agent)
如果没有数据,可能是server和agent用的不是同一个network
6、一键部署zabbix server
1)安装docker compose
curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
2)配置docker-compose.yml
在任意路径创建docker-compose.yml,内容如下:

version: ''
services:
mysql:
image: mysql
container_name: mysql
environment:
- MYSQL_ROOT_PASSWORD=secret
networks:
- zbx-net
web:
image: zabbix/zabbix-web-nginx-mysql
container_name: zabbix-web-nginx-mysql
environment:
- DB_SERVER_HOST=mysql
- MYSQL_USER=root
- MYSQL_PASSWORD=secret
- ZBX_SERVER_HOST=zabbix-server
- PHP_TZ=Asia/Shanghai
ports:
- '80:80'
links:
- mysql
- zabbix-server
depends_on:
- mysql
networks:
- zbx-net
zabbix-server:
image: zabbix/zabbix-server-mysql
container_name: zabbix-server-mysql
environment:
- DB_SERVER_HOST=mysql
- MYSQL_USER=root
- MYSQL_PASSWORD=secret
ports:
- '10051:10051'
links:
- mysql
depends_on:
- mysql
networks:
- zbx-net
networks:
zbx-net:

启动docker-compose: docker-compose up
启动zabbix agent:
docker run --name zabbix-agent -e ZBX_HOSTNAME='Zabbix server' -e ZBX_SERVER_HOST=zabbix-server --network root_zbx-net -d zabbix/zabbix-agent

PS: 在实际应用的中还需要增加挂载等

docker 一键安装zabbix server、zabbix agent的更多相关文章

  1. Zabbix安装(server和agent)及基本配置

    简介 zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制 ...

  2. zabbix server、agent安装及使用

    先准备yum源,当然你有打好的rpm包那更好 [root@linux-node1 ~]# cat /etc/yum.repos.d/zabbix.repo [zabbix] name=Zabbix O ...

  3. zabbix之 zabbix server 跟 agent 更换ip地址

    描述: zabbix server端跟agent端更改 ip . 改完之后,相应配置文件 (zabbix_agentd.conf.zabbix_server.conf)的ip也进行了替换 但是依旧报错 ...

  4. docker一键安装

    1.任意新服务器上一键安装最新版docker curl -s https://get.docker.com/ | sh 注:安装完成之后,docker默认是没有启动的,需要启动docker 2.doc ...

  5. 在CentOS下利用Docker一键安装seafile

    https://cloud.seafile.com/published/seafile-manual-cn/docker/pro-edition/%E7%94%A8Docker%E9%83%A8%E7 ...

  6. Docker 一键安装及Docker管理面板Portainer中文汉化

       前言 Docker接触了一段时间了,批量操作过程中感觉太繁琐,所以找到了好评率比较高的Portainer面板,使用后感觉的确不错所以准备拿出来精力来做个汉化版,过程中发现词条非常多,所以暂时先汉 ...

  7. zabbix server&proxy部署操作过程

    zabbix server&proxy部署操作过程 系统:ubuntu20.04 zabbix版本: 5.4 安装zabbix server 安装方式: 包管理安装,docker,源码,app ...

  8. 运维监控-基于yum的方式部署Zabbix Server 4.0 版本

    运维监控-基于yum的方式部署Zabbix Server 4.0 版本 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.如何选择zabbix版本 1>.打开zabbix官方 ...

  9. zabbix4.4 (server,proxy,agent)安装部署实战

    一. 部署架构图 二. 安装环境及版本信息 操作系统:centos7 zabbix版本: 4.4 mysql: 5.7.28 三.zabbix server安装(192.168.182.132) rp ...

随机推荐

  1. Docker可视化管理工具Shipyard安装与配置

    Shipyard简介 Shipyard是一个集成管理docker容器.镜像.Registries的系统,它具有以下特点: 1.支持多节点的集成管理 2.可动态加载节点 3.可托管node下的容器 镜像 ...

  2. php获取中文字符拼音首字母

    //php获取中文字符拼音首字母 function getFirstCharter($str){ if(empty($str)){ return ''; } $fchar = ord($str{0}) ...

  3. Spring-Security+Freemarker 开启跨域请求伪造防护功能

         CSRF简介--摘抄自<Spring实战(第4版)> 我们可以回忆一下,当一个POST请求提交到"/spittles"上时,SpittleController ...

  4. yii pageTitle与Yii::app()->name的区别

    我们会在main中修改:  'name'=>'傻逼管理系统', 在视图页中:Yii::app()->name时,会输出  傻逼管理系统:可是当我们用$this->pageTitle时 ...

  5. 老男孩Python全栈开发(92天全)视频教程 自学笔记07

    day7课程内容: Python的编码解码 二进制 --->ASCII:只能存英文和拉丁字符,一个字符占一个字节,8位 ------->gb2312:只能6700多个中文,1980年 -- ...

  6. LINUX signal 信号

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  7. ActiveMq笔记2-消息持久化

    为了避免意外宕机以后丢失信息,需要做到重启后可以恢复消息队列,消息系统一般都会采用持久化机制. ActiveMQ的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB, 无论使用哪种持久化方 ...

  8. IS-IS 路由协议 总结

    第一章 is-is的协议概述 1. 发展史 Is-is最早是iso为osi模型中CLNP而设计的协议,后来根据发展需要,也支持了TCP/IP协议,因此,is-is叫做integrated is-is或 ...

  9. PCIe设备的配置空间

    关于PCI设备的配置空间网上已经有很多资料了,如下图就是PCI设备必须支持的64个字节的配置空间,范围为0x00-0x3f. 很多PCI设备仅仅支持者64字节的配置空间.PCI和PCIe配置空间的区别 ...

  10. freemarker.template.TemplateException:Macro has no such argument:params

    1.错误描述 freemarker.template.TemplateException:Macro mainSelect has no such argument:params 2.错误原因 在宏定 ...