Prometheus+Grafana 配置
一 Prometheus
1. 通过relabeling可以在写入metrics数据之前,动态修改metrics的label
prometheus.yml
relabel_configs:
- source_labels: [__meta_ec2_tag_Environment, __meta_ec2_tag_prometheus_sd_component]
separator: ':'
regex: '(^(test|access):kafka$)|(^(test|access):kafka\|.*)|(^(test|access):.*\|kafka$)|(^(test|access):.*\|kafka\|.*)'
action: keep
- source_labels: [__meta_ec2_tag_Name,__meta_ec2_instance_id]
separator: ':'
regex: '(.*):(.*)'
replacement: '${1} (${2})'
target_label: instance
- source_labels: [__meta_ec2_tag_Environment]
target_label: environment
- source_labels: [__meta_ec2_vpc_id]
target_label: vpc_id
- source_labels: [__meta_ec2_tag_prometheus_sd_component]
target_label: component
replacement: kafka
2. 通过relabeling可以对Target实例进行过滤和选择
prometheus.yml
relabel_configs:
- source_labels: [__meta_ec2_tag_Environment, __meta_ec2_tag_prometheus_sd_component]
separator: ':'
regex: '(^(test|access):kafka$)|(^(test|access):kafka\|.*)|(^(test|access):.*\|kafka$)|(^(test|access):.*\|kafka\|.*)'
action: keep
- source_labels: [__meta_ec2_tag_Name,__meta_ec2_instance_id]
separator: ':'
regex: '(.*):(.*)'
replacement: '${1} (${2})'
target_label: instance
- source_labels: [__meta_ec2_tag_Environment]
target_label: environment
- source_labels: [__meta_ec2_vpc_id]
target_label: vpc_id
- source_labels: [__meta_ec2_tag_prometheus_sd_component]
target_label: component
replacement: kafka
二. Grafana
1. 配置数据源
2. 新增dashboard,import json文件
三. 参考
http://dockone.io/article/3065