当前位置: 首页 > news >正文

【大数据监控】Prometheus、Node_exporter、Graphite_exporter安装部署详细文档

目录

  • Prometheus
    • 简介
    • 下载软件包
    • 安装部署
    • 创建用户
    • 创建Systemd服务
    • 修改配置文件prometheus.yml
    • 启动Prometheus
  • node exporter
    • 下载软件包
    • 安装部署
    • 添加用户
    • 创建systemd服务
    • 启动node_exporter
  • graphite_exporter
    • 下载软件包
    • 安装部署
    • 创建systemd服务
    • 启动 graphite_exporter

Prometheus

在这里插入图片描述
在这里插入图片描述

简介

Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。

下载软件包

wget https://github.com/prometheus/prometheus/releases/download/v2.19.2/prometheus-2.19.2.linux-amd64.tar.gz

安装部署

解压

tar zxvf prometheus-2.19.2.linux-amd64.tar.gz
mv prometheus-2.19.2.linux-amd64 /usr/local/prometheus

创建用户

groupadd prometheus
useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
chown prometheus.prometheus -R /usr/local/prometheus

创建Systemd服务

cat > /etc/systemd/system/prometheus.service <<EOF
[Unit]
Description=prometheus
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus/data 
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF

修改配置文件prometheus.yml

前面部分基本没改动,沿用默认配置。

参数作用
scrape_interval默认抓取间隔, 15秒向目标抓取一次数据
scrape_configs这个配置是表示在这个配置内的时间序例,每一条都会自动添加上这个{job_name:“prometheus”}的标签 - job_name: ‘prometheus’
job_name默认抓取间隔, 15秒向目标抓取一次数据
scrape_interval监控名称,相当于分组组名之类 (可手动自定义添加)
static_configs配置静态获取地址,与targets配合使用
file_sd_configs引用外部获取地址,与files配合使用
files外部获取地址文件指定,外部IP地址需要以json格式。 此方法优点适合大集群规模,可以根据hosts文件,批量生成json文件。可以直接添加IP地址,不用修改主配置,不用重启prometheus

最终配置文件如下:

# my global config
global:scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:# - "first_rules.yml"# - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: 'prometheus'# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ['localhost:9090']- job_name: 'linux_server' #自定义名称,用于监控linux基础服务file_sd_configs:- files:- configs/linux.json  #linux机器IP地址json文件- job_name: 'hdfs'  #用于监控HDFS组件file_sd_configs:- files:- configs/hdfs.json  #hdfs参数获取地址- job_name: 'hbase' #用于监控Hbase组件file_sd_configs:- files:- configs/hbase.json #hbase参数获取地址- job_name: 'yarn' #用于监控Yarn组件file_sd_configs:- files:- configs/yarn.json #yarn参数获取地址- job_name: 'zookeeper' #用于监控zk组件file_sd_configs:- files:- configs/zookeeper.json #zk参数获取地址- job_name: 'hive'file_sd_configs:- files:- configs/hive.json- job_name: 'kafka'file_sd_configs:- files:- configs/kafka.json- job_name: 'spark'file_sd_configs:- files:- configs/spark.json

启动Prometheus

systemctl daemon-reload
systemctl start prometheus
systemctl status prometheus
systemctl enable prometheus

node exporter

在这里插入图片描述
Exporter是Prometheus的指标数据收集组件。它负责从目标Jobs收集数据,并把收集到的数据转换为Prometheus支持的时序数据格式。 和传统的指标数据收集组件不同的是,他只负责收集,并不向Server端发送数据,而是等待Prometheus Server 主动抓取.

node-exporter 默认的抓取url地址:http://ip:9100/metrics

另外,如果因为环境原因,网络不可达的场景,Prometheus可以使用Pushgateway 这个组件推送node-exporter的指标数据到远端Prometheus

node-exporter用于采集node的运行指标,包括node的cpu、load、filesystem、meminfo、network等基础监控指标,类似于zabbix监控系统的的zabbix-agent

node-export由Prometheus官方提供、维护,属于监控指标收集类UNIX内核操作系统的必备的exporter。

下载软件包

wget https://objects.githubusercontent.com/github-production-release-asset-2e65be/9524057/b94645a1-6c86-4474-bf67-60d4a50107dd?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220926%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220926T095059Z&X-Amz-Expires=300&X-Amz-Signature=6612cfe53142f33025f44b20185fb9894ab369e9f6f0c1732b55962a67331805&X-Amz-SignedHeaders=host&actor_id=13580594&key_id=0&repo_id=9524057&response-content-disposition=attachment%3B%20filename%3Dnode_exporter-1.3.1.linux-arm64.tar.gz&response-content-type=application%2Foctet-stream

安装部署

解压

tar zxvf prometheus-2.19.2.linux-amd64.tar.gz
mv prometheus-2.19.2.linux-amd64 /usr/local/prometheus

添加用户

groupadd prometheus
useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus

创建systemd服务

vim /etc/systemd/system/node_exporter.service[Unit]
Description=node_exporter
After=network.target[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure[Install]
WantedBy=multi-user.target

启动node_exporter

systemctl daemon-reload
systemctl start node_exporter
systemctl status node_exporter
systemctl enable node_exporter

graphite_exporter

Graphite 来收集度量标准,Grafana 则用于构建仪表板,首先,需要配置 Spark 以将 metrics 报告到 Graphite。

prometheus 提供了一个插件(graphite_exporter),可以将 Graphite metrics 进行转化并写入 Prometheus (本文的方式)。

graphite_exporter 接收数据端口为9109

下载软件包

wget https://objects.githubusercontent.com/github-production-release-asset-2e65be/34077510/22f3c69a-c294-4f41-a1d9-3de222264411?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220927%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220927T071920Z&X-Amz-Expires=300&X-Amz-Signature=cbf4255c933adaa74c2343ca5ddf268ddde7bc5ad38da35a4d52ba553d16fadb&X-Amz-SignedHeaders=host&actor_id=13580594&key_id=0&repo_id=34077510&response-content-disposition=attachment%3B%20filename%3Dgraphite_exporter-0.12.3.linux-arm64.tar.gz&response-content-type=application%2Foctet-stream

安装部署

解压

tar -xvzf graphite_exporter-0.12.3.linux-arm64.tar.gz
mv graphite_exporter-0.12.3.linux-arm64 /usr/local/graphite_exporter

创建systemd服务

vim /usr/lib/systemd/system/graphite_exporter.service[Unit]
Description=prometheus graphite_exporter[Service]
Type=simple
ExecStart=/usr/local/graphite_exporter/graphite_exporter --graphite.mapping-config=/usr/local/graphite_exporter/graphite_exporter_mapping
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s[Install]
WantedBy=multi-user.target

启动 graphite_exporter

systemctl daemon-reload
systemctl restart graphite_exporter.service
systemctl enable graphite_exporter.service
systemctl status graphite_exporter

希望对正在查看文章的您有所帮助,记得关注、评论、收藏,谢谢您

相关文章:

【大数据监控】Prometheus、Node_exporter、Graphite_exporter安装部署详细文档

目录Prometheus简介下载软件包安装部署创建用户创建Systemd服务修改配置文件prometheus.yml启动Prometheusnode exporter下载软件包安装部署添加用户创建systemd服务启动node_exportergraphite_exporter下载软件包安装部署创建systemd服务启动 graphite_exporterPrometheus 简介…...

《C++ Primer》 第十一章 关联容器

《C Primer》 第十一章 关联容器 11.1 使用关联容器 使用map: //统计每个单词在输入中出现的次数 map<string, size_t> word_count;//string到size_t的空map string word; while(cin>>word)word_count[word];//提取word的计数器并将其加1 for(const auto &w:…...

WebRTC标准与框架解读(1)

1、如果让我来设计webrtc框架我在分析源码的时候&#xff0c;都喜欢做这样一件事情&#xff1a;如果让我来设计它&#xff0c;我会怎么做&#xff1f;大家可以紧跟我的思路&#xff0c;分析一下WebRTC为什么如此设计。为了对整个框架有有一个全面的了解&#xff0c;我们首先要做…...

数据结构的一些基础概念

一 基本术语 数据&#xff1a;是描述客观事物的符号&#xff0c;是计算机中可以操作的对象&#xff0c;是能被计算机识别&#xff0c;并输入给计算机处理的符号集合。 数据元素&#xff1a;是组成数据的&#xff0c;有一定意义的基本单位&#xff0c;在计算机中通常作为整体处…...

【Python每日一练】总目录(不断更新中...)

Python 2023.03 20230303 1. 两数之和 ★ 2. 组合总和 ★★ 3. 相同的树 ★★ 20230302 1. 字符串统计 2. 合并两个有序链表 3. 下一个排列 20230301 1. 只出现一次的数字 2. 以特殊格式处理连续增加的数字 3. 最短回文串 Python 2023.02 20230228 1. 螺旋矩阵 …...

latex插入图片(自用)

加入宏包&#xff1a;\usepackage{graphicx} 使用 \includegraphics 命令进行插图。 \includegraphics[]{}&#xff1a; 第一参数[]&#xff1a;对图片做一些适当的调整&#xff08;设定图片的高度和宽度或者按比例缩放&#xff09; 第二参数{}&#xff1a;图片的名字&#xf…...

【微信小程序】-- 网络数据请求(十九)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…...

K8S 实用工具之一 - 如何合并多个 kubeconfig?

开篇 &#x1f4dc; 引言&#xff1a; 磨刀不误砍柴工工欲善其事必先利其器 K8S 集群规模&#xff0c;有的公司倾向于少量大规模 K8S 集群&#xff0c;也有的公司会倾向于大量小规模的 K8S 集群。 如果是第二种情况&#xff0c;是否有一个简单的 kubectl 命令来获取一个 kubec…...

阿里云ECS服务器的6大功能组件

阿里的云服务在国内可以说是首屈一指的了&#xff0c;因此他们家的云服务器也是最受欢迎的。那么&#xff0c;你知道阿里云服务器ECS有哪些功能组件吗&#xff1f;不清楚不要紧&#xff0c;下面服务器吧小编带大家来看看。 在了解之前我们来看一张阿里云服务器ECS的产品组件架…...

外贸建站多少钱?不同预算对应的建站方案!

外贸建站多少钱&#xff1f; 答案是&#xff1a;3000左右。 作为一个外贸企业的经营者&#xff0c;我们深知一个优质的外贸网站对于企业的重要性。 然而&#xff0c;建立一个优质的外贸网站需要耗费大量的时间和资金&#xff0c;因此我们需要在预算有限的情况下&#xff0c;…...

Vue3中hook的使用及使用中遇到的坑

目录前言一&#xff0c;什么是hook二&#xff0c; hook函数的使用2.1 铺垫2.2 hook函数的写法2.3 使用写好的hook函数后记前言 在学习Es6的时候&#xff0c;我们开始使用类与对象&#xff0c;开始模块化管理&#xff1b;在Vue中我们可以使用mixin进行模块化管理&#xff1b;Vu…...

数据库-差集交集并集

数据库-差集交集并集[toc]图示一、并集运算&#xff08;UNION&#xff09;并集&#xff1a;两个集合的并集是一个包含集合A和B中所有元素的集合。在T-SQL中&#xff0c;UNION集合运算可以将两个输入查询的结果组合成一个结果集。需要注意的是&#xff1a;如果一个行在任何一个输…...

spark性能调优(四):网络

网络 一、数据读写二、数据处理三、数据传输在平衡不同硬件资源的时候,相比于CPU、内存、磁盘,网络开销处理延迟最高 一、数据读写 对于大多数应用来说,第一步都是从分布式系统中读取数据,不论什么文件格式,也不管哪种文件存储系统,访问数据源是否会引入网络开销,取决于任务与…...

高性能 WPF 图表控件LightningChart.NET:支持从 Web 服务器获取数据 | 附最新版试用下载

LightningChart.NET 是一款高性能 WPF 和 Winforms 图表,可以实时可视化多达1万亿个数据点。可有效利用CPU和内存资源&#xff0c;实时监控数据流。同时&#xff0c;LightningChart使用突破性创新技术&#xff0c;以实时优化为前提&#xff0c;大大提升了实时渲染的效率和效果&…...

文科女生月入14k背后:转行IT软件测试不是谁都学得来!

转行软件测试背后&#xff0c;或许每个人都有自己的无奈。就拿今天要和大家分享的这位小姐姐来说吧&#xff0c;如果不是万不得已&#xff0c;又怎么会狠下心来转行到IT互联网&#xff1f; 应届生逃避就业&#xff0c;考研失败 和大多数人一样&#xff0c;小姐姐的大学生活过得…...

GB28181监控视频统一汇聚平台LiveGBS将海康大华华为宇视等厂家监控设备统一接入后如何生成固定播放链接或者固定的流地址可以直接无插件播放或者拉取

目前汇聚各种厂家监控设备的视频汇聚平台&#xff0c;基本都是通过GB28181标准协议实现的。下面介绍下LiveGBS Web无插件直播的GB28181视频平台将各厂家&#xff08;包括海康、大华、华为、宇视、天地伟业等&#xff09;监控汇聚到同一个服务器上后&#xff0c;如何或者直播链接…...

认识BUG

如何描述 bug一个合格的 bug 描述应该包括以下几个部分&#xff1a;发现问题的版本开发人员需要知道出现问题的版本&#xff0c;才能够获取对应版本的代码来重现故障&#xff0c;并且版本的标识也有利于统计和分析每个版本的质量。问题出现的环境环境分为硬件环境和软件环境&am…...

C++string类型内置的搜索函数

string的搜索操作 string类型一共提供了6种不同的搜索函数&#xff0c;每个函数都有4个重载版本。如果搜索成功&#xff0c;每个搜索操作都会返回一个 string::size_type类型的值&#xff0c;表示匹配发生位置的下标。 如果搜索失败&#xff0c;则会返回一个名位string::npos…...

Disruptor 消费线程丢失、写入无限阻塞问题

使用jstack打印后&#xff0c;发现 1&#xff09;写入disruptor线程卡死在 java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:338) at com.lmax.…...

【禅道测试环境搭建及安装】Linux上的禅道安装教程,从环境搭建开始

目录 一、操作环境 二、安装VMware 三、安装FinalShell 四、在VMware里安装CentOS 1.前置&#xff1a;CentOS的下载 2.CentOS的安装 3.查看网络 五、用宿主机连接远程的虚拟机 六、禅道包的下载与CentOS配置的修改 七、上传项目包并安装禅道 一、操作环境 Windows 10…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献&#xff1a; stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下&#xff0c;文章也主…...

学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

在鸿蒙&#xff08;HarmonyOS5&#xff09;中集成百度地图&#xff0c;可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API&#xff0c;可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​&#xff1a;下载安装 ​​De…...

【WebSocket】SpringBoot项目中使用WebSocket

1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖&#xff0c;添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...