grafana对接zabbix数据展示

目录

1、初始化、安装grafana

2、浏览器访问

3、安装zabbix

4、zabbix数据对接grafana

5、如何导入模板?

[① 设置键值](#① 设置键值)

[② 在zabbix web端完成自定义监控项](#② 在zabbix web端完成自定义监控项)

[③ garafana里添加nginx上面的的三个监控项](#③ garafana里添加nginx上面的的三个监控项)

6、如何自定义监控项?


以下实验沿用上一篇zabbix部署,再添加一台虚拟机192.168.170.6

1、初始化、安装grafana

bash 复制代码
初始化操作
systemctl disable --now firewalld
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
bash 复制代码
cd /opt
#上传软件包
yum localinstall -y grafana-enterprise-9.4.7-1.x86_64.rpm   #安装
systemctl enable --now grafana-server.service  #开启服务
netstat -lntp | grep 3000    #查询是否已经开启服务

2、浏览器访问

浏览器输入http://192.168.170.6:3000

账号/密码:admin / admin

3、安装zabbix

【设置】-【plugins】-搜索zabbix-【install】-刷新页面 - 点击开启【enable】

4、zabbix数据对接grafana

调试模板

5、如何导入模板?

https://grafana.com/dashboards 可登录该网站进行

创建监控项,举例监控cpu总数

total cpus

左侧【配置】点击【模板】找到【Linux by Zabbix agent】进入;点击上方【监控项】找到【Linux: Number of CPUs】进入;点击上方【预处理】,点击移除然后更新。

左侧【配置】点击【主机】点击agent01服务器后的监控项找到【Linux by Zabbix agent: Linux: Number of CPUs】点击测试,立即执行

首先明确命令,统计cpu数量的命令

逐一修改


如何用zabbix监控应用程序的相关指标?比如nginx并发量、连接数

确保nginx开启了状态统计模块--with-http_stub_status
nginx -V 
修改配置文件
vim /etc/nginx/conf.d/default.conf
添加一个location
location /nginx_state {
    stub_status on;
    access_log off;
}
systemctl reload nginx

可使用此命令查看并发量信息
curl -s http://192.168.170.200/nginx_state

创建脚本

bash 复制代码
cd /etc/zabbix/zabbix_agent2.d/
vim nginx_status.sh
=======================================================================
#!/bin/bash
IP=192.168.170.200
PORT=80
STUB_URI=nginx_state
 
active() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==1 {print $3}'
}
 
accepts() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $1}'
}
handled() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $2}'
}
 
requests() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $3}'
}
 
Reading() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $2}'
}
 
Writing() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $4}'
}
 
Waiting() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $6}'
}
 
process() {
    pidof nginx | wc -w
}
 
case $1 in
active)
    active
    ;;
accepts)
    accepts
    ;;
handled)
    handled
    ;;
requests)
    requests
    ;;
Reading)
    Reading
    ;;
Writing)
    Writing
    ;;
Waiting)
    Waiting
    ;;
process)
    process
    ;;
*)
    echo "$Usage: $0 {active|accepts|handled|requests|Reading|Writing|Waiting|process}"
    exit 1
esac
exit 0
=======================================================================
chmod +x nginx_status.sh

① 设置键值

bash 复制代码
vim nginx_state.conf
UserParameter=nginx.status[*],/etc/zabbix/zabbix_agent2.d/nginx_status.sh $1
#键值中括号星号表示执行键后跟的参数会传给$1
systemctl restart zabbix-agent2.service
测试命令:
zabbix_get -s '127.0.0.1' -p 10050 -k 'nginx.status[active]'
zabbix_get -s '127.0.0.1' -p 10050 -k 'nginx.status[requests]'

② 在zabbix web端完成自定义监控项

【配置】点击【模板】点击【创建模板】

添加三个监控项:【名称】搜索【Template Nginx Status】创建的模板;点击上方【监控项】,点击创建【监控项】

点击上方【触发器】点击【创建触发器】

主机关联监控模板:左侧【配置】点击 【主机】点击【Zabbix server】

查看:左侧点击【监测】点击【主机】点击【Zabbix server】点击最新数据,找到添加的三个模板

主机关联监控模板:左侧【配置】点击 【主机】点击【Zabbix server】

把监控模板用起来

③ garafana里添加nginx上面的的三个监控项

6、如何自定义监控项?

① 明确获取指标数据的方法

② 目录中准备配置文件:UserParameter=...

③ 到zabbix中添加自定义监控模块、添加监控项,监控项中调用键值,保存

④ 找到监控主机关联监控模版,等待采集数据

相关推荐
Karoku06613 小时前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
川石课堂软件测试20 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
Walden-20202 天前
构建基于 DCGM-Exporter, Node exporter,PROMETHEUS 和 GRAFANA 构建算力监控系统
docker·容器·grafana·prometheus
LuckyTHP2 天前
zabbix 7.0 安装(服务器、前端、代理等)
zabbix
牛角上的男孩3 天前
部署Prometheus、Grafana、Zipkin、Kiali监控度量Istio
grafana·prometheus·istio
与君共勉121383 天前
Zabbix proxy 主动模式的实现
运维·学习·zabbix
Amrian_robot4 天前
Zabbix 6.0 部署
运维·zabbix
小安运维日记6 天前
Linux云计算 |【第五阶段】CLOUD-DAY10
linux·运维·云计算·k8s·grafana·prometheus
川石课堂软件测试7 天前
性能测试|linux服务器搭建JMeter+Grafana+Influxdb监控可视化平台
linux·服务器·python·jmeter·机器学习·grafana·1024程序员节
無爲謂8 天前
入门 | Kafka数据使用vector消费到Loki中使用grafana展示
分布式·kafka·vector·grafana·loki·日志存储·es限制解决办法