8.2 KiB
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 |
二: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}'
重启服务,配置生效
6.创建主机
注意:采用自动发现,配置自动发现规则,设置动作直接添加主机,关联主机群组和模板
三: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
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界面启用插件
四:Grafana集成Zabbix
1.添加数据源
2.数据图形化分析
创建仪表盘
添加可视化
关联数据源