首页 > 分享 > Prometheus 学习笔记

Prometheus 学习笔记

Prometheus 学习笔记

0.3752018.05.23 04:41:02字数 2,235阅读 4,490

Prometheus官方文档

入门指导

Instructions and example code for a Prometheus workshop. 手把手教你构建Prometheus系统 Prometheus Server Node Exporter The expression language Instrument code(使用Prometheus客户端库构建应用代码,通过Prometheus监控应用) Dashboard Alerting Pushgateway 提出一些问题,这些问题有助于你对Prometheus的使用和理解 安排一些任务,通过完成这些任务(没有答案),帮助你使用Prometheus系统 文章相对比较老(2016.08.05, Prometheus < 2.0),不过对入门来说很有参考价值 How To Install Prometheus using Docker on Ubuntu 14.04.

这个文章相对比较老,不过可以作为基于Docker部署Prometheus,Node Exporter,Grafana的入门参考:

使用Docker部署相关Prometheus组件 Prometheus,Node Exporter,Grafana的简单书用 例子中Prometheus的版本是2.0之前的,有些命令参数已经不再使用了

博客

官方博客

SoundCloud中关于Prometheus的博客

必读。这篇博客对Prometheus整体做了一个概括性的、比较详细的介绍(Prometheus起源于SoundCloud):

Prometheus的前世今生 Pormetheus的设计哲学 文章相对比较老(2015.01.26),有些内容不适于Prometheus 2.0 Robust Perception blogs about Prometheus.

Prometheus

Monitoring without Consensus (推荐) 对监控系统来说,关键特性等级:可靠性>准确性>一致性>持久性。监控系统最重要的是可用性,没必要依赖集群 集群更看中一致性,而不是可靠性;并且集群会有各种各样的问题,很难保证可靠性 集群更适用于一个节点性能无法满足需要的应用,而Prometheus十分高效,不需要集群 Prometheus的高可用性是通过运行多个相同的Prometheus实例来实现的,实例之间独立 多个独立Prometheus实例,会造成数据有轻微的不一致。但是这个不一致,并不影响监控、报警的正确性;也不会影响监控数据的准确性。所以这个不一致,无所谓 警报需要处理警报中的噪声 一天之后的监控数据针对监控和报警来说,不会再有意义;当然性能分析等等除外 基础设施和服务down,不可避免,不用过于担心;需要有个强壮的监控系统 High Availability Prometheus Alerting and Notification 高可用 至少两个同样的Prometheus服务 使用Alertmanager本身提供的集群功能 配置所有的Prometheus实例与所有的Alertmanager通信 Relabelling can discard targets, timeseries and alerts <relabel_config> 配置是通过修改 label 来控制某些 target 不被抓取 <metric_relabel_configs> 配置是通过修改 label 来控制某些时间序列不被抓取 <relabel_config> 配置是通过修改 label 来控制某些 alert 不被发送给Alertmanager <relabel_config> 配置是通过修改 label 来控制某些时间序列不被写入远端 relabel行为中,drop and keep行为(特殊)类似与过滤器,如果label不匹配,相应数据会被丢弃;而其它的relabel行为,会继续处理数据(不论匹配与否) Scaling and Federating Prometheus 一个单点的Prometheus能够处理百万级别的时间序列;也就是:上千个服务,每个服务上千个样本,采集间隔10s 如果你有多个数据中心,希望能够看到“全局”级别的聚合数据,需要使用Prometheus的联盟功能 如果你的数据量很大(一个Prometheus性能无法满足),需要根据数据进行分区(分片);比如根据前端、后端、主机等,每一个分区一个Prometheus,再构成Prometheus联盟 如果数据量再大;再分,再联盟

Alert

Reduce Noise From Disk Space Alerts(August 7, 2015) 通过例子简单介绍Prometheus警报规则语法 应用Prometheus predict_linear() 函数作警报预测 Simple linear regression Alerting on Down Instances(September 1, 2015) 监控、告警实例是否down (通过 up metrics) 监控、告警down实例的百分比 Audio Alerting with Prometheus 简单使用Blackbox Exporter (这个Exporter是个好东西) 简单使用relabel功能 发送通知给webhook(使用webhook处理警报信息) What Alertmanager 0.1.0 means for you

Alertmanager与之前版本的区别

通过路由规则处理警报,之前仅仅是列表(功能更强大) 可以通过模版定制化警报的通知(有默认配置) 多条警报可以聚合成一条通知 Sending email with the Alertmanager via Gmail 配置Alertmanager,通过Gmail发送警报邮件 Alertmanager默认的警报信息模版,信息不够详细 Prometheus and Alertmanager Architecture 问什么Prometheus和Alertmanager是分离的 Prometheus十分注重可靠性而不是持久化 为什么不使用分布式数据库(可靠性很难保证) 针对当前分布式数据库的研究--Jepsen Sending alert notifications to multiple destinations 警报路由匹配时,当匹配成功,其它路由规则就不会再处理该警报(一般情况)
*continue 可以改变上述默认行为,匹配成功之后会继续匹配之后的规则,直至匹配成功 Using time series as alert thresholds 警报阈值,除了静态配置外,还可以通过 recording rules 或者 exporter 生成阈值时间序列(包含标签) 阈值时间序列可以通过 group_left 操作与相应的时间序列匹配 上述方法可以与 use labels to direct email notifications 结合使用(alertmanager可以更具label数据,动态处理) Using labels to direct email notifications A handy feature of the Alertmanager is that almost all notification fields are templatable. This can be used to route emails based on labels. 前提,目标地址(比如,邮件目的地址)需要存在于标签集中:
mymetric{job="myjob",email_to="foo@example.org",instance="host1"} Alertmanager需要配合做两件事情:1、通过分组,确保每个目标地址(比如,邮件地址)有对应的通知;2、通过警报模版丰富通知内容,发送给目标地址 Alerting on gauges in Prometheus 2.0 Prometheus 2.0的一个主要改变是对 staleness 的处理 Prometheus 2.0允许对消失的 targets 和 时间序列进行跟踪 上述变化会影响警报规则的创建,比如,如何监控实例是否down:用avg_over_time(up{job="jobname"} [5m]) < 0.9,替换up{job="jobname"} < 1。否则会引起误报或者不报 Alerting on crash loops with Prometheus 监控应用频繁的重启 Prometheus客户端库会提供 process_start_time_seconds metric,表示进程的开始时间(如果进程重启,这个时间序列的值就会变化) avg without(instance)(changes(process_start_time_seconds[1h])):一个job一个小时内重启的平均次数 如果进程重启频率高于采集频率,上述数据会丢失部分(不过对监控没有影响) 上述监控方法依赖于:目标的label集不变(尽管应用重启) Why not send graphs with alerts? 带宽的限制 额外的工作 通知中可以包含dashboard的链接,而不是曲线图本身 When to Alert with Prometheus 如何正确的使用警报系统是一门艺术,少而精 警报不能太少(无法有效的监控),也不能太多(噪声太多,无法有效的抓住问题重点) 即要有当前状态警报,也要有预测警报 严重问题的警报、需要立即修复问题的警报 关于用户体验的警报,是非常重要的警报 在线服务警报:alerting on conditions like high latency and error rates as high up in the stack as possible 针对容量警报(比如,磁盘):alerts to detect when you will run out of space that will lead to an outage. 批量任务警报:alert when a job has not succeeded recently enough 警报通知需要有相应dashboard的链接,为oncall提供数据支持 监控监控系统本身 What percentage of time is my service down for? 使用 Black Exporter 监控服务宕机的时长

Metrics

What’s “up” Doc? 由于 up 不是来源于 scrape 本身, metric_relabel_configs 不适用于它 只要 service discovery 能够返回 target,up的值就是 1(不论真实的实例是否真的存在) 有类似于 up 的 metrics,以 scrape_ 开头 除了 up,有时有必要使用 Blackbox Exporter 来检测 target 的健康情况

Alert补充资料

My Philosophy on Alerting

一个有着7年oncall经验的人(Rob Ewaschuk)对警报系统使用的经验总结。

警报分类(类型、级别,通知方式) 警报规则创建指导 警报处理的完整流程

思考

How to have alerts to ensure that Prometheus servers, Alertmanagers, PushGateways, and other monitoring infrastructure are available and running correctly?

最后编辑于

:2018.06.07 08:04:24

更多精彩内容,就在简书APP

"小礼物走一走,来简书关注我"

还没有人赞赏,支持一下

总资产16共写了1.8W字获得59个赞共59个粉丝

序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...

沈念sama阅读 203,098评论 5赞 476

序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...

文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...

文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...

正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...

茶点故事阅读 63,512评论 5赞 364

文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...

那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...

文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...

序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...

正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...

茶点故事阅读 35,563评论 2赞 319

正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...

茶点故事阅读 37,644评论 1赞 329

序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...

正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...

茶点故事阅读 38,933评论 3赞 307

文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...

文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...

我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...

正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...

茶点故事阅读 42,361评论 2赞 342

被以下专题收入,发现更多相似内容

推荐阅读更多精彩内容

Prometheus TSDB是什么? (Time Series Database) 简单的理解为.一个优化后用来...

PLEASE READ THE FOLLOWING APPLE DEVELOPER PROGRAM LICENSE...

念念不忘的阅读 13,429评论 5赞 6

An awesome & curated list of best applications and tools ...

运维前线阅读 3,243评论 0赞 5

我蛹在莲的颈项 孕育今生的开场 一个如火的夏天 阿娇遗失了秀发上的丝结 孤楚而忧伤 是我不离不弃的追随 牵引着《阿...

文峰云阅读 183评论 0赞 0

大家好!是时候为自己的好种子施肥浇水晒太阳了,我本月最想实现的目标是:种下和谐的人际关系,希望见到我张蓉萍的人都能...

张蓉萍阅读 172评论 0赞 0

相关知识

机器学习笔记(通俗易懂)
关于举办浙江大学第六届最美学习笔记大赛的通知
如何学习网络安全?(网络安全学习笔记)
花道学习笔记
园艺技巧学习笔记1
厚“记”薄发 落“笔”生花丨学校学生线上学习优秀课堂笔记展示
python学习笔记(十六)文件操作
完结撒花!吴恩达DeepLearning.ai《深度学习》课程笔记目录总集
重磅!花书《深度学习》,这份精炼笔记可能是最全面的
花类的基本常识(学习笔记三)

网址: Prometheus 学习笔记 https://m.huajiangbk.com/newsview432003.html

所属分类:花卉
上一篇: 盆栽小玫瑰花怎么养
下一篇: 万佛湖渔业水质调查及放养模式优化