Zabbix-(二) 使用docker部署
Zabbix-(二)使用docker部署
一.前言
前文记录了在服务器上搭建zabbix平台,本文记录使用docker部署zabbix 4.4
准备
- Centos7.6 虚拟机,并安装了docker 版本为18.09.6
二.docker部署
可以通过拉取官方镜像,修改启动参数,部署zabbix-server-mysql、zabbix-web-nginx-mysql、zabbix-web-nginx-mysql、zabbix-agent模块。本文记录拉取各个模块的镜像,并启动容器部署。
除此之外,也可以拉取zabbix-appliance镜像,进行部署,该镜像内置了Mysql数据库、Zabbix server、基于Nginx和Java gateway的Zabbix web页面。可以参考官方部署示例:通过Zabbix appliance部署
1.官方镜像
各模块镜像地址:
2.容器部署
mysql部署
注:如果已有数据库,那么可以省去这个步骤
docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="root" \
-d mysql:8.0 \
--character-set-server=utf8 --collation-server=utf8_bin
zabbix java gateway部署
docker run --name zabbix-java-gateway -t \
-d zabbix/zabbix-java-gateway:centos-4.4-latest
zabbix-server-mysql部署
这里link了上面部署的mysql容器和zabbix java gateway容器,并且指定数据库相关参数,和修改时区。更多的参数可以参考dockerhub zabbix-server-msql启动参数 以及 zabbix-server 4.4官方参数
注:如果启动日志无法连接到mysql,可以查看部署问题
docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_PORT="3306" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
-e ZBX_TIMEOUT="20" \
-e PHP_TZ="Asia/Shanghai" \
-v /etc/localtime:/etc/localtime \
--link zabbix-java-gateway:zabbix-java-gateway \
--link mysql-server:mysql \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:centos-4.4-latest
zabbix-web-nginx-mysql部署
需要配置数据库相关参数,并暴露容器80端口供外部18080端口访问
docker run --name zabbix-web-nginx-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_PORT="3306" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-e PHP_TZ="Asia/Shanghai" \
-v /etc/localtime:/etc/localtime \
--link zabbix-server-mysql:zabbix-server-mysql \
--link mysql-server:mysql \
-p 18080:80 \
-d zabbix/zabbix-web-nginx-mysql:centos-4.4-latest
zabbix-agent部署
docker run --name zabbix-agent \
-e ZBX_HOSTNAME="zabbix-server-mysql" \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-v /etc/localtime:/etc/localtime \
-p 10050:10050 \
--link zabbix-server-mysql:zabbix-server-mysql \
-d zabbix/zabbix-agent:centos-4.4-latest
三.访问zabbix界面
访问 http://192.168.152.140:18080/

四.其他
部署问题
无法连接到mysql,zabbix-server-mysql和zabbix-web-nginx-mysql容器打印日志
**** MySQL server is not available. Waiting 5 seconds...
原因:由于mysql镜像使用的是mysql 8.0,而zabbix-server-mysql和zabbix-web-nginx-mysql镜像中安装的mysql-client是5版本的,所以这两个容器连接mysql时会报以下错误
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
解决:修改zabbix账号
# 进入mysql-server容器
docker exec -it mysql-server /bin/bash -c 'mysql -uroot -proot' # 修改zabbix账号
ALTER USER 'zabbix'@'%' IDENTIFIED WITH mysql_native_password BY 'zabbix';
Zabbix-(二) 使用docker部署的更多相关文章
- 二、Docker部署应用
一.有关Docker的安装请参考docker官网 Docker 提供了两个版本:社区版 (CE) 和企业版 (EE). Docker 社区版 (CE) 是开发人员和小型团队开始使用 Docker 并 ...
- 【Docker学习之二】Docker部署安装
环境 docker-ce-19.03.1-3.el7.x86_64 一.Docker的部署安装 Docker采用Linux(内核)技术,所以只能运行在Linux上,官方说Linux kernel至少3 ...
- 二进制安装 kubernetes 1.12(二) - 安装docker, 部署Flannel网络
在 node 节点上安装 docker 参考 https://www.cnblogs.com/klvchen/p/8468855.html Flannel 工作原理: 部署Flannel网络 在 ma ...
- Docker部署Zabbix+Grafana监控
Docker部署Zabbix+Grafana监控 环境 centos 7 ; Docker 17.12.0-ce ; docker-compose version 1.20.1 2018-4-1 当前 ...
- docker部署nodejs项目应用
之前笔者弄了一套nestjs项目放在自己服务器上,并用pm2管理进程. 现在要把pm2停止,尝试一下用docker容器,那么首先要安装docker 一.安装docker 由于笔者服务器的系统是cent ...
- Linux上用Jexus部署Asp.Net网站:常规部署与Docker部署
(一)常规部署 一.把 jexus压缩包下载到linux临时文件夹中. cd /tmp wget linuxdot.net/down/jexus-6.2.x-arm64.tar.gz (不同的操作系统 ...
- Docker部署Zabbix监控MariaDB主从同步(Percona Monitoring Plugins for Zabbix)
一.安装Docker并部署Zabbix 建议先配置清华大学的docker-ce yum源,速度有保障:清华大学repo源 1.Zabbix Server节点配置 部署环境: [root@server0 ...
- AspNetCore容器化(Docker)部署(二) —— 多容器通信
一.前言 着上一篇 AspNetCore容器化(Docker)部署(一) —— 入门,在单个容器helloworld的基础上引入nginx反向代理服务器组成多容器应用. 二.配置反向代理转接 配置转接 ...
- docker部署zabbix
我相信大家都已经会再物理机上跑zabbix并且监控了,那么有没有想过在docker中跑zabbix?下面咱们来看看如何在docker中搭建zabbix并且监控 部署环境 2台物理机机器: zabbix ...
- docker部署zabbix并设置自动发现规则
docker部署zabbix比源码安装简单一些,特此记录: 机器准备: zabbix-server: 192.168.0.150 homeserver zabbix-agent: 192.168. ...
随机推荐
- TableViewCell的封装(显示不同内容)
http://blog.csdn.net/qq_24513939/article/details/45968123
- 工作中的开发过程(Javaweb路线,写给刚刚实习或者马上就要工作的朋友)
工作中的开发过程(Javaweb路线,写给刚刚实习或者马上就要工作的朋友) 当我还没开始工作的时候,我是对实际项目开发流程充满未知和向往的,当时很希望能够有一个过来人,给我介绍一下实际工作起来是什么样 ...
- 基于webpack实现多html页面开发框架五 开发环境配置 babel配置
一.解决什么问题 1.开发环境js.css不压缩,可在浏览器选中代码调试 2.开发环境运行http服务指向打包后的文件夹 3.babel输出浏览器兼容的js代码 二.需要 ...
- jquery.validate的一个bug
在用jquery.validate.js做输入验证中,用到了对某个字段重复性的判断,就是在某字段的验证中使用remote进行输入时用ajax不断向后台发送请求,但是奇怪的是,在你在data:{}中用n ...
- gdb调试常用方法介绍
一.概述 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.没有统一的界面,所有的操作都是通过命令的方式进行提供.对于习惯了图形界面方式进行调试的猿猿来说可能不是很顺手,但是如果你在 ...
- 压缩感知重构算法之IRLS算法python实现
压缩感知重构算法之OMP算法python实现 压缩感知重构算法之CoSaMP算法python实现 压缩感知重构算法之SP算法python实现 压缩感知重构算法之IHT算法python实现 压缩感知重构 ...
- ST MCU的UID
ST MCU芯片中的绝大部分都内置一串96位唯一标识码[unique ID].时不时有人问起这个东西,尤其最近感,觉询问它的人甚是热闹.这里跟大家一起简单分享下. 上面说了ST MCU芯片中的绝大部分 ...
- ARTS-S k8s常用命令
本地访问minikube的docker eval $(minikube docker-env) 删除statefulset kubectl delete statefulset web --casca ...
- Nginx的事件循环
首先事件循环的起点就是监听端口获取连接,我们可以在ngx_event_core_module模块的ngx_event_process_init函数中看到如下的代码: /* for each liste ...
- 使用chole创建一个连接池
using Chloe; using Chloe.Infrastructure; using Chloe.SqlServer; using System; using System.Collectio ...