You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
zabbix/zabbix-md/Grafana集成Zabbix企业级监控解决方案.md

8.2 KiB

Grafana集成Zabbix企业级监控解决方案

作者:行癫(盗版必究)


一:环境介绍

1.Zabbix简介

是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案zabbix能监视各种网络参数保证服务器系统的安全运营并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题

2.Grafana简介

Grafana 是一个开源的数据可视化和监控平台,它提供了强大的仪表盘和图表功能,可用于实时监控、数据分析和可视化展示

3.监控集群简介

服务器 IP地址 版本
Zabbix-Server 10.9.12.208 6.4.3
Zabbix-Agent(Kubernetes集群) 10.9.12.206-10.9.12.203 6.4.3+1.27.3
Zabbix-Mysql 10.9.12.206:30140 8.0.30
Grafana-Server 10.9.12.211 1.10.2

image-20231117103700023

image-20231117103742234

image-20231117103937503

Zabbix配置

1.安装zabbix

备注:操作系统 centos stream 9 zabbix-server 6.4.3

2.安装Mysql

备注该数据库采用kubernetes集群Deployment创建也可以服务器部署mysql 8.0

下载地址:

https://xingdiancloud.oss-cn-hangzhou.aliyuncs.com/xingdianoos/zabbix-mysql.yaml

https://github.com/blackmed/zabbix-mysql.git

apiVersion: v1
kind: ConfigMap
metadata:
  name: mysql-config-zabbix
data:
  mysql.cnf: |
    [mysqld]
    character-set-server=utf8mb4
    collation-server=utf8mb4_general_ci
    init-connect='SET NAMES utf8mb4'    
 
    [client]
    default-character-set=utf8mb4
 
    [mysql]
    default-character-set=utf8mb4

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql-zabbix
  labels:
    app: mysql-zabbix
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mysql-zabbix
  template:
    metadata:
      labels:
        app: mysql-zabbix
    spec:
      containers:
      - name: mysql-zabbix
        image: mysql:8.0.30
        ports:
        - containerPort: 3306
        env:
        - name: TZ
          value: Asia/Shanghai
        - name: MYSQL_ROOT_PASSWORD
          value: '123456'
        - name: MYSQL_DATABASE
          value: zabbix
        - name: MYSQL_USER
          value: zabbix
        - name: MYSQL_PASSWORD
          value: '123456'            
        volumeMounts:
        - mountPath: /var/lib/mysql
          name: mysql-zabbix
        - mountPath: /etc/mysql/conf.d 
          name: conf-volume
          readOnly: true  
      volumes:
      - name: mysql-zabbix
        nfs:
          path: /data/mysql_zabbix
          server: 10.9.12.250
      - name: conf-volume
        configMap:
          name: mysql-config-zabbix
---
apiVersion: v1
kind: Service
metadata:
  name: zabbix-service
spec:
  selector:
    app: mysql-zabbix
  type: NodePort
  ports:
  - port: 3306
    targetPort: 3306
    nodePort: 30140

3.安装zabbix-agent

注意修改配置文件关联zabbix-server

4.创建主机群组

注意群组名为kubernetes

5.创建监控项模板

注意采用自定义key的方式对应的脚本和配置文件如下zabbix-agent端

信息采集脚本:

#!/bin/bash
#disk io monitor index

#tps 每秒传输次数 它表示每秒磁盘完成的读写操作次数。磁盘的 TPS 越高,意味着磁盘的读写能力越强

disk_tps=`iostat | grep vda  | awk '{print $2}'`

#kB_read/s  是衡量磁盘读取速度的指标,表示每秒从磁盘读取的数据量

disk_read=`iostat | grep vda  | awk '{print $3}'`

#kB_wrtn/s 是指磁盘的写入速度,表示每秒向磁盘写入的数据量

disk_write=`iostat | grep vda  | awk '{print $4}'`

#kB_dscd/s 是指磁盘每秒从缓存中被丢弃的数据量

disk_dscd=`iostat | grep vda  | awk '{print $5}'`

#kB_read  表示从磁盘读取的总数据量

disk_read_kb=`iostat | grep vda  | awk '{print $6}'`

#kB_wrtn 表示自系统启动以来从磁盘写入的总数据量

disk_write_kb=`iostat | grep vda  | awk '{print $7}'`

echo -e "disk_tps=$disk_tps
disk_read=$disk_read
disk_write=$disk_write
disk_dscd=$disk_dscd
disk_kb_read=$disk_read_kb
disk_kb_write=$disk_write_kb"

配置文件关联采集脚本:

UserParameter=disk.io[*],bash /etc/zabbix/disk_io.sh | awk -F "=" '/^$1/{print $$2}'

重启服务,配置生效

image-20231117114912697

6.创建主机

注意:采用自动发现,配置自动发现规则,设置动作直接添加主机,关联主机群组和模板

image-20231117115009292

Grafana配置

1.安装Grafana

[root@xingdiancloud-grafana ~]# yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.1-1.x86_64.rpm

2.运行Grafana

[root@xingdiancloud-grafana ~]# systemctl start grafana-server

3.浏览器访问

注意默认端口3000 配置文件:/etc/grafana/grafana.ini 默认用户admin 默认密码admin

image-20231117115752524

4.添加数据源插件

[root@xingdiancloud-grafana ~]# grafana-cli plugins install alexanderzobnin-zabbix-app

注意:

插件地址:https://grafana.com/grafana/plugins/all-plugins/?search=za

重启服务使插件生效

[root@xingdiancloud-grafana ~]# systemctl restart grafana-server

Grafana-Web界面启用插件

image-20231117143105075

image-20231117143124634

image-20231117143215517

Grafana集成Zabbix

1.添加数据源

image-20231117143328453

image-20231117143407615

image-20231117143431283

image-20231117143630084

image-20231117143707099

image-20231117143733033

2.数据图形化分析

创建仪表盘

image-20231117143853435

image-20231117143915451

添加可视化

image-20231117143933663

关联数据源

image-20231117143957395

image-20231117144133698

image-20231117144311514

image-20231117144336855

image-20231117144400009

image-20231117144621604