首页 > 编程语言 >配置node_exporter

配置node_exporter

时间:2024-05-10 10:24:39浏览次数:14  
标签:node systemd exporter 收集器 -- 配置 collector

配置node_exporter

配置node_exporter

可以通过--web.listen-address和--web.telemetry-path参数来设置端口和路径。
例如:node_exporter --web.listen-address=":9600" --web.telemetry-path="/node_metrics"

禁用收集器
许多收集器默认都是启用的。使用no-前缀来修改状态。
例如, 暴露/proc/net/arp统计信息的arp收集器默认是启用的,由参数--collector.arp控制。
因此, 要禁用此收集器, 需要运行如下命令 node_exporter --no-collector.arp

配置textfile收集器
mkdir -p /var/lib/node_exporter/textfile_collector
echo 'metadata{role="docker_server",datacenter="NJ"} 1' | tee /var/lib/node_exporter/textfile_collector/metadata.prom
在真实环境中, 建议使用配置管理工具来编辑该文件
自定义的指标被放置在.prom结尾的文件中。
testfile收集器默认为启用状态,无需开启。但是需要在node_exporter启动时指定testfile_exporter目录, --collector.textfile.directory

启用systemd收集器
这里我们再启用另一个systemd收集器, 它记录systemd[1]中的服务和系统状态。 这个收集器收集了很多指标, 但我们并不想收集systemd管理的所有内容, 而只想收集某些关键服务。 为了保持简洁,我们可以将特定服务列入白名单, 只收集以下服务的指标:
·docker.service
·ssh.service
·rsyslog.service
它们是Docker守护进程、 SSH守护进程和RSyslog守护进程。 使用--collector.systemd.unit-whitelist参数进行配置, 它会匹配systemd的正则表达式。

启动node_exporter
node_exporter --collector.textfile.directory=/var/lib/node_exporter/textfile_collector
--collector.systemd --collector.systemd.unit-whitelist="(docker|ssh|rsyslog).service"

prometheus中添加作业
scrape_configs:

  • job_name: 'node'
    static_configs:
    • targets; ['192.168.1.2','192.168.1.3']

过滤收集器
scrape_configs:

  • job_name: 'node'
    static_configs:
    • targets; ['192.168.1.2','192.168.1.3']
      params:
      collect[]:
      • cpu
      • meminfo
      • diskstats
      • netdev
      • netstat
      • filefd
      • filesystem
      • xfs
      • systemd

标签

更改或添加标签会创建新的时间序列

重新标记的用途
·删除不必要的指标
·从指标中删除敏感或不需要的标签
·添加、 编辑或修改指标的标签值或标签格式

重新标记的两个阶段
在抓取之前使用relabel_configs
在抓取之后使用metric_relabel_configs

删除指标
metric_relable_configs:

  • source_labels: [name]
    separator: ',' # __name__标签值将使用","进行分隔。默认分隔符为";"
    regex: '(container_task_state|container_memory_failures_total)'

    如果指定了多个source_labels,使用";"隔开每个正则表达式, 例如:regex1;regex2

    action: drop

替换标签值
metric_relable_configs:

  • source_labels: [id]
    regex: '/docker/([a-z0-9]+);'
    replacement: '$1'
    target_label: container_id

删除标签
这通常用于隐藏敏感信息或简化时间序列
metric_relable_configs:

  • regex: '/docker/([a-z0-9]+);'
    action: labeldrop

USE方法

cpu使用率
100 - avg (irate(node_cpu_seconds_total{job="node", mode="idle"}[5m])) by (instance) * 100

cpu饱和度 # 表达式报语法错误
node_load1 > on (instance) 2 * count by (instance) (node_cpu_seconds_total {mode="idle"})

内存使用率
·node_memory_MemTotal_bytes: 主机上的总内存。
·node_memory_MemFree_bytes: 主机上的可用内存。
·node_memory_Buffers_bytes: 缓冲缓存中的内存。
·node_memory_Cached_bytes: 页面缓存中的内存。

查询持久化

可以通过以下三种方式使查询持久化:
·记录规则: 根据查询创建新指标。
·警报规则: 从查询生成警报。
·可视化: 使用Grafana等仪表板可视化查询

记录规则是一种根据已有时间序列计算新时间序列(特别是聚合时间序列) 的方法, 我们这样做是为了:
·跨多个时间序列生成聚合。
·预先计算消耗大的查询。
·产生可用于生成警报的时间序列。

配置记录规则
创建存储规则的目录,在该目录中记录规则。将该目录指定在prometheus的配置文件中
mkdir /usr/local/prometheus/rule
cd /usr/local/prometheus/rule
vim node_rule.yml
groups:

  • name: node_rule
    rules:
    ...
    vim prometheus.yml
    rule_files:
    • "/usr/local/prometheus/rule/*.yml"

标签:node,systemd,exporter,收集器,--,配置,collector
From: https://www.cnblogs.com/lixunblogs/p/18167090

相关文章

  • 配置mysql多实例
    配置mysql多实例需要专用的、支持多实例的mysql软件。这里用到的是mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz解压mysql软件包tar-xfmysql-5.7.34-linux-glibc2.12-x86_64.tar.gz-C/usr/local/mysql配置多实例vim/etc/my.cnf[mysqld_multi]            ......
  • ansible01-ansible安装配置
    中文权威指南http://www.ansible.com.cn/docs/playbooks_variables.html#yaml安装wget-O/etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-7.repowget-O/etc/yum.repos.d/Centos-7.repohttp://mirrors.aliyun.com/repo/Centos-7.repo依赖  paramiko......
  • Chisel | 项目环境配置
    以[1]参考Chisel使用mill或sbt作为项目构建工具,我们这里使用mill为例build.sc项目里最核心的文件,build.sc里定义了一个代表项目的对象$NAME$,项目所有的依赖和配置文件都在这个对象的定义里。如果想在同一个目录下定义多个项目,每个项目有不同的方法和依赖,只需要依次......
  • VMware vRealize Operations Manager 8.6.2 安装和配置
    早就垂涎vROPS很久了,本次正好做个安装记录,本地的虚拟化环境是VCSA6.7.0为啥选择vROPS8.6.2,因为他是最后一个支持VCSA6.7.0的版本https://interopmatrix.vmware.com/Interoperability?col=1427,9713,6377,6308,5694,5186,5101,4281&row=2,2736,2862,3222,3457,8393&isHidePatc......
  • nginx之使用与配置教程
    nginx之使用与配置教程原文链接:https://blog.csdn.net/qq_35056891/article/details/134391217简介​nginx是一个高性能的http和反向代理的web服务器正向代理反向代理优点速度更快、并发更高:单次请求或者高并发请求的环境下,Nginx都会比其他Web服务器响应的速度......
  • 配置文件
    //1.QMetaObject::connectSlotsByNamevoidWidget::on_btnOpen_clicked(){QStringconf_path=qApp->applicationDirPath()+"/conf/settings.ini";std::unique_ptr<QSettings>iniSet(newQSettings(conf_path,QSettings::IniFormat))......
  • docker 容器查看jvm参数配置
    1、登录服务器查看有哪些容器dockerps2、进入到相应的容器中dockerexec-it容器ID或名称bash3、找到java线程top 4、使用jcmd查询java也就是jvm的配置jcmdPIDVM.flags这里我查看的是线程1:jcmd1VM.flags 复制信息出来,格式化,具体参数什么意思,可网......
  • OSX上管理多个版本的Nodejs,并且随意切换
    Nodejs的项目经常Node自身的版本不同而无法运行,如果每次都选择卸载掉一个版本的Nodejs再安装另外一个版本的Nodejs,会很费劲,通过如下命令切换。例如:#Forexample#Installmainnodeversion18$brewinstallnode@18#Addthemainversionto~/.zshrctomakestarte......
  • Linux从入门到精通——Centos 7.9.2009 配置国内yum源及epel源
    Centos7.9.2009配置国内yum源及epel源一、备份原有的yum源配置文件在进行任何更改之前,建议先备份原有的yum源配置文件,以防止配置过程中出现问题。可以使用以下命令备份CentOS-Base.repo文件:[root@localhost~]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Cor......
  • 基于nodeje的RSA加解密
    RAS是一种非对称加密,可以用公钥加密,私钥解密也可以反过来用私钥加密,公钥解密;以下是其实现方式,与java后台匹配,实现双向加解密。/***RSA最大加密明文大小*/constMAX_ENCRYPT_BLOCK=245;/***RSA最大解密密文大小*/constMAX_DECRYPT_BLOCK=256;通过fs.readFil......