![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
prometheus
文章平均质量分 69
默子昂
9成的错误都是人为的
展开
-
prometheus使用 (番外篇) prometheus-operator部署
我们上一章其实监控还缺少很多东西,我们可以通过部署已经写好整合包作为案例来编写适合自己环境的监控指标收集,我找到了两个版本在这里演示下方法1 通过yaml文件进行部署#项目地址https://github.com/coreos/kube-prometheus先将之前我们部署的停掉kubectl delete -f .1、拉取软件包wget https://gitee.com/hackerwjz/kube-prometheus/repository/archive/ma.原创 2022-02-18 17:18:47 · 1793 阅读 · 1 评论 -
prometheus使用 (二十) 监控Kubernetes集群
之前我们都是直接去抓取部署在宿主机上服务暴露出来的指标进行监控K8是什么就不说了,本章主要是说一下在宿主机和容器中prometheus该如何监控K8S集群一、宿主机prometheus监听K8其实比较常见的还是在容器中跑prometheus,但在业务中也碰到过在宿主机部署的情况1、监听node资源vi /etc/prometheus/prometheus.ymlglobal: scrape_interval: 1m evaluation_interval:..原创 2022-02-18 11:48:43 · 2840 阅读 · 0 评论 -
prometheus使用 (十九) 标签重写
在prometheus的target实例中都包含一些Metadata标签信息,如下#当prometheus加载target实例后,会有一些默认的标签#以下标签都会声明prometheus该如何从target实例中获取指标__address__ #当前Target实例的访问地址<host>:<port>__scheme__ #采集目标服务访问地址的HTTP Scheme,HTTP或者HTTPS__metrics_path__ .原创 2021-04-21 17:23:06 · 5839 阅读 · 3 评论 -
prometheus使用 (十八) pushgateway自定义指标收集
前面我们的数据大部分都是由节点上的agent端收集本地数据后暴露到/metrics,再由prometheus pull到本地进行存储展示的但是终归这种指标收集的方法是有局限性的,并且有可能被其他如防火墙等安全机制拦截,又或者我们的client端并不能采集到我们想要的指标那么在这种情况下,我们可以通过一个工具Pushgateway 来进行代理,将其他区域或自定义的指标收集并提交到prometheus上一. 部署pushgateway#拉取软件包wget https://githu..原创 2021-04-14 22:38:07 · 3865 阅读 · 0 评论 -
prometheus使用 (十七) alertmanager特性--静默
3. 静默静默提供了一个简单的机制可以快速根据标签对告警进行静默处理。如果接收到的告警符合静默的配置alertmanager则不会发送告警通知,静默需要在alertmanager的web页面上配置原创 2021-04-09 17:52:49 · 1828 阅读 · 0 评论 -
prometheus使用 (十六) alertmanager特性--告警抑制
2. 抑制抑制是指当某?告警发出后,可以停?重复发送由此告警引发的其它告警的机制。例如,当集群不可访问时触发了?次告警,通过配置Alertmanager可以忽略与该集群有关的其它所有告警。这样可以避免接收到?量与实际问题?关的告警通知。抑制机制同样通过Alertmanager的配置?件进?设置。抑制是指某一告警发出后,可以停止重复发送由此告警引发的其他告警的机制(我们也不想,节点一宕机,pod全给你报错吧)例如: 集群不可访问时触发了一次告警,通过配置alertmanager可以忽...原创 2021-04-09 16:58:56 · 5830 阅读 · 2 评论 -
prometheus使用 (十五) alertmanager特性--分组
二. alertmanager的特性Alertmanager除了提供基本的告警通知能力以外,还主要提供了如:分组、抑制以及静默等告警特性1. 分组分组机制可以将详细的告警信息合并成一个通知。在某些情况下,比如由于服务器宕机导致大量的告警被同时触发,在这种情况下分组机制可以将这些被触发的告警合并为一个告警通知密码一次性接收大量的告警通知,而无法锁定问题例如: 当集群中有数百个正在运行的服务实例,并且为每一个实例都设置了告警规则加如此时发送了网络故障,可能导致大量的服务实例无法连原创 2021-04-09 11:35:13 · 5490 阅读 · 0 评论 -
prometheus使用 (十二) 简单告警配置
Alertmanager除了提供基本的告警通知能?以外,还主要提供了如:分组、抑制以及静默等告警特性1.分组原创 2021-04-08 11:06:16 · 2934 阅读 · 4 评论 -
prometheus使用 (十四) 告警模板配置
5. AlertManager 配置自定义邮件模板看到上边默认发送的邮件模板,虽然所有核心的信息已经包含了,但是邮件格式内容可以更优雅直观一些,那么,AlertManager 也是支持自定义邮件模板配置的,首先新建一个模板文件 email.tmpl。cat > /etc/alertmanager/alertmanager.yml <<EOFglobal: resolve_timeout: 5m smtp_from: '2665483426@qq.com' sm原创 2021-04-08 15:45:28 · 4682 阅读 · 0 评论 -
prometheus使用 (十三) QQ邮件告警
四. 配置邮件告警我们这里以qq邮箱为案例,不过在配置之前我们需要先获取你邮箱的一个安全码用于向你的邮箱发送信息配置qq邮箱安全码添加alertmanager报警信息global: resolve_timeout: 5m smtp_from: '2665483426@qq.com' smtp_smarthost: 'smtp.qq.com:465' smtp_auth_username: '2665483426@qq.com' smtp_auth_pas原创 2021-04-08 15:33:02 · 4283 阅读 · 9 评论 -
prometheus使用 (十一) alertmanager集群部署
一. alertmanager是做什么的官方地址https://prometheus.io/还记得上面这张图不?我们前面已经了解到如何去做服务发现、节点资源监控、可视化等等我们前面做了这么多监控收集,为的就是在出现故障的时候及时给我们提个醒,这章就是怎么去做报警规则不过再此之前,我们需要先知道alertmanager是怎么去处理报警的,如下图中所示二. 告警工作原理说明#首先在prometheus定义报警规则,比如我们通过判断up指标中节点的值是否等于1来判断服..原创 2021-03-31 17:04:50 · 1864 阅读 · 5 评论 -
prometheus使用 (十) 服务发现
在之前我们的服务发现主要依赖于静态的服务发现,如下对于指定的每个目标,在抓取配置中手动列出他们的"ip"和"端口"这种方法在监控主机较少的情况下还行,但不适合大规模的集群尤其不适合用于使用容器和基于云的实例的动态集群,这些实例经常会出现变化的,创建或消耗的情况Prometheus通过使用"服务发现"来通过自动化的机制来检测、分类和试别新的变更的目标。服务发现分类#服务发现的方法大致有以下3种1. file_sd_configs # 基于文件列表来服务发现2....原创 2021-03-29 14:53:33 · 1075 阅读 · 1 评论 -
prometheus使用 (九) 查询持久化--记录规则
前言#当你用promQL查询一个信息,然后再查询下一个记录时,上一个记录就会消失#而查询的持久化,可以帮助我们持久的使用查询语句,实现的方法主要有3种1. 记录规则 #根据查询创建新指标2. 警报规则 #以查询生成警报3. 可视化规则 #grafana等仪表盘上的语句案例 基于5分钟计算cpu使用率#创建记录规则目录mkdir /etc/prometheus/rules && cd $_#添加规则文件cat > no...原创 2021-03-26 16:11:19 · 983 阅读 · 0 评论 -
prometheus使用 (八) 小结--综合查询
前面我们看了一大堆的语法,这章不开新东西。主要是展示一些常用的案例o(* ̄▽ ̄*)o1. 查询cpu使用率#还记得irate不? 计算区间向量中的最后的两个值来算速率irate(node_cpu_seconds_total{instance="192.168.1.21:9100"}[5m])#但是cpu中的模式比较多,并不方便我们使用...原创 2021-03-25 16:50:05 · 3939 阅读 · 2 评论 -
prometheus使用 (七) 运算操作符、聚合查询、子查询
通过之前的一些知识,我们已经了解到一些基本的查询语句现在我们将使用一些花里胡哨的查询语句,可能因为案例过大导致篇幅过长,可以分段观看一. 聚合查询聚合操作符,我们可以获取一个即时向量并聚合他的元素,从而得到一个新的瞬时向量这个向量通常包含更少的元素,像这样的及时向量的每次聚合都以我们在垂直聚合中描述的方式工作#常用的聚合函数类型sum #求和。min #最小值max #最大值avg #平均值stddev #标准差stdvar #方差count #元素.原创 2021-03-23 12:55:08 · 33782 阅读 · 7 评论 -
prometheus使用 (六) 核心监控指标了解
在上⼀⼩节中,我们已经看到了类似于irate()这样的函数,可以帮助我们计算监控指标的增⻓率。除此之外, Prometheus还提供了其它⼤量的内置函数,可以对时序数据进⾏丰富的处理。本⼩节将带来读者了解⼀些常⽤的内置 函数以及相关的使⽤场景和⽤法...原创 2021-03-19 11:30:16 · 4032 阅读 · 0 评论 -
prometheus使用 (五) 函数使用
为了查询的多样化,promQL查询语句内置了大量的函数通过这些语句我们可以快捷的去查询想要的数据,以下案例1. absent() 取布尔值#先获取一个瞬时向量作为参数,然后判断这个瞬时向量是否有值#如果该向量存在值,则返回空向量#如果该向量没有值,则返回不带标签名称的时间序列 并返回值为1#存在值absent(prometheus_http_requests_total)#不存在值absent(prometheus_http_requests_totalxxx)#这对于.原创 2021-03-18 09:59:00 · 11996 阅读 · 0 评论 -
prometheus使用 (四) 瞬时向量与区间向量
PromQL是prometheus内置的查询语言,与mysql的select类似,在prometheus中查询数据、告警、可视化中都非常有用一. 基于指标查询node_cpu_seconds_total返回...node_cpu_seconds_total{cpu="0", instance="192.168.1.21:9100", job="node", mode="user"} 690.78node_cpu_seconds_total{cpu="1", instance="1.原创 2021-03-17 14:10:25 · 5405 阅读 · 1 评论 -
prometheus使用 (三) Grafana可视化
前面我们简单的做了一些指标的收集,但是我们需要了解一些基本的知识才方便后面的学习一. prometheus-service文件配置说明#prometheus的配置和大部分服务类似1. 直接使用命令行+参数执行 #--参数=值2. 将参数放在文件中,并在启动时指定路径 #--参数=文件vi /usr/lib/systemd/system/prometheus.service[Unit]Description=The Prometheus mon.原创 2021-03-11 15:36:02 · 1155 阅读 · 1 评论 -
prometheus使用 (二) 监控主机节点
上一章,我们部署了prometheus服务,但是点开页面发现基本都是空白的>︿<这是因为没有添加要监控的对象是什么,我们来简单的操作一下一. 监控prometheus本身#我们先访问一下当前主机的httphttp://192.168.1.20:9090/metricsprometheus是通过使用http请求方法,请求客户端节点上的端点信息来收集数据的同时,prometheus也会用相同的方法去暴露自身的指标数据,所以是可以去监控自身的也可能你会说,这不是已经收集到了吗?.原创 2021-03-08 16:09:35 · 3214 阅读 · 1 评论 -
prometheus使用 (一) 部署服务
前面基础用法我们已经有所了解了,但部署永远都是第一步。如果想要稳定运行下去集群的监控是必须的这里我们使用一个新的工具,"Prometheus"来监控我们的集群。不过再此之前,我们要了解一些不要的信息一. 监控的目标#一个监控系统需要能够有效的⽀持"⽩盒监控"和"⿊盒监控"#可以在系统或者服务在发⽣故障时能够快速通知相关的⼈员进⾏处理。1.黑盒监控 #通常是在外部对主机或服务的观察方式 #比如curl的状态码、能否ping通、端口或进程什么的2.白盒监控 .原创 2021-03-07 21:35:10 · 1557 阅读 · 3 评论