zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Linux命令应用大词典-第11章 Shell编程
    Kubernetes 学习12 kubernetes 存储卷
    linux dd命令
    Kubernetes 学习11 kubernetes ingress及ingress controller
    Kubernetes 学习10 Service资源
    Kubernetes 学习9 Pod控制器
    Kubernetes 学习8 Pod控制器
    Kubernetes 学习7 Pod控制器应用进阶2
    Kubernetes 学习6 Pod控制器应用进阶
    Kubernetes 学习5 kubernetes资源清单定义入门
  • 原文地址:https://www.cnblogs.com/python-diy/p/10903424.html
Copyright © 2011-2022 走看看