![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
监控
疯琴
这个作者很懒,什么都没留下…
展开
-
Prometheus源码学习(9) scrape-target
主要作用scrape.Target 是一次抓取的具体对象,包含了抓取和抓取后存储所需要的全部信息。从 targetGroup.Group 到 scrape.Target 的转换过程如下:targetsFromGroup函数遍历每个targetGroup.Group中的Target,合并targetGroup.Group的公共标签集(记为A)和这个Target本身的标签集(记为B)为标签集C。populateLabels函数从C和*config.ScrapeConfig中创建Target。以下是具原创 2021-05-23 21:33:52 · 746 阅读 · 0 评论 -
Prometheus源码学习(8) scrape总体流程
1. main 函数中初始化 scrapeManager 实例// 初始化 scrapeManager,fanout Storage 是一个读写多个底层存储的代理scrapeManager = scrape.NewManager(log.With(logger, "component", "scrape manager"), fanoutStorage)fanoutStorage 是读写多个底层存储的代理,实现了 storage.Appendable 接口。scrape.Manager 结构体.原创 2021-05-22 08:39:03 · 1368 阅读 · 0 评论 -
Prometheus 通过 nginx log 日志监控应用服务
选型通常后端应用都通过 api 接口暴露服务,通过 nginx log 监控服务有以下特点和优势满足应用监控的需求通过响应状态码识别错误距离用户侧更近,请求时延包含了 nginx 到后端的网络时延,更接近用户体验对后端程序完全无侵入可以通过 namespace 从一份日志中解析出各个服务指标应用监控使用 RED 指标,即request 请求频率error 错误数delay 请求时延监控方案使用 prometheus-nginx-exporter采集 nginx 的 acc原创 2021-02-02 21:05:29 · 4101 阅读 · 0 评论 -
网络设备日志监控告警部署方案
部署两个 logstash 高可用全部交换机配置日志发送给两个 logstashlogstash 分别从 514 和 5000 两个 udp 端口接收 H3C 和 Cisco 的日志logstash 使用不同的 grok 表达式解析两种交换机的日志,将日志级别作为告警阈值logstash 设置 @timestamp 字段为当前时区的时间,作为日志采集时间logstash 通过 fingerprint 设置两台高可用的去重标识,供 es 进行去重处理logstash 将数据发送给 es开发应..原创 2021-02-02 11:21:36 · 957 阅读 · 0 评论 -
Prometheus 监控 windows process 进程存活
安装 windows-exportermsiexec /i "D:\monitor\windoes_exporter.msi" ENABELD_COLLECTORS="os,cpu,cs.logical_disk,net,system,process" LISTEN_PORT="19182" EXTRA_FLAGS="--collector.process.whitelist=abc|windows_exporter"rule 配置up{job="windows",ip="10.0.0.1"} *原创 2021-01-27 10:22:22 · 3086 阅读 · 3 评论 -
Prometheus源码学习(2) 服务发现
Prometheus 每个被控目标暴露一个 endpoint 供 server 抓取,要获知这些 endpoint 有多种方式,最简单的是在配置文件里静态配置,还有基于 k8s、consul、dns 等多种方式,基于文件的服务发现是比较灵活普遍的一种方式。当监控目标量比较大,变化的频率和量也比较大的时候,用 file SD 比较合适,我尝试过 consul,因为每次更新都要删除全量数据重新填充,所以不太适用这个场景。下文以 file SD 为例研究服务发现。概要介绍(from README.md)SD原创 2021-01-22 20:00:16 · 778 阅读 · 0 评论 -
Prometheus 基于 snmp 监控网络设备注意事项
使用ifHCOUTOctets 而不是 ifOUTOctets,前者是64位的counter,后者是32位的snmp-exporter 的配置文件中,抓什么指标就 walk 什么 oid,最小化 walk 提高效率告警指标通常使用端口占用率而不是端口流量绝对值,ifSpeed 的值 GB口是 1000,也就是10进制,单位是兆比特,例如rate(ifHCOUTOctets{job='snmp',ifOperStatus='1'}[2m]) * 8 / (ifSpeed{ifOperStatus=".原创 2021-01-22 17:29:00 · 2721 阅读 · 0 评论 -
Prometheus 监控进程的内存使用率 PromQL 多对一向量匹配
使用 process-exporter 监控进程,node-expoert 监控节点获取每个进程的内存使用量的表达式为 node_process_namegroup_memory_bytes{job="process",ip="10.1.1.1",memtype="resident"}获取节点总内存量的表达式为 node_memory_MemTotal_bytes{job="node",ip="10.1.1.1"}如果想计算每个进程的内存使用率,简单地将二者相除是得不到结果的,正确的计算表达式为原创 2021-01-21 17:13:04 · 6248 阅读 · 0 评论 -
更新 Prometheus 配置文件的正确姿势
Prometheus 有几种配置文件,每种可能有多个具体的文件。这些配置文件可能包括:配置文件如 prometheus.yml告警规则文件如 rule.yml服务发现用的监控目标文件如 targets.jsonnode-exporter 的 textfile这些文件有些可能会手工修改,然后手工触发 reload,有些可能会由 sidecar 程序监控变更并reload,如 thanos-sidecar,有些可能由自定义的程序进行修改如自己写的 go 程序定期更新目标文件。以监控目标文件为例原创 2021-01-21 15:08:43 · 1935 阅读 · 2 评论 -
Grafana table 表格配置方法
使用 table panel 展示文件系统的使用率,这个指标只关心当前值。在 Query tab 设置 Format 为 Table,勾选 InstantPanel tab 的 Visualization 选择 TableTransform tab 隐藏不显示的列Field tab 设置 Cell display mode 和 Unit修改列名...原创 2021-01-21 14:34:35 · 27812 阅读 · 30 评论 -
Prometheus源码学习(1) 编译源码
代码里面看不明白的变量或者函数可以通过两种方式观测它的值来了解其含义一种是把代码片段摘出来,写到一个测试程序里运行一下另一种时日志里打印它的值来观察第一种比较简单易行,但是代码片段要比较独立才好做,第二种要修改源码重新编译,可以在整个源码上下文中观测,但是需要编码源码,相对麻烦一些,研究源码早晚也要编译,所以先总结一下编译 Prometheus 源码的步骤。编译 Prometheus 源码需要 node.js 和 yarn。我是在 WSL2 上编译的。安装 node.js$ curl -原创 2021-01-19 21:32:51 · 877 阅读 · 0 评论 -
Prometheus源码学习(0) 总览
架构和工作流程Prometheus server 的核心功能模块是 HTTP server、TSDB 、服务发现和指标抓取整个工作流程大概是这样的:通过 Service discovery 知道要抓取什么指标抓取指标数据存入 TSDB客户通过 HTTP server 使用 PromQL 查询结果目录Prometheus源码学习(0) 概览Prometheus源码学习(1) 编译源码Prometheus源码学习(3) 服务发现...原创 2021-01-19 21:31:41 · 238 阅读 · 0 评论 -
Prometheus节点失联后CPU使用率不准确
现象测试节点失联自恢的程序时发现一个异常现象,失联的节点cpu使用率超过60%,实际上测试节点什么程序都没跑,cpu使用率接近0。原因该节点每分钟刮取一次监控数据,5分钟取得5个数据点,计算CPU使用率使用的公式是5分钟均值:1 - (rate(node_cpu_seconds_total{mode="idle",instance="192.168.1.1"}[5m]))节点从失联到自恢用了3-4分钟,这样5分钟之内每分钟少一个数据,除法的分母减1,得到的商就会变大,将5m改成2m就正常了。原创 2020-07-31 16:11:54 · 798 阅读 · 0 评论