一 Prometheus配置文件详解
# 四个模块 配置文件指标说明
global: 全局配置(如果有内部单独设定,会覆盖这个参数)
alerting: 告警插件定义。这里会设定alertmanager这个报警插件。
rule_files: 告警规则。 按照设定参数进行扫描加载,用于自定义报警规则,其报警媒介和route路由由alertmanager插件实现。
scrape_configs:采集配置。配置数据源,包含分组job_name以及具体target。又分为静态配置和服务发现
二 PromQL
MySQL有SQL语句,那Prometheus有啥呢? PromQL (Prometheus Query Language) ,这是Prometheus开发的数据查询DSL语言,日常的可视化以及告警规则都要用到它。这个很重要,一定得好好学一下。
浏览器打开Prometheus的web界面,http://localhost:9090/graph
。可以看到有个输入框, 就是输 PromQL语句的地方,下方有个 Execute 按钮。
先拿Nginx的指标举个例子,Nginx如何监控,请查看我之前的文章Prometheus监控nginx
查看一台Nginx的活跃连接数,即active指标,如何看呢?
在服务器上查看完整的指标语句是:
[wonders@node1 ~]$ curl http://172.18.11.192:9145/metrics
# HELP nginx_http_connections Number of HTTP connections
# TYPE nginx_http_connections gauge
nginx_http_connections{state="active"} 1349
nginx_http_connections{state="reading"} 0
nginx_http_connections{state="waiting"} 1341
nginx_http_connections{state="writing"} 5
......
那我只想看 active 怎么办呢?在输 PromQL 语句的地方输入
nginx_http_connections{state="active"}
会输出所有Nginx机器的 active
nginx_http_connections{instance="172.18.11.192:9145",job="Nginx",state="active"} 1459
nginx_http_connections{instance="172.18.11.193:9145",job="Nginx",state="active"} 1456
当我只想看其中一台比如192这台的时候呢?
nginx_http_connections{instance="172.18.11.192:9145",state="active"}
会输出192的指标
nginx_http_connections{instance="172.18.11.192:9145",job="Nginx",state="active"} 1358
是不是有点明白了?
当然线上不可能只有一台Nginx,那我想算总和呢?就是所有Nginx的active相加,这个基本需求PromQL早已实现。
sum(nginx_http_connections{state="active"})
输出结果如下
{} 2900
同样的 PromQL 还有sum (求和);min (最小值);max (最大值);avg (平均值);stddev (标准差);stdvar (标准差异);count (计数);count_values (对 value 进行计数);bottomk (样本值最小的 k 个元素);topk (样本值最大的k个元素);quantile (分布统计),等等各种计算函数。这种在Prometheus叫做聚合操作。
这时有人说我不想看某一台机器的指标怎么办呢?使用 !=
nginx_http_connections{instance!="172.18.11.192:9145",state="active"}
这种操作符还有算数二次元运算符(加减乘除)、布尔运算符(= ,!= ,< , > ,<= ,>= )、集合运算符(and,or,unless)、匹配模式等等
看了上面的例子,应该有同学已经开窍了,下面的都是理论知识了。
吹牛篇
dapper论文:https://blog.csdn.net/qq_35119422/article/details/86485335
原文标题 :号称中国的splunk-日志易公司怎么样?
https://exp.newsmth.net/topic/article/3c00ff380df9d7c7e07d96b056ccf315
日志易 融资1.4亿 2020最新篇:https://baijiahao.baidu.com/s?id=1667627432439028864&wfr=spider&for=pc
全链路和白盒监控
java全链路追踪 Sleuth+Zipkin : 我们已经接触过几种微服务的监控方式,比如:
Spring Boot Actuator 监控微服务,:https://blog.csdn.net/qq_33257527/article/details/88294016
Spring Boot Admin也是监控微服务,他是把Actuator的数据用可视化的方式呈现出来,Hystrix Dashboard监控Hystrix服务,Hystrix Turbine聚合多个Hystrix服务的监控信息等,接下来我们要讨论的是微服务的“跟踪"。
Prometheus jmx :https://www.cnblogs.com/caizhenghui/p/9132414.html 下载地址: https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.3.1/jmx_prometheus_javaagent-0.3.1.jar
Prometheus监控tomcat:https://blog.csdn.net/tiny_du/article/details/108402265
Kube-prometheus监控jmx指标 : https://www.cnblogs.com/leozhanggg/p/14059720.html
原文链接: