进阶 | Prometheus+Grafana 普罗米修斯

embedded/2024/11/4 6:46:08/

一、Prometheus服务部署

Prometheus服务部署以及关联node节点数据,详情看:入门 | Prometheus+Grafana 普罗米修斯-CSDN博客

二、Prometheus验证node节点监控数据

1、修改prometheus server配置

vim /usr/local/prometheus/conf/prometheus.yml

重启服务并进行验证

可以直接在这里查看,监控节点的所有指标

2、测试检查zookeeper服务

这里测试使用的是单节点的zookeeper服务

二进制安装包:https://dlcdn,apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz

tar -xf apache-zookeeper-3.8.4-bin.tar.gz -C /usr/local/

在zookeeper的配置文件最后,添加四行配置,默认就有,取消注释即可,老版本可能只有三行,不影响

vim conf/zoo.cfg
metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
metricsProvider.httpHost=0.0.0.0
metricsProvider.httpPort=7000
metricsProvider.exportJvmInfo=true

启动zookeeper服务,可以看到检测指标的端口7000已经存在

在Prometheus中添加对应的指标监控

重启服务,并进行查看验证

3、pushgateway 采集自定义数据

二进制安装包:https://github.com/prometheus/pushgateway/releases/download/v1.10.0/pushgateway-1.10.0.linux-amd64.tar.gz

这里使用进行二进制安装包进行安装

tar -xf pushgateway-1.10.0.linux-amd64.tar.gz -C /usr/local/

创建软链接方便使用

ln -sv pushgateway-1.10.0.linux-amd64 pushgateway

pushgateway 的默认端口是9091,所以在Prometheus中添加对应的配置,并后台启动pushgateway

nohup ./pushgateway &

重启prometheus服务

使用命令,手动生成一个metric ,进行验证

echo "age 18" | curl --data-binary @- http://192.168.10.120:9091/metrics/job/pushgateway/instance/`hostname -I`

进行查询验证

对应的键和值都是命令给定的,这样的自定义目前是无法使用grafana进行绘图的

因为自定义pushgateway需要主动将指标推送到Prometheus中,所以这里借助脚本进行推送

这个是收集用户登录数量的自定义matric ,一秒一次。

#!/bin/bash
#
#项目名称,key
METRIC_NAME=login_number
#值   shell命令
METRIC_VALUE="who | wc -l"#pushgateway的主机和端口
PUSHGATEWAY_HOST=192.168.10.120:9091
#项目名
EXPORTED_JOB=pushgateway
#睡1秒
SLEEP_TIME=1#转换格式
CURL_URL="curl --data-binary @- http://${PUSHGATEWAY_HOST}/metrics/job/${EXPORTED_JOB}/instance/`hostname -I`"#函数,死循环,eval取出变量中的值,echo出来,打到prometheus中
action()  {while true ;doVALUE=`eval "$METRIC_VALUE"`echo "${METRIC_NAME} ${VALUE}" |  $CURL_URLsleep $SLEEP_TIMEdone
}action

bash 和 sleep  是两个进程,不能放在后台,kill bash 可以,sleep kill 不掉,每1s 都会刷新 pid不同。

三、Grafana安装部署

1、安装部署

下载rpm安装包:https://dl.grafana.com/enterprise/release/grafana-enterprise-11.1.8-1.x86_64.rpm

直接进行本地yum安装

yum -y localinstall grafana-enterprise-11.1.8-1.x86_64.rpm

grafana默认端口是3000,启动服务,并进行查看验证,首次登录需要账号密码认证,默认admin:admin

2、关联Prometheus服务

直接进行关联prometheus服务

绑定成功

3、grafana部分汉化

grafana默认支持英文,但也可以进行部分汉化

vim /etc/grafana/grafana.ini

重启服务,并进行查看

UI界面进行设置

4、在grafana中添加zookeeper对应的模板

通过官网进行查找对应模板的ID号,通过ID号引用对应的模板

Grafana dashboards | Grafana Labs

点击 zookeeper by Prometheus ,然后在下面找到 ID号

然后在grafana中仪表盘进行添加

zookeeper服务登录验证

./zkCli.sh -server 192.168.10.120:2181

选择zookeeper,可以进行查看详细的监控信息


http://www.ppmy.cn/embedded/134005.html

相关文章

SQLAlchemy 连接 dm

参考链接 SQLAlchemy 框架 | 达梦技术文档 如果密码中出现特殊字符,参考SQLAlchemy 链接数据库,密码中含有或者\特殊字符_python sqlalchemy 连接mysql 密码有特殊字符-CSDN博客 问题:ObjectNotExecutableError: Not an executable object: …

Spring Boot:如何实现JAR包的直接运行

目录 1. 什么是Spring Boot? 2. 为什么Spring Boot的JAR可以直接运行? 2.1 内嵌容器 2.2 Maven和Gradle插件 2.3 入口点 2.4 无需传统部署 3. 拓展知识:Spring Boot的优势 1. 什么是Spring Boot? Spring Boot是由Pivotal团…

SpringBoot应用部署到Docker中MySQL8时间戳相差8小时问题及处理方式

文章目录 SpringBoot应用部署到Docker中MySQL8时间戳相差8小时问题及处理方式1. 检查MySQL服务器的时间区设置2. 在Spring Boot应用程序中设置时间区3. Docker容器中通过Dockerfile设置时区4. 在运行Docker容器时通过命令行传递环境变量5. 启动SpringBoot应用时设置JVM参数来指…

206面试题(1~27)

206(1~27)道Java面试题 1.JDK和JRE的区别 JDK:Java 开发工具包,Java的运行环境和开发环境。 JRE:Java 运行环境,为 Java 的运行提供了所需环境 JDK(JRE,javac–java源码的编译器,其他Java程序的调试和分析工具)。 …

隨便 20241028 ISR 和 OSR 在 Kafka 中的详细解析

在 Kafka 这个分布式流处理平台中,副本的管理和数据一致性是至关重要的。为了保证系统的高可用性和容错能力,Kafka 引入了两个关键的概念:ISR(In-Sync Replicas)和OSR(Out-of-Sync Replicas)。下…

十分钟Linux中的epoll机制

epoll机制 epoll是Linux内核提供的一种高效I/O事件通知机制,用于处理大量文件描述符的I/O操作。它适合高并发场景,如网络服务器、实时数据处理等,是select和poll的高效替代方案。 1. epoll的工作原理 epoll通过内核中的事件通知接口和文件…

Vant入门

Vant是一个轻量、可靠的移动端Vue组件库,提供了丰富的组件和解决方案,帮助开发者快速构建出优雅的移动端应用。 安装vant # Vue 3项目,安装最新版Vant: npm install vant -S。 # Vue 2项目,安装Vant 2: n…

ES6面试题:(第二天)

目录 6.使用箭头函数应注意什么? 7.什么是Promise? 8.理解 async/await以及对Generator的优势 9.Promise 和 async/await的区别 10.说说js的异步编程的解决方案 6.使用箭头函数应注意什么? 1、箭头函数本身没有this,它的this指向父级上下…