首页 > 其他分享 >Prometheus监控实战系列九:主机监控

Prometheus监控实战系列九:主机监控

时间:2023-08-29 15:46:50浏览次数:40  
标签:node exporter -- 主机 指标 Prometheus 监控 textfile

前面我们介绍了Prometheus的基础概念,包括数据格式 、PromQL语法等,本节我们将讲解如何通过Prometheus实现主机的监控 。

 

Prometheus使用各种Exporter来监控资源。Exporter可以看成是监控的agent端,它负责收集对应资源的指标,并提供接口给到Prometheus读取。不同资源的监控对应不同的Exporter,如node-exporeter、mysql-exporter、kafka-exporter等,在这其中最常用的当属node_exporter。

 

node-exporter使用Go语言编写,它主要用来监控主机系统的各项性能参数,可收集各种主机指标的库,还提供了textfile功能,用于自定义指标。

 

一. 安装node-exporter

 

二进制安装

 

下载安装包并解压

$ wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz$ tar -xvf tar -xvf node_exporter-1.1.2.linux-amd64.tar.gz $ cd node_exporter-1.1.2.linux-amd64

 

启动 Node Exporter

$ ./node_exporter &

 

查看服务器,可看到端口已启动(默认端口9100)

$ netstat -lnpt  |grep ":9100"   tcp6       0      0 :::9100                 :::*                    LISTEN      2345/./node_exporte

 

docker安装

 

官方不建议通过Docekr方式部署node-exporter,因为它需要访问主机系统。通过docker部署的方式,需要把任何非根安装点都绑定到容器中,并通过--path.rootfs参数指定。 

拉取镜像

$ docker pull prom/node-exporter

 

启动容器

$ docker run -d --net="host" --pid="host" -v "/:/host:ro,rslave" prom/node-exporter --path.rootfs=/host

 

部署完成后,访问节点地址:http://ip:9100/metrics ,可看到node-exporter获取的指标。

 

 

 

二. 配置node-exporter

node-exporter提供不少配置参数,可使用 --help 进行查看。
$ ./node_exporter --help

 

例如:通过--web.listen-address 改变监听的端口

$ ./node_exporter  --web.listen-address=":8080" &

 

如果需要收集主机上面运行服务的状态,可启用systemd收集器。由于systemd指标较多,可以用--collector.systemd.unit-include参数配置只收集指定的服务,减少无用数据,该参数支持正则表达式匹配。如docker和ssh服务状态,

示例:

./node_exporter --collector.systemd  --collector.systemd.unit-include="(docker|sshd).service" &

 

如果只想启用需要的收集器,其他的全部禁用,可用如下格式配置

--collector.disable-defaults --collector.<name>

 

三. textfile收集器

textfile是一个特定的收集器,它的功能非常有用,textfile允许我们暴露自定义的指标。这些指标或者是没有相关的exporter可以使用,或者是你自己开发的应用指标。

textfile通过扫描指定目录中的文件,提取所有符合Prometheus数据格式的字符串,然后暴露它们给到Prometheus进行抓取。

示例:

创建指标文件保存目录 

$ mkdir /opt/prom

 

写入指标文件,此处我们用手动方式写入

$ cat <<EOF | tee /opt/prom/metadata.prom # HELP alex_test this is a test# TYPE alex_test gaugealex_test{server="test",idc="bj"} 1EOF

 

启用textfile

./node_exporter --collector.textfile.directory="/opt/prom"  &

 

访问node-exporter的地址,可看到指标已生效

 

 

四. Prometheus抓取指标

在Prometheus配置关于node-exporter节点的target,即可抓取相关节点指标数据。

 - job_name: 'node-exporter'    static_configs:    - targets:      -  'locahost:9100'

 

实例抓取正常

 

 

在表达式浏览器中搜索 {job="node-exporter",instance="localhost:9100"},可看到相关指标已被收集到Prometheus。

 



标签:node,exporter,--,主机,指标,Prometheus,监控,textfile
From: https://www.cnblogs.com/quqibinggan/p/17664959.html

相关文章

  • Prometheus监控运维实战十: 主机监控指标
    在上一篇文章中我们学习了如何通过node-exporter获取主机监控信息。但安装好监控只是第一步,我们还需要知道哪些监控指标是我们需要关注的。本文将对Prometheus相关的主机监控指标进行介绍。一.CPU监控CPU负载node_load1node_load5node_load15 以上三个指标为主机的CPU平均......
  • Prometheus监控实战系列七:任务与实例
    一. 功能概述 任务与实例,是Prometheus监控中经常会提到的词汇。在其术语中,每一个提供样本数据的端点称为一个实例(instance),它可以是各种exporter,如node-exporter、mysql-exporter,也可以是你自己开发的一个服务。只要提供符合prometheus要求的数据格式,并允许通过HTTP请求获取......
  • 安防监控/磁盘阵列存储/视频汇聚平台EasyCVR调用rtsp地址返回的IP不正确是什么原因?
    安防监控/云存储/磁盘阵列存储/视频汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。有用户反馈,通......
  • 视频汇聚/视频云存储/视频监控管理平台EasyCVR接入海康SDK协议后无法播放该如何解决?
    开源EasyDarwin视频监控/安防监控/视频汇聚EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。视频监控汇聚平台EasyCVR支持多种播放......
  • Prometheus监控实战系列五:PromQL语法(上篇)
    PromQL是Prometheus内置的数据查询DSL(DomainSpecificLanguage)语言,其提供对时间序列丰富的查询功能,聚合以及逻辑运算能力的支持。当前,PromQL被广泛应用在Prometheus的日常使用中,包括数据查询、可视化、告警处理等,可以说,掌握PromQL是熟练使用prometheus的必备条件。 本文将通......
  • Prometheus监控实战系列六:PromQL语法(下篇)
    一.操作符在PromQL的查询中,还可以通过表达式操作符,进行更加复杂的结果查询,常见的操作有下列几种。数学运算符数据运算符使用的加、减、乘、除等方式,对样本值进行计算,并返回计算后的结果。例如,通过process_virtual_memory_bytes获取到的内存值单位为byte,我们希望转换为GB为单......
  • Prometheus监控实战系列一: 产品介绍
    一.概述 Promehteus是一款近年来非常火热的容器监控系统,它使用go语言开发,设计思路来源于Google的Borgmom(一个监控容器平台的系统)。 产品由前谷歌SRE MattT.Proudd发起开发,并在其加入SoundCloud公司后,与另一位工程师JuliusVolz合伙推出,将其开源发布。 2016年,由Googl......
  • Prometheus监控实战系列二: 安装部署
    Prometheus支持多种操作系统,例如Linux、Windows和MaxOSX等。在产品官网上提供了独立的二进制文件进行下载,可下载对应的tar包并在相应系统的服务器上进行安装部署。 当然,做为与容器有着紧密联系的监控系统,Promethesu也可以很方便的通过docker、kubernetes等容器平台进行部署。......
  • Prometheus监控实战系列三:配置介绍
    Prometheus使用名为prometheus.yml的配置文件进行设置,通过在启动时指定相关的文件,对配置内容进行加载。该配置文件分为四个模块:global(全局配置)、alerting(告警配置)、rule_files(规则配置)、scrape_configs(目标拉取配置),本文将分别对其进行讲解介绍。一.global 用于定义promethe......
  • Prometheus监控实战系列四:数据格式
    在Prometheus监控中,对于采集到服务端的指标,称为metrics数据。metrics指标为时间序列数据,它们按相同的时序,以时间维度来存储连续数据的集合。metrics有自定义的一套数据格式,不管对于日常运维管理或者监控开发来说,了解并对其熟练掌握都是非常必要的,本文将对此进行详细介绍。 一.......