随笔分类 - Prometheus
摘要:具体监控配置详看这篇文章:https://www.cnblogs.com/sanduzxcvbnm/p/13094580.html 为了确保数据库的稳定运行,通常会关注一下四个与性能和资源利用率相关的指标:查询吞吐量、连接情况、缓冲池使用情况以及查询执行性能等。 监控数据库吞吐量 对于数据库而言,最
阅读全文
摘要:CAdvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具。通过在主机上运行CAdvisor用户可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示。 在本地运行CAdvisor也非常简单,直接运行一下命令即可: docker run \ --volume=/:
阅读全文
摘要:Exporter是什么 广义上讲所有可以向Prometheus提供监控样本数据的程序都可以被称为一个Exporter。而Exporter的一个实例称为target,如下所示,Prometheus通过轮询的方式定期从这些target中获取样本数据: Exporter的来源 从Exporter的来源上来
阅读全文
摘要:通过PromQL可以实时对Prometheus中采集到的样本数据进行查询,聚合以及其它各种运算操作。而在某些PromQL较为复杂且计算量较大时,直接使用PromQL可能会导致Prometheus响应超时的情况。 这时需要一种能够类似于后台批处理的机制能够在后台完成这些复杂运算的计算,对于使用者而言只
阅读全文
摘要:Alertmanager提供了方式可以帮助用户控制告警通知的行为,包括预先定义的抑制机制和临时定义的静默规则。 抑制机制 Alertmanager的抑制机制可以避免当某种问题告警产生之后用户接收到大量由此问题导致的一系列的其它告警通知。例如当集群不可用时,用户可能只希望接收到一条告警,告诉他这时候集
阅读全文
摘要:默认情况下Alertmanager使用了系统自带的默认通知模板,模板源码可以从https://github.com/prometheus/alertmanager/blob/master/template/default.tmpl获得。 Alertmanager的通知模板基于Go的模板系统。Aler
阅读全文
摘要:告警接收器可以通过以下形式进行配置: receivers: - <receiver> ... 每一个receiver具有一个全局唯一的名称,并且对应一个或者多个通知方式: name: <string> email_configs: [ - <email_config>, ... ] hipchat_
阅读全文
摘要:在Alertmanager的配置中会定义一个基于标签匹配规则的告警路由树,以确定在接收到告警后Alertmanager需要如何对其进行处理: route: <route> 其中route中则主要定义了告警的路由匹配规则,以及Alertmanager需要将匹配到的告警发送给哪一个receiver,一个
阅读全文
摘要:Alertmanager主要负责对Prometheus产生的告警进行统一处理,因此在Alertmanager配置中一般会包含以下几个主要部分: 全局配置(global):用于定义一些全局的公共参数,如全局的SMTP配置,Slack配置等内容; 模板(templates):用于定义告警通知时的模板,如
阅读全文
摘要:在Prometheus的架构中被划分成两个独立的部分。Prometheus负责产生告警,而Alertmanager负责告警产生后的后续处理。因此Alertmanager部署完成后,需要在Prometheus中设置Alertmanager相关的信息。 编辑Prometheus配置文件prometheu
阅读全文
摘要:部署Alertmanager Alertmanager和Prometheus Server一样均采用Golang实现,并且没有第三方依赖。一般来说我们可以通过以下几种方式来部署Alertmanager:二进制包、容器以及源码方式安装。 使用二进制包部署AlertManager 获取并安装软件包 Al
阅读全文
摘要:在Prometheus Server中定义告警规则以及产生告警,Alertmanager组件则用于处理这些由Prometheus产生的告警。Alertmanager即Prometheus体系中告警的统一处理中心。 Prometheus告警简介 告警能力在Prometheus的架构中被划分成两个独立的
阅读全文
摘要:Prometheus鼓励用户监控所有的东西,首先是及时发现问题其次是要能够快速对问题进行定位。 4个黄金指标 4个黄金指标可以在服务级别帮助衡量终端用户体验、服务中断、业务影响等层面的问题。 主要关注与以下四种类型的指标:延迟,通讯量,错误以及饱和度: 延迟:服务请求所需时间。 记录用户所有请求所需
阅读全文
摘要:样本 Prometheus会将所有采集到的样本数据以时间序列(time-series)的方式保存在内存数据库中,并且定时保存到硬盘上。 time-series是按照时间戳和值的序列顺序存放的,我们称之为向量(vector). 每条time-series通过指标名称(metrics name)和一组标
阅读全文
摘要:访问http://localhost:9100/metrics,可以看到当前node exporter获取到的当前主机的所有监控数据,如下所示: 每一个监控指标之前都会有一段类似于如下形式的信息: # HELP node_cpu Seconds the cpus spent in each mode
阅读全文
摘要:Prometheus Server Prometheus Server是Prometheus组件中的核心部分,负责实现对监控数据的获取,存储以及查询。 Prometheus Server可以通过静态配置管理监控目标,也可以配合使用Service Discovery的方式动态管理监控目标,并从这些监控
阅读全文
摘要:mysqld_exporter集中部署 集中部署,就是说我们将所有的mysqld_exporter部署在同一台服务器上,在这台服务器上对mysqld_exporter进行统一的管理,下面介绍一下集中部署的方法。这里我们专门起一台IP为172.18.0.23的服务器,另外两台172.18.0.11和1
阅读全文
摘要:prometheus监控es,同样采用exporter的方案。 项目地址: elasticsearch_exporter:https://github.com/justwatchcom/elasticsearch_exporter 1、安装部署 现有es三节点的集群,环境大概如下: 主机 组件 19
阅读全文
摘要:prometheus监控MySQL需要用到mysql_exporter。 mysql_exporter 项目地址:https://github.com/prometheus/mysqld_exporter 1、安装部署 我这里的mysql部署在192.168.0.254之上,而prometheus服
阅读全文
摘要:prometheus监控redis需要用到redis_exporter。 redis_exporter 项目地址:https://github.com/oliver006/redis_exporter 1、安装部署 我这里的redis部署在192.168.0.254之上,而prometheus服务端
阅读全文