1.引言

1.1目的

zabbix+grafana实现图形化监控

2.部署环境

服务器ip服务版本
192.168.5.137zabbix-server6.0.21
192.168.5.137grafana10.2.2
192.168.5.152zabbix-client6.0.21

3.部署zabbix-server

3.1 创建zabbix目录

mkdir zabbix

3.2 编写docker-compose文件

cd zabbix

vim docker-compose.yaml
version: '3'
services:
  mysql:
    image: mysql:8.0
    container_name: mysql
    volumes:
      - ./mysql/data:/var/lib/mysql
      - ./mysql/conf:/etc/mysql/conf.d
      - ./mysql/logs:/var/log/mysql
      - /etc/localtime:/etc/localtime
    restart: always
    privileged: true
    environment:
      - MYSQL_ROOT_PASSWORD=myrootpass
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=mypass
      - TZ=Asia/Shanghai
      - LANG=en_US.UTF-8
    expose:
      - "3306"
    networks:
      zabbix-net:
    command: --character-set-server=utf8 --collation-server=utf8_bin
  zabbix-gateway:
    image: zabbix/zabbix-java-gateway:6.0-centos-latest
    container_name: zabbix-gateway
    volumes:
      - /etc/localtime:/etc/localtime
    restart: always
    privileged: true
    ports:
      - "10052:10052"
    networks:
      zabbix-net:
  zabbix-snmptraps:
    image: zabbix/zabbix-snmptraps:6.0-centos-latest
    container_name: zabbix-snmptraps
    volumes:
      - /etc/localtime:/etc/localtime
      - ./snmptraps:/var/lib/zabbix/snmptraps
      - ./mibs:/var/lib/zabbix/mibs
    restart: always
    privileged: true
    ports:
      - "1162:1162/udp"
    networks:
      zabbix-net:
  zabbix-server:
    image: zabbix/zabbix-server-mysql:6.0-centos-latest
container_name: zabbix-server
    volumes:
      - /etc/localtime:/etc/localtime
      - ./snmptraps:/var/lib/zabbix/snmptraps
      - ./mibs:/var/lib/zabbix/mibs
      - ./alertscripts:/usr/lib/zabbix/alertscripts
      - ./externalscripts:/usr/lib/zabbix/externalscripts
    restart: always
    privileged: true
    environment:
      - ZBX_LISTENPORT=10051
      - DB_SERVER_HOST=mysql
      - DB_SERVER_PORT=3306
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=mypass
      - MYSQL_ROOT_PASSWORD=myrootpass
      - ZBX_CACHESIZE=1G
      - ZBX_HISTORYCACHESIZE=512M
      - ZBX_HISTORYINDEXCACHESIZE=16M
      - ZBX_TRENDCACHESIZE=256M
      - ZBX_VALUECACHESIZE=256M
      - ZBX_STARTPINGERS=64
      - ZBX_IPMIPOLLERS=1
      - ZBX_ENABLE_SNMP_TRAPS=true
      - ZBX_STARTTRAPPERS=1
      - ZBX_JAVAGATEWAY_ENABLE=true
      - ZBX_JAVAGATEWAY=zabbix-gateway
      - ZBX_STARTJAVAPOLLERS=1
    ports:
      - "10051:10051"
    networks:
      zabbix-net:
    links:
      - mysql
      - zabbix-gateway
  zabbix-web:
    image: zabbix/zabbix-web-nginx-mysql:6.0-centos-latest
    container_name: zabbix-web
    volumes:
      - ./font/simfang.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf
      - /etc/localtime:/etc/localtime
    restart: always
    privileged: true
    environment:
      - ZBX_SERVER_NAME=Zabbix 6.0
      - ZBX_SERVER_HOST=zabbix-server
      - ZBX_SERVER_PORT=10051
      - DB_SERVER_HOST=mysql
      - DB_SERVER_PORT=3306
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=mypass
      - MYSQL_ROOT_PASSWORD=myrootpass
      - PHP_TZ=Asia/Shanghai
    ports:
      - "80:8080"
    networks:
      zabbix-net:
    links:
      - mysql
      - zabbix-server
networks:
  zabbix-net:
    driver: bridge
    ipam:
      config:
        - subnet: 10.10.10.0/24
          gateway: 10.10.10.1

3.3 启动zabbix容器

docker-compose -f docker-compose.yaml up –d

3.4 查看zabbix容器

docker ps

在这里插入图片描述

3.5 访问zabbix的web页面

url:  http://192.168.5.137:80

在这里插入图片描述

4.部署grafana

4.1创建grafana目录

mkdir grafana

4.2 编写grafana.yaml文件

cd grafana

vim grafana.yaml
version: '3.9'
services:
  grafana:
    image: grafana/grafana
    container_name: grafana
    ports:
      - "3000:3000"
    environment:
      - TZ=Asia/Shanghai
    networks:
      - grafana
    volumes:
      - ./grafana:/var/lib/grafana
networks:
  grafana:
driver: bridge

4.3启动grafana容器

docker-compose -f grafana.yaml up –d

在这里插入图片描述

4.4 安装grafana的zabbix数据源

进入grafana容器
docker exec -it grafana bash

安装zabbix数据源
grafana cli plugins install alexanderzobnin-zabbix-app

查看是否安装成功
grafana cli plugins ls

重启grafana容器
docker restart grafana

4.5 访问grafana的web页面

url:http://192.168.5.137:3000

在这里插入图片描述

5.部署zabbix-client

5.1 创建zabbix目录

mkdir zabbix

5.2 编写zabbix.yaml文件

cd zabbix

vim zabbix.yaml
version: '3'
services:
  zabbix-agent:
    image: zabbix/zabbix-agent:latest
    environment:
      - ZBX_SERVER_HOST=192.168.5.137
      - ZBX_HOSTNAME=test
    volumes:
      - ./agentd/zabbix_agentd.conf:/etc/zabbix/zabbix_agentd.conf
    ports:
      - "10050:10050"

5.3 启动zabbix客户端

docker-compose -f zabbix.yaml up –d

在这里插入图片描述

6.添加zabbix监控

6.1 添加zabbix客户端ip

在这里插入图片描述

6.2 监控zabbix客户端CPU

在这里插入图片描述

6.3添加cpu触发器

在这里插入图片描述

6.4 添加图形化界面

在这里插入图片描述

6.5 查看监控到的数据

在这里插入图片描述

7.配置grafana

7.1 添加zabbix插件

在这里插入图片描述
在这里插入图片描述

7.2搜索添加zabbix数据源

在这里插入图片描述
在这里插入图片描述

7.3 添加zabbix服务端信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.4 开启zabbix模板

在这里插入图片描述

7.5 添加zabbix监控数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

至此zabbix+grafana部署完成。
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐