relabel_configs

根据prometheus 监控k8s配置文件中学习

未修改前默认配置文件:

网页显示:

修改配置文件后:

网页显示:

服务发现网页:

总结:

在数据采集之前对任何目标的标签进行修改,重打标签的意义就是如果标签有重复的可以帮你重命名

relabel_config语法

relabel_configs:
[ source_labels: '[' <labelname> [, ...] ']' ] ##源标签,指定对哪个现有标签进行操作
[ separator: <string> | default = ; ] ##多个源标签时连接的分隔符
[ target_label: <labelname> ] ##要将源标签换成什么名字
[ regex: <regex> | default = (.*) ] ##怎么来匹配源标签,默认匹配所有
[ modulus: <uint64> ] ##不怎么会用到
[ replacement: <string> | default = $1 ] ##替换正则表达式匹配到的分组,分组引用$1,$2,$3
[ action: <relabel_action> | default = replace ] ##基于正则表达式匹配执行的操作,默认替换

action重新打标签动作

值	            描述
replace 默认,通过正则匹配 source_label 的值,使用 replacement 来引用表达式匹配的分组
keep 删除 regex 于链接不匹配的目标 source_labels
drop 删除 regex 与连接匹配的目标 source_labels
labeldrop 匹配 Regex 所有标签名称
labelkeep 匹配 regex 所有标签名称
hashmod 设置 target_label 为 modulus 连接的哈希值 source_lanels
labelmap 匹配 regex 所有标签名称,复制匹配标签的值分组,replacement 分组引用 (${1},${2}) 替代

节点贴标签

未修改前:

修改后:

配置:

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: ['192.168.190.139:9090']
- job_name: 'promethues-node'
static_configs:
- targets:
- 192.168.190.139:9100
labels: ##添加的标签
server: local ##添加的标签
relabel_configs:
- target_label: __address__
replacement: 127.0.0.1:9100

效果:

标签重命名

修改前:

修改后配置:

  - job_name: 'promethues-node'
static_configs:
- targets:
- 192.168.190.139:9100
labels:
server: local
relabel_configs:
- action: replace ##动作:替换
source_labels: ['job'] ##对源标签操作,标签名为‘job’
regex: (.*) ##正则,会匹配到job值
replacement: $1 ##引用正则匹配到的内容
target_label: ttt ##赋予新的标签,名为ttt

修改后展示:

因为原来的标签名未删除,所以还会展示,现在删除原来的标签

配置文件:

  - job_name: 'promethues-node'
static_configs:
- targets:
- 192.168.190.139:9100
labels:
server: local
relabel_configs:
- action: replace
source_labels: ['job']
regex: (.*)
replacement: $1
target_label: ttt
- action: labeldrop
regex: job

受影响的只是标签,对采集的主机并没有产生影响

不想采集目标标签数据

scrape_configs:
- job_name: 'server21' static_configs:
- targets: ['localhost:9090']
relabel_configs:
- action: replace
source_labels: ['job']
regex: (.*)
replacement: $1
target_label: local
- action: drop ##删除标签为 job 的节点,采集不到数据了
source_labels: ["job"]

基于文件的服务发现

原始配置:

[root@redhat /usr/local/prometheus]# cat prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s alerting:
alertmanagers:
- static_configs:
- targets: rule_files: scrape_configs:
- job_name: 'prometheus'

修改配置文件,通过文件服务发现监控主机

[root@redhat /usr/local/prometheus]# cat prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s alerting:
alertmanagers:
- static_configs:
- targets: rule_files: scrape_configs:
- job_name: 'prometheus'
file_sd_configs:
- files: ['/usr/local/prometheus/files_sd_configs/*.yaml'] ##指定服务发现文件位置
refresh_interval: 5s ##刷新间隔改为5秒

在指定目录编写需要监控的文件

[root@redhat  /usr/local/prometheus/files_sd_configs]# cat configs.yml
- targets: ['localhost:9090']
labels:
name: ttt123

PromSQL



查询标签,以node 开头的element 都是node_expores 采集的。

node节点5M中cpu的平均使用率

1,

node_cpu_seconds_total{mode="idle"}[5m]

节点5分钟内空闲的cpu 采集来的数据

2,统计平均值irate 函数

irate(node_cpu_seconds_total{mode="idle"}[5m])*100

5分钟内所有节点cpu的平均空闲率

3,100 - irate(node_cpu_seconds_total{mode="idle"}[5m])*100

内存使用率

100 - (node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes *100

硬盘使用率

查看收集到的信息

node_filesystem_files



100- (node_filesystem_free_bytes{mountpoint="/",fstype=~"ext4|xfs"} / node_filesystem_size_bytes{mountpoint="/",fstype=~"ext4|xfs"} *100)

node_filesystem_size_bytes 查的是 / 总大小,node_filesystem_free_bytes 查的是剩余大小,只匹配 ext4&xfs 类型的

查询标签

node_filesystem_size_bytes{mountpoint='/'}

查询系统服务运行状态

监控以 systemctl 启动的服务

在节点配置启动参数,支持该功能

cat  /etc/systemd/system/node-exporter.service
[Unit]
Description=Prometheus Node Exporter
After=network.target
[Service]
ExecStart=/usr/local/node_exporter/node_exporter --collector.systemd --collector.systemd.unit-whitelist=(prometheus|sshd).service
[Install]
WantedBy=multi-user.target systemctl daemon-reload
systemctl restart node_exporter.service

查询

node_systemd_unit_state

node_systemd_unit_state{name=~"(prometheus|sshd).service"}



state=active 的值为 0,说明正常运行 ,写告警规则去判断这个值

prometheus 标签修改promSQL的更多相关文章

  1. Prometheus 标签使用示例整合

    Prometheus 监控实例 一.Prometheus 根据标签聚合总CPU使用率 1.主机添加标签(可在多个主机内添加相同标签实现聚合):vim prometheus.conf static_co ...

  2. prometheus 标签使用

    标签的配置使用 考虑到要明智地使用标签,我们需要给事物重新命名.在一个集中的.复杂的监视环境中,我们有时无法控制正在监视的所有资源以及它们公开的监视数据.重新标记允许在自己的环境中控制.管理和潜在地标 ...

  3. 使用<label>标签修改input[type="checkbox"]的样式

    因为<label>的特性有两点 : ①不呈现任何效果, ②用户点击该标签, 浏览器能自动将焦点转移到相关的表单控件上. <form> <input type=" ...

  4. table标签修改tr,td标签的行距

    修改tr标签的行距,tbale标签的td标签间距 看如下Css文件的代码,其都没有table的tr行距产生效果 tr{ margin-top: 10px; padding: 10px; } td{ m ...

  5. 根据pom标签修改

    sed -i "s/<count>1<\/count>/<count>2<\/count>/g"  pom.xml

  6. C# 添加、修改、删除Excel图表数据标签

    图表中,图表数据标签以数据化形式表现图表中的特定数据,可增强图表的可读性.我们可以对图表添加数据标签,也可以对已有的数据标签进行修改或者删除,下面将通过C#代码形式来实现. 使用工具:Spire.XL ...

  7. Prometheus监控学习笔记之Prometheus普罗米修斯监控入门

    0x00 概述 视频讲解通过链接网易云课堂·IT技术快速入门学院进入,更多关于Prometheus的文章. Prometheus是最近几年开始流行的一个新兴监控告警工具,特别是kubernetes的流 ...

  8. Prometheus 自动发现

    目录 简介 环境说明 静态配置 重新加载配置文件 基于文件发现配置 重新加载配置文件 添加主机测试 基于DNS的A记录 修改配置文件 重新加载配置文件 基于DNS的SRV记录自动发现 修改配置文件 重 ...

  9. Prometheus 运维监控

    Prometheus 运维监控 1.Prometheus 介绍详解 2.Prometheus 安装部署 3.Prometheus 配置文件详解 4.Prometheus PromSQL 常用资源 5. ...

随机推荐

  1. // TODO Auto-generated method stub 作用及设置

    当我们创建一个主方法类时,eclipse会默认插入一条注释语句: // TODO Auto-generated method stub 作用: // TODO Auto-generated metho ...

  2. 公司SQL考核及小结(Oracle)

    一.数据库初始化脚本: Create TABLE HAND_CUSTOMERS ( CUSTOMERS_NO ), CUSTOMERS_NAME ), CUSTOMERS_GENDER ), CUST ...

  3. 利用Mocking Framework 单元测试Entity Framework

    一.前言 在实际编写程序时,往往需要与数据库打交道,在单元测试中直接使用数据库又显得太重,如果可以方便的编写一些测试数据,这样更易于检测功能.如何模拟数据库行为便是本篇的主题.微软有教程说明Moq E ...

  4. 给Repater增加等号

    //不改变数据结构的情况下,增加行号.对Application服务器压力增大,减少DB服务器压力.    protected void repShow_ItemDataBound(object sen ...

  5. FastDFS集群部署(转载 写的比较好)

    FastDFS集群部署   之前介绍过关于FastDFS单机部署,详见博文:FastDFS+Nginx(单点部署)事例 下面来玩下FastDFS集群部署,实现高可用(HA) 服务器规划: 跟踪服务器1 ...

  6. 创建全文索引----SQLserver

    1.启动 Microsoft Search 服务 开始菜单-->SQL程序组-->服务管理器-->下拉筐-->Microsoft Search 服务-->启动它. 2. ...

  7. jquery ready load

    jq 加载三种写法 $(document).ready(function() { // ...代码... }) //document ready 简写 $(function() { // ...代码. ...

  8. go语言的学习之路

    一.学习前言 (1)go语言的介绍 1.解释型语言:python   PHP  java scripy (前端) 2.编译型语言:C  C++  C#(微软开发)  java(sun公司开发 后来被甲 ...

  9. mysql system lock

    MySQL从库show processlist出现system lock的原因以及解决方法有哪些? 由于大量的小事物如UPDATE/DELETE table where一行数据,这种只包含一行DML ...

  10. linux命令详解——lsof

    lsof全名list opened files,也就是列举系统中已经被打开的文件.我们都知道,linux环境中,任何事物都是文件, 设备是文件,目录是文件,甚至sockets也是文件.所以,用好lso ...