grafana对接zabbix数据展示

目录

1、初始化、安装grafana

2、浏览器访问

3、安装zabbix

4、zabbix数据对接grafana

5、如何导入模板?

① 设置键值

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

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

6、如何自定义监控项?


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

1、初始化、安装grafana

初始化操作
systemctl disable --now firewalld
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
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

创建脚本

cd /etc/zabbix/zabbix_agent2.d/
vim nginx_status.sh
=======================================================================
#!/bin/bash
IP=192.168.170.200
PORT=80
STUB_URI=nginx_stateactive() {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

① 设置键值

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中添加自定义监控模块、添加监控项,监控项中调用键值,保存

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/49975.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【React学习打卡第三天】

Redux快速上手、三个核心概念、React组件使用、修改store的数据、提交action传参、异步操作、Redux调试 一、Redux快速上手1.概念2.快速体验(纯redux计数案例) 3.三个核心概念 二、Redux与React-环境准备1.配套工具2.配置基础环境3.store目录结构设计![在这里插入图…

SpringMvc有几个上下文

你好,我是柳岸花明。 SpringMVC作为Spring框架的重要组成部分,其启动流程和父子容器机制是理解整个框架运行机制的关键。本文将通过一系列详细的流程图,深入剖析SpringMVC的启动原理与父子容器的源码结构。 SpringMVC 父子容器 父容器的创建 …

Leetcode700.二叉搜索树中搜索具体值

二叉搜索树的定义: 一颗空树或者具有以下性质的二叉树: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值;任意节…

Perl文件系统过滤:数据筛选的艺术

Perl文件系统过滤:数据筛选的艺术 在Perl编程中,文件系统过滤是一种强大的技术,它允许开发者根据特定的规则对文件和目录进行筛选。通过文件系统过滤,可以轻松实现文件搜索、数据提取和自动化任务。本文将详细介绍Perl中的文件系…

数据结构初阶(c语言)-双向链表

这里首先纠正上篇文章一个错误,链表的一个有效数据点应该称为结点而不是节点。 一,双向链表的概念与结构 1.1概念与结构示意图 我们所说的双向链表全称为带头双向循环链表,也就是说此链表带有哨兵位结点(不存放任何数据的结点,且…

c++ 学习笔记之多线程:线程锁,条件变量,唤醒指定线程

基于CAS线程加锁方式 CAS(Compare-And-Swap)和 mutex 都是用于实现线程安全的技术,但它们适用于不同的场景,具有不同的性能和复杂性。下面是对两者的区别和使用场景的详细解释: CAS(Compare-And-Swap&…

【Git多人协作开发】知识点总结

目录 知识点总结 1.创建dev分支开发 1.1在本地创建 1.1在远程创建(推荐) 2.远程分支和本地分支建立连接☞pull和push操作 2.1情况1 2.2情况2 2.3情况3 3.本地仓库对远程仓库的拉取pull操作 3.1情况1 3.2情况2 4.将开发分支的内容合并到远程m…

【Week-G5】适用于图像翻译的pix2pix模型-Pytorch版本

文章目录 1、基础知识1.1 图像翻译1.2 CGAN1.3 U-Net1.4 Pix2Pix 2、运行代码 🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 本次主要学习Pix2Pix网络,常用于图像翻译&#…

CVE-2020-7248 OpenWRT libubox标记二进制数据序列化漏洞(更新中)

提要 该文档会一直处于更新当中,当状态为完毕后,才是更新完成。由于网络上关于该漏洞原理的分析文档和资源实在是太少,而本人关于该方向也才是刚入门,能力有限,所以复现需要的时间较长,需要补充和学习的东西…

用Manim实现【多边形】类的实现——[上]

用Manim实现【多边形】类的实现——[上] Polygram内容是关于不同几何图形的分类,特别是涉及多边形(Polygon)及其扩展形式,比如多图形(Polygram)。在manim中有10中特征,接下来5种类及其特征的解…

错误代码-130 proxy_connection_failed的解法

fiddler连接手机抓包时,下载证书遇到的报错 解决方法:关闭手机的代理服务器就可以了

Python while编程题|Python一对一辅导练习题目

逐步逼近游戏: 写一个程序模拟“热和冷”游戏,其中计算机随机选择一个1到100之间的数字,用户必须猜这个数字。程序应该用 while 循环持续接收用户输入,直到猜中为止。对每个猜测,程序应告诉用户是太高、太低还是正确。…

Pytorch 7多维

多维读取 numpy xy np.loadtxt(diabetes.csv, delimiter,, dtypenp.float32)print("input data.shape", x_data.shape) x_data torch.from_numpy(xy[:, :-1])# 选择所有行不包括最后一列 y_data torch.from_numpy(xy[:, [-1]])# 选择所有行,只有最后一…

搜维尔科技:Cyber​​glove通过其前所未有的柔性传感器技术,带来了多年的经验、专业知识和可靠性

Cyberglove 概述 新一代数据手套技术 MoCap 手套采用了原始 CyberGlove 产品 20 年经验所建立的技术,产生了改进的和新的特性、能力和设计,非常适合动作捕捉环境。 旧与新相遇, Cyberglove 通过其前所未有的柔性传感器技术,带来…

linux自动化构建工具--make/makefile

目录 1.make/makefile介绍 1.1基本认识 1.2依赖关系、依赖方法 1.3具体操作步骤 1.4进一步理解 1.5默认设置 1.6make二次使用的解释 1.7两个文件的时间问题 1.8总是被执行 1.9特殊符号介绍 1.make/makefile介绍 1.1基本认识 make是一个指令,makefile是一…

mysql面试(六)

前言 本章节详细讲解了一下mysql执行计划相关的属性释义,以及不同sql所出现的不同效果 执行计划 一条查询语句经过mysql查询优化器的各种基于成本和各种规则优化之后,会生成一个所谓的 执行计划,这个执行计划展示了这条查询语句具体查询方…

编写训练脚本:根据stable diffusion的文档和示例代码,编写训练脚本,包括数据加载、模型定义、训练循环等

以下是一个示例的训练脚本,根据stable diffusion的文档和示例代码编写而成。该脚本包括了数据加载、模型定义和训练循环等部分。 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader from torchvision impo…

django 小型超市库存与销售管理系统-计算机毕业设计源码46608

摘 要 随着信息技术的快速发展,超市库存与销售管理面临着前所未有的挑战与机遇。为了提升超市的运营效率,优化库存管理,并增强销售数据的分析能力,我们基于Django框架设计并开发了一套小型超市库存与销售管理系统。该系统充分利用…

运算符的运算顺序

【单目算术位关系,逻辑三目后赋值】 ![在这里插入图片描述] (https://i-blog.csdnimg.cn/direct/e4c8f4e22b5044a48154bf7378e3b3b3.png)

C++中的类、对象、函数、构造函数、析构函数

在C中,类(class)是用于定义对象的模板或蓝图。类中可以包含数据成员(变量)和成员函数(方法)。对象是类的实例,通过类定义创建的实体。构造函数和析构函数是特殊的成员函数&#xff0…