自定义监控指标开发(二):Prometheus介绍及PromQL的使用
介绍Prometheus是一套成熟且流行的系统和服务监控系统,它几乎满足了监控的所有能力。 Grafana, 它和Prometheus相比更侧重的是图形化展示,有强大、灵活的仪表盘体系,我们会把基于Prometheus收集的数据作为数据源导入到Grafana。 监控模式目前,监控系统采集指标有两种方式,一种是『推』,另一种就是『拉』: 推的代表有 ElasticSearch,InfluxDB,OpenTSDB 等,需要你从程序中将指标使用 TCP,UDP 等方式推送至相关监控应用,只是使用 TCP 的话,一旦监控应用挂掉或存在瓶颈,容易对应用本身产生影响,而使用 UDP 的话,虽然不用担心监控应用,但是容易丢数据。 拉的代表,主要代表就是 Prometheus,让我们不用担心监控应用本身的状态。而且可以利用 DNS-SRV 或者 Consul 等服务发现功能就可以自动添加监控。 如何监控Prometheus 监控应用的方式非常简单,只需要进程暴露了一个用于获取当前监控样本数据的 HTTP 访问地址。这样的一个程序称为Exporter,Exporter 的实例称为一个...
自定义监控指标开发(一):基于Docker搭建Prometheus+Grafana
摘自:https://juejin.cn/post/7097166804044218405 安装运行Prometheus(docker版)Grafana是一个开源的功能丰富的数据可视化平台,通常用于时序数据的可视化。它内置了多种数据源的支持 下载镜像包123docker pull prom/node-exporterdocker pull prom/prometheusdocker pull grafana/grafana 启动node-exporter12345docker run -d -p 9100:9100 \ -v "/proc:/host/proc:ro" \ -v "/sys:/host/sys:ro" \ -v "/:/rootfs:ro" \ prom/node-exporter 访问url: http://127.0.0.1:9100/metrics 效果如下: 这些都是收集到的数据,有了它就可以做数据展示了。 启动prometheus新建目录...
prometheus推送告警记录
AlertManager 中的几个容易混淆的参数首先在 Prometheus 中有两个全局的参数 scrape_interval 和 evaluation_interval 。 scrape_interval 参数表示的是 Prometheus 从各种 metrics 接口抓取指标数据的时间间隔 evaluation_interval 参数表示的是 Prometheus 对报警规则进行评估计算的时间间隔。 group_by 为了避免连续发送类似的告警通知,可以将相关告警分到同一组中进行告警。分组机制可以将详细的告警信息合并成一个通知,在某些情况下,比如由于系统宕机导致大量的告警被同时触发,在这种情况下分组机制可以将这些被触发的告警合并为一个告警通知,避免一次性接受大量的告警通知: 1group_by: ['alertname', 'job'] group_wait 当一个新的报警分组被创建后,需要等待至少 group_wait 时间来初始化告警。 这样实际上就缓冲了从 Prometheus 发送到 AlertManager...
分析Alertmanager发送告警消息的逻辑
摘自: https://blog.csdn.net/qq_35952638/article/details/108077895 本文使用 Prometheus v2.18.1 ,Alertmanager v0.20.0本文主要分析 Alertmanager 什么情况下会发送告警消息,避免对用户造成消息轰炸。 Alertmanager 的一般工作流程 Prometheus 每隔 interval 时长执行一次 alert rule 。如果执行结果包含 n 个时间序列,则认为存在 n 个警报,通过 HTTP 通信发送 alerting 状态的消息给 Alertmanager 。 Alertmanager 收到之后, 先根据 route 判断它属于哪个 group 、应该发送给哪个 receiver 。 再判断该 group 当前是否处于冷却阶段、是否被 Silence 静音、是否被 Inhibit 抑制。如果都没有,则立即发送告警消息给用户。 如果 Prometheus 再次执行 alert rule 时,发现执行结果为空,则认为警报已解决,立即产生 resolved...
prometheus,k8s学习网站记录
rancher官方文档 一个不错的Prometheus中文网站 上面网站的一个备用地址 AlertManager 何时报警 Alertmanager重复/缺失告警现象探究及两个关键参数group_wait和group_interval的释义 Kubernetes集群监控指标项详解 K8s about pod resource monitoring(记录些常用的Prometheus规则expr) 最近5分钟,pod 磁盘io利用/写, 大于100的1sum(rate(container_fs_writes_bytes_total{pod!=""}[5m])) by (pod,namespace,instance) > 100 最近30分钟pod重启1changes(kube_pod_container_status_restarts_total[30m])>0 Ready状态(配合for参数, 比如for=5m,...
使用AlertManager进行告警管理
rancher官方文档 一个不错的Prometheus中文网站 Prometheus典型的告警规则1234567891011121314151617181920groups: - name: wechat-rule-group rules: - alert: wechat-rule annotations: summary: |- ==========begin=========== [报警名称]:{{ $labels.alertname }} [报警实例]:{{ $labels.instance }} [报警命名空间]:{{ $labels.namespace }} [报警pod]:{{ $labels.pod }} ...
结合Rancher使用监控系统
rancher官方文档 一个不错的Prometheus中文网站 Grafana安装文档 注: 本文Rancher版本为rancher2.6.x 一定要记得在hosts文件编辑这些集群的host, 使这些台机器可以通过hostname互通 安装Charts 配置详细配置:https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/values.yaml 配置Prometheus、Alerting以及Grafana 默认Prometheus的admin api是不开启的,如果希望通过api方式操作Prometheus数据,则需要打开admin api 可以配置各项【grafana/prometheus/alertmanager】的enable参数来控制是否安装此工作负载 已知问题有一个已知问题,K3s 群集需要更多的默认内存。如果你在 K3s 集群上启用监控,rancher...