您的位置:首页 > 其它

Prometheus源码分析(一)编译安装及命令行参数说明

2016-09-17 10:07 976 查看
目前开源的告警系统不少,选择Prometheus主要因为,它比较轻便、支持复杂的规则运算、规则的动态加载、组件之间的耦合度低(都是通过http协议交互)、而且生态圈完善。

prometheus主要应用于告警业务,常用的组件有prometheus、pushgateway、alertmanager。

prometheus组件:用于根据所配置的规则进行规则运算,当存在规则触发时,将告警信息发送给alertmanager。

pushgateway组件:数据网关,prometheus的数据源,

alertmanager组件:用于发送告警(短信、邮件等)

Prometheus详情请访问以下网址:

https://prometheus.io/docs/introduction/overview/

对Prometheus感兴趣的朋友请加入QQ群:70860761 一起探讨

源码编译及安装

相关程序下载

下载安装Git:yum install -y git

下载GO

版本:go1.6.2.linux-386.tar.gz,根据系统选择版本

下载地址:http://www.golangtc.com/download

下载依赖:

yum install -y gcc mercurial

环境变量设置



编译启动

mkdir -p GOPATH/src/github.com/prometheus
cd GOPATH/src/github.com/prometheus
git clone https://github.com/prometheus/prometheus.git cd prometheus
// 开始编译
make build
// 编译完成启动prometheus 命令
./prometheus -config.file=your_config.yml


说明:alertmanager、pushgateway组件源码的编译与Prometheus类型(make build)

命令行参数说明

prometheus

-version 查看版本信息

-config.file “prometheus.yml” 指定加载的配置文件,默认当前路径下prometheus.yml

-alertmanager.notification-queue-capacity 10000 告警队列大小,默认值为10000

-alertmanager.timeout 10s 通过HTTP接口发送告警到AlertManager的超时时间,默认为10s

-alertmanager.url 指定alertmanager的地址

-query.max-concurrency 20 最大并发查询连接个数,默认为20

-query.timeout 2m0s 查询超时时间,默认2分钟

-query.staleness-delta 5m0s 这个参数很重要,当没有scrape到指标是,使用上次(最近一次)指标值进行补,该值设置距上次指标的时间间隔,默认为5分钟,操作5分针就补空值。

STORAGE命令参数主要用于设置指标存储的方式,目前prometheus支持opentsdb、influxdb、local三种

-web.listen-address “:9090” 指定外部请求的访问地址,默认为本地的9090端口。

性能测试

测试机器数量:1台(非独立)

规则运算不指定维度



规则运算指定维度

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  源码 prometheus 开源