我们先来看一下我们要修改得  zabbix.yaml           github   https://github.com/bboysoulcn/awesome-dockercompose

version: "3"
services:
zabbix-server:
image: "zabbix/zabbix-server-mysql:centos-4.0.4"
container_name: "zabbix-server"
restart: "always"
environment:
- "DB_SERVER_HOST=zabbix-db"
- "MYSQL_USER=root"
- "MYSQL_PASSWORD="
#- "DB_SERVER_PORT="
#- "MYSQL_DATABASE="
volumes:
- "zabbix-server-data:/var/lib/zabbix/"
- "zabbix-server-scripts:/usr/lib/zabbix/"
depends_on:
- "zabbix-db"
ports:
- "10051:10051"
extra_hosts:
- "mysql.bboysoul.com:10.10.10.200" zabbix-web:
image: "zabbix/zabbix-web-nginx-mysql:centos-4.0.4"
container_name: "zabbix-web"
restart: "always"
environment:
- "DB_SERVER_HOST=zabbix-db"
- "MYSQL_USER=root"
- "MYSQL_PASSWORD="
- "ZBX_SERVER_HOST=zabbix-server"
- "PHP_TZ=Asia/Shanghai "
#- "ZBX_SERVER_PORT="
#- "DB_SERVER_PORT="
#- "MYSQL_DATABASE="
#- "ZBX_SERVER_NAME="
depends_on:
- "zabbix-server"
- "zabbix-db"
ports:
- "8082:80"
#extra_hosts:
# - "mysql.bboysoul.com:10.10.10.200" zabbix-db:
image: "mariadb:10.2.22"
container_name: "zabbix-db"
restart: "always"
environment:
- "MYSQL_ROOT_PASSWORD="
- "MYSQL_DATABASE=zabbix"
#- "MYSQL_USER="
#- "MYSQL_PASSWORD="
#- "MYSQL_ALLOW_EMPTY_PASSWORD="
#- "MYSQL_RANDOM_ROOT_PASSWORD="
#ports:
# - "3306:3306"
volumes:
- "zabbix-db-data:/var/lib/mysql/" volumes:
zabbix-server-data:
zabbix-db-data:
zabbix-server-scripts:

  

  这不是我们想要得zabbix.ayml  和 images    我们要对它进行改造   还有一个坑   哪就是DB 没有支持UTF-8   zabbix 无法存储中文  (主要是在容器初始化时未对容器进行设置)

所以列出改造列表:

1.   DB   ImagesName   mariadb:10.2.22  不要了改为外部存储 host-ip 172.16.1.55  我在本地有个hma  就拿来用吧

2.   zabbix-web  ImagesName   zabbix/zabbix-web-nginx-mysql:centos-4.0.4   修改容器内中文乱码  同步容器和主机时间

      

     3    zabbix-service  ImagesName  zabbix/zabbix-server-mysql:centos-4.0.4     同步容器和主机时间 添加微信报警插件  同步容器和主机时间   

    4    持久化存储 数据    zabbix-web  . zabbix-server     #  /data/ zabbix-server-data   zabbix-server-scripts

start编写  dockerfile  改造  zabbix-web 容器镜像    zabbix-web-nginx-mysql:centos-4.0.4

FROM  zabbix/zabbix-web-nginx-mysql:centos-4.0.4
RUN rm -rf /usr/share/zabbix/fonts/graphfont.ttf #删除容器内原有中文支持软琏接
COPY ./simkai.ttf /usr/share/fonts/dejavu/
RUN ln -s /usr/share/fonts/dejavu/simkai.ttf /usr/share/zabbix/fonts/graphfont.ttf
simkai.ttf  #该文件为windown 中文支持字体文件      位置   控制面板-->字体-->选择一种中文字库例如“楷体”(simkai.ttf)

  开始重新构建镜像:             docker build -t zabbix/zabbix-web-nginx-mysql:centos-5.0.4  .

好开始重新改造第二个容器:   dockerfile

FROM zabbix/zabbix-server-mysql:centos-4.0.4
COPY ./weixincfg.json /etc/
COPY ./weixin /usr/lib/zabbix/alertscripts/

#对以上dockerfile 解释

 weixincfg.json   #文件为个人微信注册信息    讲解文章地址:  https://blog.csdn.net/weixin_39845407/article/details/81135946

weixin              #微信应用程序包含(weixincfg.json空白文件) 下载地址   https://mirrors.yangxingzhen.com/zabbix/wechat_zabbix.tar.gz

start 重新构建镜像      docker build -t zabbix/zabbix-server-mysql:centos-5.0.4 .

查看构建镜像结果

 好了最重要一步 修改 zabbix.yaml      

version: "3"
services:
zabbix-server:
image: "zabbix/zabbix-server-mysql:centos-5.0.4"
container_name: "zabbix-server"
restart: "always"
environment:
- "DB_SERVER_HOST=mysql.bboysoul.com"
- "MYSQL_USER=mychen"
- "MYSQL_PASSWORD=237356573"
volumes:
- "/zabbix-data/zabbix-server-data:/var/lib/zabbix/"
- "/zabbix-data/zabbix-server-scripts:/usr/lib/zabbix/"
- "/etc/localtime:/etc/localtime"
ports:
- "10051:10051"
extra_hosts:
- "mysql.bboysoul.com:172.16.1.55" zabbix-web:
image: "zabbix/zabbix-web-nginx-mysql:centos-5.0.4"
container_name: "zabbix-web"
restart: "always"
environment:
- "DB_SERVER_HOST=mysql.bboysoul.com"
- "MYSQL_USER=mychen"
- "MYSQL_PASSWORD=237356573"
- "ZBX_SERVER_HOST=zabbix-server"
- "PHP_TZ=Asia/Shanghai "
volumes:
- "/etc/localtime:/etc/localtime"
depends_on:
- "zabbix-server"
ports:
- "80:80"
extra_hosts:
- "mysql.bboysoul.com:172.16.1.55" grafana-web:

关已外接DB  我们只需要在我们本地DB hma cluster   创建 user:mychen  password: 237356573    在  creater  database  zabbix;  就可以了  等一下 我们run zabbix.yaml   容器会自动导入表数据

  

启动:    docker-compose -f ./zabbix.yaml  up -d

测试    user:  Admin   password:   zabbix

微信报警测试:                    关已报警设置 上面这篇文章也有详细说明:    https://blog.csdn.net/weixin_39845407/article/details/81135946

docker-compose 修改zabbix images 添加微信报警插件 时间同步 中文乱码 添加grafana美化zabbix的更多相关文章

  1. (原创)Linux下MySQL 5.5/5.6的修改字符集编码为UTF8(彻底解决中文乱码问题)

    « CloudStack+XenServer详细部署方案(10):高级网络功能应用 (总结)CentOS Linux 5.x在GPT分区不能引导的解决方法 » 2013-1 11 (原创)Linux下 ...

  2. zabbix如何实现微信报警 转载

    现实生产环境中,我们通常使用邮件和短信接受zabbix报警信息,但是邮件经常被工作人员搁置在角落中甚至被设置为垃圾邮件被过滤掉.公司的短信接口又太贵,复杂环境中使用短息报警会使运维成本增加很多.微信提 ...

  3. zabbix监控,微信报警

    微信告警 访问这个地址创建企业微信   https://work.weixin.qq.com/  

  4. zabbix配置企业微信报警

    +++++++++++++++++++++++++++++++++++++++++ 1. 工作中最长使用的就是微信,普及,开源,而且免费!!! 2. 在企业微信中要记录的值: · 部门id · 企业i ...

  5. 【转贴】Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)

    原文地址; http://www.ha97.com/5359.html PS:昨天一同事遇到mysql 5.5中文乱码问题,找我解决.解决了,有个细节问题网上没人说,我就总结一下. 一.登录MySQL ...

  6. Linux下MySQL 5.6的修改字符集编码为UTF8(彻底解决中文乱码问题)

    一.登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:+--------------------------+----------------- ...

  7. Linux下修改MySQL数据库字符编码为UTF-8解决中文乱码

    由于MySQL编码原因会导致数据库出现乱码. 解决办法: 修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码. 具体操作: 1.进入MySQL控制台 &g ...

  8. ubuntu中文乱码--添加中文字符集

    在Ubuntu支持中文后(方法见上篇文章),默认是UTF-8编码,而Windows中文版默认是GBK编码.为了一致性,通常要把Ubuntu的默认 编码改为GBK.当然你也可以不改,但这会导致我们在两个 ...

  9. Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)

    一.登录MySQL查看用SHOW VARIABLES LIKE 'character%';下字符集,显示如下: +--------------------------+---------------- ...

随机推荐

  1. WebView 中图片长按出现弹框,点击存储图像闪退的解决方案

    在使用 WKWebView 展示 H5 时,如果 H5 中有图片,长按图片会出现弹框,在 iOS11 系统中,存储图像,如果未开启相册权限,会直接 Crash 掉: 解决方案一(原生解决): 在代理方 ...

  2. location练习!(重点)

    写location最重要的就是hosts文件,添加一次域名跳转就得添加一条hosts文件 hosts文件: 192.168.200.120 www.a.com 192.168.200.119 www. ...

  3. a链接内容过长,换行

    上图为溢出情况,此情况均为 英文或数字,但亲测,中文也可正常换行. 添加   word-wrap: break-word;  后,正常换行. 若不希望换行,设为  white-space: nowra ...

  4. php 基础 PHP保留两位小数的几种方法

    $num = 10.4567; //第一种:利用round()对浮点数进行四舍五入 echo round($num,2); //10.46 //第二种:利用sprintf格式化字符串 $format_ ...

  5. java 多线程小记

    /*java里面实现多线程一般有两种方式 * 1,继承Thread类,实现run方法 * 2,实现Runnable接口,实现run方法 * start方法可以新建一个线程,创建多线程必须调用此方法 * ...

  6. js前台给echarts赋值

    //资金变化趋势function initChart22(theme) { // var data = JSON.parse('{data:'+chartInfo[0].zjbhqs+'}') // ...

  7. 从Facebook、苹果到外卖平台,“阴谋论”推动巨头企业不断蜕变

    不可否认的是,在互联网向前加速推进的过程中,巨头企业和独角兽扮演着重要角色.它们以多元创意和深厚技术.资金实力,一步步改造着大众的互联网生活.而在此前,人们对巨头企业.独角兽的态度是颇为依赖的.但自从 ...

  8. iOS 开发之 开发一款自己的美颜相机

    以前在公司做项目时很少遇到对相机.图片进行处理的(非公司业务),只是偶尔上传,裁剪,预览下.近期自己准备写个相机应用,把图片处理的这些技术细节整理下.包含美颜相机,图片美化,简单拼图,艺术拼图等主要模 ...

  9. npm和npx

    npx 指令会先在项目的node_modules里面找资源包 npm info 包名称  [查看资源包的信息]

  10. Python 基础之匿名函数 迭代器和高阶函数

    一.匿名函数 lambda表达式 用一句话来表达只有返回值的函数,叫匿名函数特点:简洁方便语法:lambda 参数: 返回值 1.不带有参数的lambda表达式 def func():    retu ...