Prometheus简介
作者:互联网
启动:
./prometheus --config.file=prometheus.yml其它启动参数: --web.enable-lifecycle 启用 /reload接口(调用可以触发Prometheus配置和规则文件的重新加载) --web.max-connections=512 最大链接数 --web.read-timeout=5m 请求连接的最大等待时间, 防止太多的空闲链接,占用资源 --query.timeout=2m 查询超时时间 --query.max-concurrency=200 最大查询并发 Prometheus需要与许多其它组件集成:
- Jobs/Exporters
- Pushgateway
- 其它Prometheus Server
- Web UI
- Alertmanager
receivers: - name: 'paas.web.hook' webhook_configs: - url: 'http://132.252.37.10:9156/alert' route: group_interval: 5m group_wait: 30s receiver: paas.web.hook repeat_interval: 3h--config.file参数指定的prometheus.yml配置文件写法:
- 全局配置
global: scrape_interval: xxx # 设置采集数据的时间间隔,默认是1分钟 evaluation_interval: xxx # 评估一次rule的时间间隔,默认是1分钟 scrape_timeout: xxx # 拉取一个target的超时时间。 evaluation_interval: xxx # 额外的属性,会添加到拉取的数据并存到数据库中
- Alertmanager配置
alerting: alertmanagers: - static_configs: - targets: - alertmanager:9093alert_relabel_configs:动态修改 alert 属性的规则配置。 alertmanagers:用于动态发现alertmanager的配置。
- scrape_configs
scrape_configs: - job_name: 'prometheus' scrape_interval: 5s static_configs: - targets: ['192.168.48.130:9090']job_name:任务名称 honor_labels:prometheus在采集数据的同时,会自动在时序的基础上添加job和instance的标签,作为数据源(target)的标识,以便区分。如果其中任一标签已经在此前采集的数据中存在,那么将会根据 honor_labels设置选项来决定新标签。当设置为 true,以拉取数据为准;否则以服务配置为准 params:数据拉取访问时带的请求参数 scrape_interval、scrape_timeout:会覆盖全局配置 metrics_path:拉取节点的metric路径,默认为/metrics scheme:拉取数据访问协议,如果是https,可能还需要配置证书等 sample_limit:存储的数据标签个数限制,如果超过限制,该数据将被忽略,不入存储;默认值为0,表示没有限制 tls_config:连接target使用的tls配置,包括ca_file、cert_file、key_file;或者可以通过设定insecure_skip_verify为false允许不安全的连接 relabel_configs:拉取数据重置标签配置,可以用来重置、过滤、删除标签 source_labels:源标签 target_labels:要替换的目标标签 separator:多个标签间的分隔符,默认为分号 regex:匹配源标签里的值 replacement: modules:??? action:分为keep、replace、drop、labeldrop、labelkeep等 static_configs:直接写死targets地址 xxx__sd_configs:Prometheus在代码上就已经对Kubernetes、consul、dockerswarm、openstack等有了原生的支持,可以通过服务发现的形式来自动监控集群 以kubernetes_sd_configs为例:以role来定义,从k8s restful api检索目标,并保持与集群的同步状态。 支持的role包括:node、service、pod、endpoints、ingress 每种role取到的监控数据有不同标签,可以根据需要进行相应relabel操作,详见官方文档
- remote_write和remote_read
- 规则
groups: - name: sum rules: - record: job:up:sum expr: sum(up) by (job) lables: rulesName: record每一个group包括若干条rule 每条rule包括: alert:这一条告警的名字 expr:表达式 for:第一次告警触发后会等待若干时间 labels:向告警中添加标签 annotations:也是一系列标签,用于存放较长的信息 prometheus在localhost:9090/metrics暴露自身指标 同时在localhost:9090/graph提供了图形化接口,可以展示所有的Runtime&Build info、启动的命令行参数、配置文件、Rules、Targets、Service Discovery
标签:--,简介,prometheus,拉取,Prometheus,标签,configs 来源: https://www.cnblogs.com/yangyuliufeng/p/14902077.html