• zabbix6.0 部署配置


    zabbix 6.0

    架构

    先简单介绍zabbix监控的最主要的两个组件: zabbix server zabbix agent
    server 用来部署 web console以及相关的数据存储,所以需要配合一些数据库来保存数据,比如mysql,pgsql, 又有前端的页面所以还需要配置 nginxgetway
    所以 server端需要三个服务来组成,如果没有数据库,还要在加个数据库的服务

    web console 可以方便的配置和管理 主机/监控项/监控图表 等。

    agent就比较简单了,主要就是用来采集设备或者docker服务的数据,发送给server
    可以参考官方给的说明Zabbix 概述

    部署

    我这里有三台主机需要监控,所以我选一台来部署server,我是通过docker来部署
    最终的 docker ps 查看运行的容器列表如下:

    CONTAINER ID   IMAGE                                             COMMAND                  CREATED      STATUS      PORTS                                             NAMES
    908999713a18   zabbix/zabbix-web-nginx-mysql:alpine-6.0-latest   "docker-entrypoint.sh"   5 days ago   Up 5 days   8443/tcp, 0.0.0.0:80->8080/tcp, :::80->8080/tcp   zabbix-web-nginx-mysql
    f8b6bc2c3213   zabbix/zabbix-server-mysql:alpine-6.0-latest      "/sbin/tini -- /usr/…"   5 days ago   Up 5 days   0.0.0.0:10051->10051/tcp, :::10051->10051/tcp     zabbix-server-mysql
    bde2afae52d9   mysql:8.0                                         "docker-entrypoint.s…"   5 days ago   Up 5 days   3306/tcp, 33060/tcp                               mysql-server
    5a24770317a9   zabbix/zabbix-java-gateway:alpine-6.0-latest      "docker-entrypoint.s…"   5 days ago   Up 5 days   10052/tcp                                         zabbix-java-gateway
    
    • 1
    • 2
    • 3
    • 4
    • 5

    这里最好写一个docker-compose来管理这几个虚拟机,我这没来得及搞,主要是从官网示例-从容器中安装抄过来的,就偷了个懒
    暂时先把具体的docker命令记录下:

    docker network create zabbix-net
    
    docker run --name mysql-server --network zabbix-net -t -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix"  -e MYSQL_PASSWORD="password" -e MYSQL_ROOT_PASSWORD="password"  -d mysql:8.0 --character-set-server=utf8 --collation-server=utf8_bin
    
    docker run --name zabbix-java-gateway -t \
          --network=zabbix-net \
          --restart unless-stopped \
          -d zabbix/zabbix-java-gateway:alpine-6.0-latest
    
    docker run --name zabbix-server-mysql -t \
          -e DB_SERVER_HOST="mysql-server" \
          -e MYSQL_DATABASE="zabbix" \
          -e MYSQL_USER="zabbix" \
          -e MYSQL_PASSWORD="password" \
          -e MYSQL_ROOT_PASSWORD="password" \
          -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
          --network=zabbix-net \
          -p 10051:10051 \
          --restart unless-stopped \
          -d zabbix/zabbix-server-mysql:alpine-6.0-latest
    
    docker run --name zabbix-web-nginx-mysql -t \
          -e ZBX_SERVER_HOST="zabbix-server-mysql" \
          -e DB_SERVER_HOST="mysql-server" \
          -e MYSQL_DATABASE="zabbix" \
          -e MYSQL_USER="zabbix" \
          -e MYSQL_PASSWORD="password" \
          -e MYSQL_ROOT_PASSWORD="password" \
          --network=zabbix-net \
          -p 80:8080 \
          --restart unless-stopped \
          -d zabbix/zabbix-web-nginx-mysql:alpine-6.0-latest
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    配置 agent

    接下来在每个机器上启动zabbix agent2,然后配置zabbix agent2 conf链接到server
    通过apt下载zabbix-agent2

    apt install zabbix-agent2
    
    • 1

    主要是对 /etc/zabbix/zabbix_agent2.conf 修改两个参数
    具体如下:

    Server=serverhost
    ServerActive=serverhost:10051
    
    • 1
    • 2

    然后重启zabbix agent2服务

    systemctl restart zabbix-agent2
    
    • 1

    配置 web console 主机 监控项 监控图表等

    到web页面点点点就行了。
    但是这里需要先了解zabbix的一些概念

    主机 host

    你要监控的主机,通过 ip port 配置到server,让server知道这个agent需要被监控

    可以通过主机查看主机下的监控项,告警等配置

    模板 template

    把一堆的item放到一个template,方便复用给多个host,zabbix给了很多常见的监控项组合,这里可以结合自己的场景来选择相关的预定的template,如果不能满足你的需要,那么就需要自己创建模板,添加监控项/报警等内容。

    监控项 item

    就是监控的具体指标,通过 key 保证在 zabbix 系统里的唯一性。在一个host下每一个item都有唯一的key,不同的host可以有相同key的item,比如host下都有 key = system.cpu.util[,idle] 的监控项来监控系统的idle状况。

  • 相关阅读:
    pytorch入门教程(小土堆
    STL常用算法——遍历算法
    STL--vector(使用)
    SQL 注入绕过(六)
    【CNN】MobileNet——卷积神经网络中轻量级的经典
    Redis --- 安装教程
    Elasticsearch 8.X 防止 Mapping “爆炸”的三种方案
    fastadmin 前端日期字段的添加和编辑
    Mac navicat连接mysql出现1045 - Access denied for user ‘root‘
    初级查找算法
  • 原文地址:https://blog.csdn.net/mynightgirl/article/details/134022638