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

我们先来看一下我们要修改得  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

 

posted @ 2019-05-22 01:05  coding_python  阅读(845)  评论(0编辑  收藏  举报