首页> 自动化运维> prometheus学习笔记

[资源]prometheus学习笔记

收藏
0 1052 0


【摘要】

Prometheus是完整的一套监控系统,包含采集、存储、告警以及管理界面等内容,甚至可以简易接入Grafana监控页面展示。

【正文】

   Prometheus

最早知道prometheus,是在刚接触蓝鲸监控采集器的时候,其自定义采集器就用到了prometheusgolang包,也是因为编写采集器的需要,开始prometheus的研究学习。

我们在采集器中使用的包叫client_golang,即prometheus的用于实现监控客户端代码代码,提供需要的接口函数。在这之前我们先来了解一下什么是prometheus

Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。

2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native Computing Foundation), Prometheus纳入其下第二大开源项目。

Prometheus目前在开源社区相当活跃。

PrometheusHeapster(HeapsterK8S的一个子项目,用于获取集群的性能数据。)相比功能更完善、更全面。Prometheus性能也足够支撑上万台规模的集群。

架构图

 

       如上,展示了prometheus的三大套件,包含:

n  Server 主要负责数据采集和存储,提供PromQL查询语言的支持。

n  Alertmanager 警告管理器,用来进行报警。

n  Push Gateway 支持临时性Job主动推送指标的中间网关。

 

Prometheus是完整的一套监控系统,包含采集、存储、告警以及管理界面等内容,甚至可以简易接入Grafana监控页面展示。

Graph选项已经可以看到监控的数据

Grafana接入,具体接入方式参考https://www.cnblogs.com/chenqionghe/p/10494868.html

   蓝鲸监控采集器

1、  首先安装对应的go包;

go get github.com/prometheus/client_golang

2、  从最简prometheus采集器开始,

服务起来后,访问http://127.0.0.1:2112/metrics就可以访问到默认的监控指标数据,go本身的一些指标值

自定义的指标项都会在默认指标项之后添加,如果采集器不关心这些指标,也可以通过如下方法去掉这部分的展示:

一个简单的方法:

代码修改如下:

go\src\github.com\prometheus\client_golang\prometheus\registry.go

func init() {

MustRegister(NewProcessCollector(os.Getpid(), ""))

//MustRegister(NewGoCollector())

}

 

自动化运维
最近热帖
{{item.Title}} {{item.ViewCount}}
近期热议
{{item.Title}} {{item.PostCount}}