![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
prometheus
文章平均质量分 57
katy的小乖
不断学习
展开
-
node-exporter对节点相关的指标增加node ip
使用kube-prometheus部署的prometheus-operator,如果node在集群内,prometheus从node-exporter收集到的指标中是没有node ip的,只有node的hostname,使用label: instance来标记的。最近有个需求是(集群内)节点告警的时候需要知道具体的ip。修改node-exporter-serviceMonitor.yaml中以下内容:修改完成node-exporter-serviceMonitor.yaml后,重新appl.原创 2022-01-05 20:53:27 · 2232 阅读 · 0 评论 -
pod健康检查promql:pod 处于非ready告警,增加pod所在的节点ip
pod 处于running状态并不代表可以正常接收请求,只有当pod对应的status中condition为true才代表能正常接收请求。以下表达式是在1分钟之内pod处于非ready状态的promqlmin_over_time(sum by (namespace, pod, prometheus_replica, instance, node) (kube_pod_status_ready{condition!='true', pod =~ '^<.svcName>.*', na.原创 2021-12-11 22:23:31 · 1595 阅读 · 0 评论 -
prometheus-adapter自定义hpa
prometheus-adapter支持自定义hpa部署报错新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入部署报错F0724 01:09:56.467097 1 adapter.go:309] unable原创 2021-08-03 18:53:26 · 2514 阅读 · 0 评论 -
kubelet上报的container相关指标总是莫名缺少相应的label值,如image, pod, name等
k8s集群中container监控指标有label但是没有value现象原因排查解决现象无法获取到以下label的值:container, image, pod, name集群刚搭建完的时候一切都是正常的,后来运行一段时间后就缺这缺那的。原因排查由于这些指标是kubelet上报的,因此看了对应节点上kubelet的日志,发现kubelet日志一直在报错。centos系统cat /var/log/messages |grep "Failed"Jul 19 17:37:51 m1 kube原创 2021-07-21 17:01:26 · 1962 阅读 · 1 评论 -
url中的转义字符
最近排查promql问题的时候发现,只要promql中带有特殊字符的,在查询的时候特殊字符都会被转义。比如在查询 sum(1 - rate(node_cpu_seconds_total{mode="idle"}[5m]) * on (namespace, pod) group_left(node) node_namespace_pod:kube_pod_info:{node=~"master2.sugonsit.local"}) by (node)但是实际执行的表达式却是sum%2...原创 2021-04-26 14:15:04 · 799 阅读 · 0 评论 -
golang调用prometheus-operator api创建PromtheusRule
prometheus-operator使用PrometheusRule来代替了规则文件。每个告警规则对应一个PrometheusRule对象。所有的PrometheusRule对象会被Prometheus-Operator转换为规则文件挂载在promtheus pod内部的/etc/prometheus/rules/prometheus-k8s-rulefiles-0 目录下。package apiimport ( "errors" "fmt" operatorV1 "github.com.原创 2020-11-28 14:06:03 · 1343 阅读 · 9 评论 -
通过cadvisor来进行容器的健康检查
cadvisor指标见官网:https://github.com/google/cadvisor/blob/master/docs/storage/prometheus.mdcadvisor目前并没有提供可以作为健康检查使用的指标。根据这个issue:https://github.com/google/cadvisor/issues/2166根据docker_exporter可以看到会提供docker_container_running_state这个指标来标记容器是否是running....原创 2020-11-21 15:35:20 · 518 阅读 · 0 评论 -
k8s hpa计算
hpa targets计算核心代码代码位置:github.com/kubernetes/pkg/controller/podautoscaler/metrics/utilization.go遍历metrics,如果当前podName没有设置request则跳过。把每个podName对应的metrics的value累加得到metricsTotal, 把每个podName对应的request累加得到requestsTotal。当前pod资源使用情况:currentUtilization =...原创 2020-08-12 00:22:52 · 1045 阅读 · 0 评论 -
prometheus-operator metrics remote write elasticsearch
把prometheus-operator部署起来的prometheus metrics远程存储到es。prometheus官方推荐通过metricbeat写入Elasticsearch官网地址https://github.com/elastic/beats但是prometheus并没有实现remotewrite到elasticsearch的功能。见 https://github.com/prometheus/prometheus/issues/5528通过promet...原创 2020-08-06 13:48:48 · 1095 阅读 · 0 评论 -
prometheus如何评估告警策略以及如何推送告警消息到alertmanager?
目录init rule managerrule manager状态更新updateload groupsgroup keyrun new group评估规则并发送评估发送QueryFuncexec queryNotifyFunc首先初始化ruleManager,里面包含了prometheus branch: master1. 初始化rule manager根据prometheus的evaluation_interval,规则文件...原创 2020-07-30 22:31:31 · 2607 阅读 · 2 评论 -
prometheus alert/record rule
一直不知道官网教程里面的这些规则怎么来的,为什么就是这些字段,会不会还有别的字段?https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/#defining-alerting-rulesgroups:- name: example rules: - alert: HighRequestLatency expr: job:request_latency_seconds:mean5m{job...原创 2020-07-30 15:15:39 · 560 阅读 · 0 评论 -
cadvisor和node-exporter cpu/mem/disk/net io/disk io指标来源
若有不对,欢迎批评指正#container-cpu````cat/sys/fs/cgroup/cpu,cpuacct/cpuacct.stat````-mem````cat/sys/fs/cgroup/memory/memory.usage_in_bytes如果存在memory.total_inactive_file,并且usagememory.total_inactive_file,那么usage=0,否则usage=usa...原创 2020-05-31 16:32:39 · 795 阅读 · 2 评论 -
cadvisor metrics container_memory_working_set_bytes vs container_memory_usage_bytes
之前查询container mem已经使用的mem,都是使用的是container_memory_usage_bytes,直到早上看到openshift监控平台在查询container mem usage的时候使用的container_memory_working_set_bytes。cadvisor官方给出的metrics文档:https://github.com/google/cadvisor/blob/master/docs/storage/prometheus.mdmem相关的指标...转载 2020-05-25 13:38:37 · 7923 阅读 · 0 评论 -
golang处理[]interface
在使用prometheus的query_range接口查询metrics的时候,prometheus返回的数据格式如下{ "status" : "success", "data" : { "resultType" : "matrix", "result" : [ { "metric" : { ...原创 2020-03-23 13:58:13 · 781 阅读 · 0 评论 -
docker运行prometheus报错:error loading config from \"prometheus.yml\": couldn't load configuration
目录prometheus.yml路径原命令报错解决完整命令prometheus.yml路径/root/katy/prometheus/prometheus.yml原命令// --log.level=debug: log以debug模式输出// --storage.tsdb.retention.time=3d: 数据保留时间为3天docker run ...原创 2019-11-08 10:35:14 · 12194 阅读 · 0 评论 -
cadvisor端口冲突 与 Failed to start container manager: inotify_add_watch /sys/fs/cgroup/cpuacct,cpu: no s
目录官网教程cadvisor端口冲突解决cadvisor退出,状态255日志报错相关issue解决完整的cadvisor官网教程https://prometheus.io/docs/guides/cadvisor/cadvisor端口冲突按照官网demo,cadvisor使用的本地8080端口映射到默认的8080端口,但是我本地8080端口已经被占...原创 2019-09-11 16:13:39 · 2708 阅读 · 0 评论 -
centos安装prometheus
下载wget http://cactifans.hi-www.com/prometheus/prometheus-2.1.0.linux-amd64.tar.gz解压sudo tar zxvf prometheus-2.1.0.linux-amd64.tar.gz可以看到解压后的文件夹里面有个可执行的prometheus,可以直接运行./prometheus...转载 2019-08-21 18:40:53 · 880 阅读 · 0 评论