Prometheus

监控工具之---Prometheus探索PromQL(二)

早过忘川 提交于 2020-05-02 00:37:25
参考链接: https://yunlzheng.gitbook.io/prometheus-book/parti-prometheus-ji-chu/promql 探索PromQL      通过PromQL用户可以非常方便地对监控样本数据进行统计分析,PromQL支持常见的运算操作符,同时PromQL中还提供了大量的内置函数可以实现对数据的高级处理。当然在学习PromQL之前,用户还需要了解Prometheus的样本数据模型。PromQL作为Prometheus的核心能力除了实现数据的对外查询和展现,同时告警监控也是依赖PromQL实现。 Metrics类型   Prometheus定义了4中不同的指标类型: Counter(计数器):只增不减的计数器,常见的监控指标,如 http_requests_total,node_cpu都是Counter类型的监控指标 。 Gauge(仪表盘):可增可减的仪表盘,Gauge类型的指标侧重于反应系统的当前状态。因此这类指标的样本数据可增可减。常见指标如:node_memory_MemFree(主机当前空闲的内容大小)、node_memory_MemAvailable(可用内存大小)都是Gauge类型的监控指标。 Histogram(直方图):主要用于统计和分享样本的分布情况。 Histogram通过histogram

Prometheus Node_exporter 之 Memory Detail Meminfo /proc/meminfo

我们两清 提交于 2020-05-01 23:22:08
1. Memory Active / Inactive type: Graph Unit: bytes Label: Bytes Inactive - 最近使用较少的内存, 优先被回收利用 /proc/meminfo Inactive metrics: node_memory_Inactive_bytes{instance=~"$node:$port",job=~"$job"} Active - 最近被频繁使用的内存,除非绝对必要,否则通常不会回收 /proc/meminfo Active metrics: node_memory_Active_bytes{instance=~"$node:$port",job=~"$job"} 2. Memory Commited type: Graph Unit: bytes Label: Bytes Committed_AS - 当前系统已经分配的内存量,包括已分配但尚未使用的内存大小 /proc/meminfo Committed_AS metrics: node_memory_Committed_AS_bytes{instance=~"$node:$port",job=~"$job"} CommitLimit - 当前系统可分配的内存量 /proc/meminfo CommitLimit metrics: node_memory

Prometheus Node_exporter 之 Memory Detail Vmstat Counters

痴心易碎 提交于 2020-05-01 22:09:40
Memory Detail Vmstat Counters 1. Memory Page Active type: Graph Unit: short Label: Pages Active_anon - pages最近被使用过的匿名虚拟内存页 /proc/vmstat nr_active_anon metrics: node_vmstat_nr_active_anon{instance=~"$node:$port",job=~"$job"} Active_file - 最近被使用过的文件虚拟内存页 /proc/vmstat nr_active_file metrics: node_vmstat_nr_active_file{instance=~"$node:$port",job=~"$job"} 2. Memory Page Reclaimed / Unreclaimed type: Graph Unit: short Label: Pages Reclaimable - 可回收的 slab 虚拟内存页 /proc/vmstat nr_slab_reclaimable metrics: node_vmstat_nr_slab_reclaimable{instance=~"$node:$port",job=~"$job"} Unreclaimable - 不可回收的 slab

Spring Cloud Resilience4j 断路器

北城余情 提交于 2020-04-30 11:15:27
学习在 Spring Cloud 中使用 Resilience4j 实现断路器,包括断路器 CircuitBreaker 、限流 RateLimiter 、请求重试 Retry 等功能。 1 概述 Resilience4j 是 Spring Cloud Greenwich 版推荐的 容错解决方案 ,相比 Hystrix , Resilience4j 专为 Java 8 以及函数式编程而设计。它主要提供了如下功能: 断路器 限流 基于信号量的隔离 缓存 限时 请求重试 2 基本用法 创建普通的 Maven 项目 resilience4j ,手动添加依赖,如下: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>io.github.resilience4j</groupId> <artifactId>resilience4j-circuitbreaker</artifactId> <version>0.13.2</version> </dependency> <dependency> <groupId>io.github.resilience4j<

【开源监控】Prometheus+Node Exporter+Grafana监控linux服务器

蓝咒 提交于 2020-04-29 16:30:49
Prometheus Prometheus介绍 Prometheus新一代开源监控解决方案。 github地址 Prometheus主要功能 多维 数据模型 (时序由 metric 名字和 k/v 的 labels 构成)。 灵活的查询语句( PromQL )。 无依赖存储,支持 local 和 remote 不同模型。 采用 http 协议,使用 pull 模式,拉取数据,简单易懂。 监控目标,可以采用服务发现或静态配置的方式。 支持多种统计数据模型,图形化友好。 Prometheus核心组件 Prometheus Server , 主要用于抓取数据和存储时序数据,另外还提供查询和 Alert Rule 配置管理。 client libraries ,用于对接 Prometheus Server, 可以查询和上报数据。 push gateway ,用于批量,短期的监控数据的汇总节点,主要用于业务数据汇报等。 各种汇报数据的 exporters ,例如汇报机器数据的 node_exporter, 汇报 MongoDB 信息的 MongoDB exporter 等等。 用于告警通知管理的 alertmanager 。 Prometheus安装 二进制安装 cd /opt wget https://github.com/prometheus/prometheus/releases

让gitlab暴露node-exporter供外部prometheus使用

孤者浪人 提交于 2020-04-29 16:28:16
花了两天部署了一套监控服务 prometheus+node-exporter+grafana,公司的gitlab服务器准备部署node-exporter的时候突然发现gitlab已经有了这些服务, 也懒得去研究gitlab为啥要这些服务,既然gitlab服务器已经包含了node-exporter服务,我直接使用不就得了。 1.首先浏览器测试下接口并不能使用:http://ip:9100/metrics; 2.既然浏览器不能使用,那去gitlab服务器测试下:curl 127.0.0.1:9100/metrics -s | head      发现 node-exporter 服务正常 3.node-exporter服务正常,那基本是网络问题了,继续排除下:   netstat -anp | grep node   ps -ef | grep node      发现 node-exporter 监听的是 localhost:9100 导致只能本地访问(红框是我改后的),那就修改监听地址吧 4.查看下监听地址是在哪里修改的,在gitlab目录下 :grep :9100 * -r      发现好多地方有这个值(0.0.0.0:9100这个是已经修改后的,修改前看到的是localhost:9100),经过简单的排除再尝试,确认可以直接在缺省配置文件里面配置 : embedded

聊聊Spring Boot Actuator

不羁的心 提交于 2020-04-29 15:53:28
概述 在本文中,我们将介绍Spring Boot Actuator。我们将首先介绍基础知识,然后详细讨论Spring Boot 1.x和2.x中的可用内容。 我们将在Spring Boot 1.x中学习如何使用,配置和扩展此监视工具。然后,我们将讨论如何利用反应式编程模型使用Boot 2.x和WebFlux进行相同的操作。 自2014年4月起,Spring Boot Actuator随Spring Boot一起发布。 随着SpringBoot2的发布,执行器进行了重新设计,并添加了新的激动人心的端点。本指南分为三个主要部分: 什么是执行器(Actuator) Spring Boot 1.x Actuator Spring Boot 2.x Actuator 👋: 执行器==Actuator 什么是执行器(Actuator) 本质上,执行器为我们的应用带来了生产就绪功能。 通过对他的依赖,监视我们的应用程序、收集度量、了解流量或数据库的状态变得轻松简单: 这个库的主要好处是,我们可以获得生产级工具,而不必亲自实现这些功能。Actuator主要用于公开有关正在运行的应用程序的操作信息-运行状况,指标,信息,转储,环境等。它使用HTTP端点或JMX Bean使我们能够与其交互。一旦在类路径上使用执行器,便可以立即使用几个端点。与大多数Spring模块一样

容器环境自建数据库、中间件一键接入阿里云 Prometheus 监控

岁酱吖の 提交于 2020-04-28 15:35:30
阿里云Prometheus服务4月9日发布重大升级,支持容器环境下一键接入MySQL、Redis、MangoDB、ElasticSearch等数据库和Kafka、ZooKeeper等中间件的监控,并提供开箱即用的监控大盘,现在接入更有15天免费试用。 15天免费试用地址,点击 这里 。 产品文档,点击 这里 。 阿里云Prometheus服务介绍 阿里云Prometheus服务提供了一站式开箱即用的Prometheus监控能力,其特点包括 精简稳定的Prometheus采集器:通过helm chart方式在用户集群部署,prometheus采集器基于prometheus server进行了功能的精简和优化,专注于服务发现和数据采集,资源消耗是相同的prometheus server的二十分之一,且支持水平扩展。 稳定大容量的云存储:云存储基于阿里云的日志服务,提供接近无上限的存储空间和高效稳定的分布式存储。 高效且强大的云端数据查询能力:通过部署在云端的Prometheus服务器提供完全兼容PromQL的指标查询能力,增加下推采样和长时间查询优化。 默认告警服务:支持原生alerting rule, 默认集成钉钉、邮件等告警通道,打通云上告警联系人。 开箱即用的Grafana云服务监控面板:默认提供K8S集群的监控大盘,包含主机,Pod,deployment,API Server

使用promxy实现prometheus 的ha 以及api 聚合

余生长醉 提交于 2020-04-28 07:58:22
promxy 是一个聚合proxy 可以用来实现prometheus 的ha 详细的相关介绍可以参考github 文档,是一个值得尝试的工具,同时VictoriaMetrics对于自己的一些短板 也推荐了此工具,以前也介绍过一个时序数据库cache proxy trickster也是值得试用的 参考资料 https://github.com/jacksontj/promxy https://github.com/tricksterproxy/trickster 来源: oschina 链接: https://my.oschina.net/u/4401145/blog/4255706

victoriametrics 快速高效&&可扩展的时序数据库

耗尽温柔 提交于 2020-04-28 07:58:10
victoriametrics 是一个时序数据库,可以用来作为prometheus 的long-term 远端存储 特性 支持promtheus 查询api,同时实现了一个metricsql 查询语言 支持全局查询视图,好处多prometheus 实例写数据到victoriametrics,然后提供一个统一的查询 同时也提供了开源的集群版本 高性能 支持多种协议 influxdb line 协议,prometheus metrics,graphite ,prometheus 远端写api,opentsdb http 协议 高压缩比 参考架构模式 集群 说明 从官方的介绍上victoriametrics还是一个不错的选择,但是对于报警以及rule 评估,但是这个可以通过原生的prometheus,grafana以及promxy 进行处理 参考资料 https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/Articles https://victoriametrics.github.io/ https://github.com/VictoriaMetrics/VictoriaMetrics/tree/cluster https://github.com/jacksontj/promxy/blob/master/README.md