Prometheus实现自定义脚本监控

#Prometheus#

监控路漫漫其修远兮,吾将上下而求索!

一、前言

        在监控工作过程中经常会收到大量的定制化的监控需求,Prometheus就提供了一个很强大的组件  --> Pushgateway,他不仅是网关的用途接收exporter的数据,还可以接收自定义的监控指标数据,再由Prometheus server主动去拉取Pushgateway数据。当然他也存在一些缺点,比如:单点问题、监控数据下线但是pushgateway还是会被拉取到旧数据等问题。

二、部署方法 

Prometheus服务端的部署方法前面文章已经有了介绍,此处就不再赘述,主要说明Pushgateway的部署方法,首先下载预编译安装包:Download | Prometheus

Pushgateway基于Golang编写,编译后的软件包,不依赖于任何的第三方依赖,只需要下载对应平台的二进制包,解压并且添加基本的配置即可正常启动。

下面脚本我们将组件配置成服务启动

cat /usr/lib/systemd/system/pushgateway.service

[Unit]
Description=pushgateway
Documentation=https://prometheus.io/
After=network.target[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/pushgateway/pushgateway --persistence.file="/home/pushgateway/data/" --persistence.interval=5m
Restart=on-failure[Install]
WantedBy=multi-user.target

创建数据目录及配置服务

# 创建数据目录
mkdir -p /home/pushgateway/data/
# 复制服务脚本到系统服务目录下
cp pushgateway.service /usr/lib/systemd/system/

 然后启动服务  systemctl start pushgateway

Prometheus server服务端配置Pushgateway

  - job_name: 'pushgateway' scrape_interval: 30s honor_labels: true static_configs: - targets: ["IP地址:9091"] labels: instance: pushgateway   

重启Prometheus服务使其立即生效。

打开Prometheus服务端查看节点是否正常接入

如果正常接入表示已部署成功。

三、数据验证 

我们先推送一个job名称为“some_job”的数据进行验证

  echo "some_metric 3.14" | curl --data-binary @- http://IP地址:9091/metrics/job/some_job

要推送一个比较复杂的数据可以参照

  cat <<EOF | curl --data-binary @- http://IP地址:9091/metrics/job/some_job/instance/some_instance# TYPE some_metric countersome_metric{label="val1"} 42# TYPE another_metric gauge# HELP another_metric Just an example.another_metric 2398.283EOF

要删除上面数据,则执行

  curl -X DELETE http://IP地址:9091/metrics/job/some_job/instance/some_instance

根据job名称删除,可执行

  curl -X DELETE http://IP地址:9091/metrics/job/some_job

删除所有组中的所有指标(启动服务时需要引入参数  --web.enable-admin-api )

  curl -X PUT http://IP地址:9091/api/v1/admin/wipe

根据以上数据验证,我们可根据实际需求,编写自己的监控脚本对数据进行推送、删除等操作。

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

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

相关文章

Docker 安装MySql并操作日志

一、在Linux系统里新建这几个文件夹 1.1 在conf.d文件夹下新建一个my.cnf文件 1.2 用vscode 打开&#xff08;防止乱码&#xff09;&#xff0c;复制以下内容 [mysqld] log_timestampsSYSTEM default-time-zone8:00server-id1log-binmysql-binbinlog-do-db mall # 要监听的库…

AI自动绘画器介绍和应用场景

AI自动绘画器是一种利用人工智能技术来生成绘画作品的工具。以下是一些常见的AI自动绘画器&#xff1a; DeepDream&#xff1a; 风格&#xff1a;可以生成三种风格的图片&#xff0c;包括深度梦幻风格、深度风格和浅层风格。应用场景&#xff1a;起初设计用于帮助研究人员理解…

nginx反向代理配置详解

首先配置端口 server {listen 3080; server_name 172.20.109.27 localhost;}为了解决刷新后显示404的问题&#xff0c;增加配置如下&#xff1a; location / {root html;index index.html index.htm;try_files $uri $uri.html $uri/ mongrel;}location mongrel {# ip…

Freemarker 的配置

Freemarker是一种用于生成动态模板的Java模板引擎。它可以将数据与模板文件结合&#xff0c;生成最终的输出内容。以下是使用Freemarker的实现和配置步骤&#xff1a; 引入Freemarker库&#xff1a;首先需要将Freemarker库添加到项目的依赖中。可以通过在Maven或Gradle中添加相…

如何本地搭建Discuz论坛并实现无公网IP远程访问

文章目录 前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛 前言 Crossday Discuz! Board&#xff08;以下简称 Discuz!&#xff09;是一套通用的社区论坛软件系统&#xff0c;用户可以在不需要任何编程的基础上&a…

GlusterFS(GFS)分布式文件系统

一、GlusterFS的概述&#xff1a; GlusterFS 是一个开源的分布式文件系统。 只在扩展存储容器&#xff0c;提高性能 并且通过多个互联网络的存储节点的进行几余&#xff0c;以确保数据的可用性和一致性 由存储服务器、客户端以及NFS/Samba 存储网关&#xff08;可选&#xff0c…

C#关于 InputSimulator的用法

InputSimulator 是一个 C# 库&#xff0c;它提供了模拟键盘和鼠标输入的功能&#xff0c;可以方便地在代码中模拟用户的键盘按键和鼠标操作。这在自动化测试、模拟用户操作等场景下非常有用。 使用 InputSimulator 非常简单&#xff0c;只需要几行代码就可以实现模拟输入的功能…

使用 mybatis-plus 拦截器对项目的所有执行的sql做监控和修改。

出现的问题 项目中使用了别人封装好的jar包&#xff0c;使用的是逻辑删除&#xff0c;但是在我们的数据库中由于唯一索引的存在&#xff0c;必须使用物理删除&#xff0c;因此需要对使用到逻辑删除的sql做监控&#xff0c;并且求改这些sql。 代码 /*** mybatis拦截器* 对所有…

分布式任务调度:架构、原理与实践

引言 在当今快速发展的科技领域中&#xff0c;任务调度作为管理和优化计算资源的重要工具&#xff0c;扮演着至关重要的角色。从单机环境到分布式系统&#xff0c;任务调度的演进不仅跟随着计算机技术的进步&#xff0c;更是为了应对日益复杂的应用场景和需求。本博客将深入探…

Leetcode 453 最小操作次数使数组元素相等

目录 一、问题描述二、示例及约束三、代码方法一&#xff1a;排序方法二&#xff1a;取最小值 四、总结 一、问题描述 给你一个长度为 n 的整数数组&#xff0c;每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 二、示例及约束 示例 1&#xff…

(PAT)L1-006 连续因子问题---C语言基础

一、题目要求&#xff1a; 一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3567&#xff0c;其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N&#xff0c;要求编写程序求出最长连续因子的个数&#xff0c;并输出最小的连续因子序列。 输入格式&…

jQuery学习笔记(3.0)

滑动效果 slideDown() //下拉 $("div").slideDown(); slideUp() //上拉 $("div").slideUp(); //里面可以加参数&#xff0c;就是速度毫秒数&#xff0c;如1000&#xff0c;一秒 $(".nav>li").mouseover(function(){ //鼠标经过下拉 …

小娱xiaoyu xy-c5 路由器 刷机openwrt

1、刷固件openwrt 顾虑到可能要安装cups&#xff08;打印服务器&#xff09;只支持19版本以下的&#xff0c;所以只能安装19的版本&#xff0c;官网没有找到&#xff0c;都是21以上的&#xff0c;所以我只能到外面找玩家自己编译的了。 我这次刷的包是来源于这里&#xff1a;h…

Intrigue Core:一款功能强大的攻击面枚举引擎

关于Intrigue Core Intrigue Core是一款功能强大的开源攻击面枚举引擎&#xff0c;该工具可以帮助广大研究人员更好地管理应用程序的攻击面。 Intrigue Core集成了各种各样的安全数据源&#xff0c;可以将这些数据提取到标准化的对象模型中&#xff0c;并通过图形数据库跟踪关…

工作流引擎常见API(以camunda为例)

在Camunda中&#xff0c;API的继承关系主要体现在各个服务接口之间。以下是Camunda中一些常见服务接口的继承关系&#xff1a; ProcessEngineServices 接口&#xff1a; RepositoryService&#xff1a; 负责管理流程定义和部署。RuntimeService&#xff1a; 负责管理流程实例的…

001-NodeJs全局对象

概念 node是一个运行js的平台&#xff0c;在node中&#xff0c;用global对象取代了Window这个对象。 node中的repl环境可以执行js,通过命令node进入到repl环境。repl环境类似于Chrome的开发人员工具。 全局对象global 可以参考一下它的文档global全局对象 node版本介绍&am…

UVA699 The Falling Leaves 解题报告

题目链接 https://vjudge.net/problem/UVA-699 题目大意 给一棵二叉树&#xff0c;每个结点都有一个水平位置&#xff1a;左子结点在它左边1个单位&#xff0c;右子结点在右边1个单位。从左向右输出每个水平位置的所有结点的权值之和。如图6-7所示&#xff0c;从左到右的3个…

GPT-4对多模态大模型在多模态预训练、 理解生成上的启发

传统人工智能 模型往往依赖大量有标签数据的监督训练,而且一个模型一般只能解决一个任务,仅适用于单一场景, 这使得人工智能的研发和应用成本高,场景适应能力弱,难以规模化应用。 常见的多模态任务大致可以分为两类: 多模态理解任务,如视频 分类、视觉问答、跨模态检索、指代…

ARM Cordio WSF(三)——WSF在nRF52840平台移植

前文介绍了WSF架构及其WSF API&#xff0c;本文将介绍如何在一个硬件平台上使用WSF&#xff0c;这里基于stack项目下的nRF52840平台进行介绍。 3、PAL实现 对于要在一个处理器上运行WSF&#xff08;逻辑情况&#xff09;&#xff0c;需要处理系统的调度、系统SysTick、中断上下…

区块链的双刃剑:从“PlusToken”骗局看合规备案的重要性

轰动一时的500亿“区块链”骗局&#xff0c;至今仍在警示着每一个涉足这一领域的从业者。2019年初&#xff0c;盐城市公安局在日常网络巡查中敏锐地发现了一个名为“PlusToken”的平台疑似进行网络传销活动&#xff0c;随即迅速成立专案组进行深入调查。这一事件不仅揭示了区块…