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

posted @ 2018-12-28 09:50  teaChat  阅读(761)  评论(0编辑  收藏  举报