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

286 lines
8.2 KiB

<h1><center>Grafana集成Zabbix企业级监控解决方案</center></h1>
作者:行癫(盗版必究)
------
## 一:环境介绍
#### 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](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117103700023.png)
![image-20231117103742234](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117103742234.png)
![image-20231117103937503](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117103937503.png)
## 二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
```yaml
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端
信息采集脚本:
```shell
#!/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"
```
配置文件关联采集脚本:
```shell
UserParameter=disk.io[*],bash /etc/zabbix/disk_io.sh | awk -F "=" '/^$1/{print $$2}'
```
重启服务,配置生效
![image-20231117114912697](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117114912697.png)
#### 6.创建主机
注意:采用自动发现,配置自动发现规则,设置动作直接添加主机,关联主机群组和模板
![image-20231117115009292](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117115009292.png)
## 三Grafana配置
#### 1.安装Grafana
```shell
[root@xingdiancloud-grafana ~]# yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.1-1.x86_64.rpm
```
#### 2.运行Grafana
```shell
[root@xingdiancloud-grafana ~]# systemctl start grafana-server
```
#### 3.浏览器访问
注意默认端口3000 配置文件:/etc/grafana/grafana.ini 默认用户admin 默认密码admin
![image-20231117115752524](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117115752524.png)
#### 4.添加数据源插件
```shell
[root@xingdiancloud-grafana ~]# grafana-cli plugins install alexanderzobnin-zabbix-app
```
注意:
插件地址https://grafana.com/grafana/plugins/all-plugins/?search=za
重启服务使插件生效
```shell
[root@xingdiancloud-grafana ~]# systemctl restart grafana-server
```
Grafana-Web界面启用插件
![image-20231117143105075](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117143105075.png)
![image-20231117143124634](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117143124634.png)
![image-20231117143215517](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117143215517.png)
## 四Grafana集成Zabbix
#### 1.添加数据源
![image-20231117143328453](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117143328453.png)
![image-20231117143407615](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117143407615.png)
![image-20231117143431283](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117143431283.png)
![image-20231117143630084](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117143630084.png)
![image-20231117143707099](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117143707099.png)
![image-20231117143733033](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117143733033.png)
#### 2.数据图形化分析
创建仪表盘
![image-20231117143853435](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117143853435.png)
![image-20231117143915451](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117143915451.png)
添加可视化
![image-20231117143933663](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117143933663.png)
关联数据源
![image-20231117143957395](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117143957395.png)
![image-20231117144133698](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117144133698.png)
![image-20231117144311514](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117144311514.png)
![image-20231117144336855](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117144336855.png)
![image-20231117144400009](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117144400009.png)
![image-20231117144621604](https://diandiange.oss-cn-beijing.aliyuncs.com/image-20231117144621604.png)