Prometheus架构图:

Prometheus数据存储标准:

Prometheus将所有数据存储为时间序列,格式如下:

<metric name>{<label name>=<label value>,...}

四种指标类型:

counter:递增式计数器

gauge:可以任意变化的数值

Histogram:对一段时间内数据进行采样,并所有数值求和统计数量

Summary:与Histogram类似
作业与的实例概念:

实例:可以抓取的目标称为实例

作业:拥有相同目标的实例集合

 

scrape_configs:
    - job_name: 'prometheus'    //作业名称
      static_configs:
      - targets: [ ' localhost:9090']    //实例的主机地址
    - job_name: 'node'
      static_configs:
      - targets: [ '192.168.1.10:9090']

在系统中给prometheus注册服务:

在/usr/lib/systemd/system/下创建文件prometheus.service。然后写以下配置

[Service]
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml    //此处文件名没有引号!!!!!!!
[Install]
WantedBy=multi-user.target    //不加此行无法设置服务开机自启!!

然后systemctl start prometheus开启服务,systemctl enable prometheus设置开机自启即可。

static_configs配置:

 

scrape_configs:
    - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]
        labels:    //加上自定义标签
          idc: 北京01    //注意!这里的分号后面有空格,idc前面也要有两个空格,不加报错
        metrics_path: "/snmp"    //这里是用来指定采集指标ip后面的url后缀的
        params :
           参数名称: ["参数内容"]    //这个是url需要提交参数时要加的

 

relabel_configs配置:

    relabel_configs:
      - action: replace    //对正则取出的值进行替换的动作
        source_labels: ['job']    //要取出的值的标签名
        regex: (.*)    //用正则表达式匹配
        replacement: $1    //正则匹配结果的组索引
        target_label: area    //用匹配的结果,新建标签,取一个标签名为area
      - action: drop    //删除正则匹配到的整个序列
        source_labels: ['job']
      - action: keep    //删除正则没有匹配到的整个序列
        source_labels: ['job']
      - action: labeldrop    //删除正则匹配到的单个标签
        regex: job  //这里的正则匹配是标签名
      - action: labelkeep
        regex: job

 snmp服务标签配置方法:

     relabel_configs:
       - source_labels: [__address__]  # target参数=address标签
         target_label: __param_target  # 复制address标签为查询参数
       - source_labels: [__param_target]
         target_label: instance  # 复制覆盖原instance标签
       - target_label: __address__
         replacement: 127.0.0.1:9116  # 置address为本机snmp服务

 

file_sd_configs配置:

在prometheus目录下创建一个名为sd_config文件夹。存放主机发现的配置文件。

在prometheus.yml文件写配置:

    file_sd_configs:
      - files: ['/usr/local/prometheus/sd_config/*.yml']    //指定主机发现配置文件路径,最好使用相对路径。
        refresh_interval: 5s    //刷新的间隔时间

在sd_config文件夹下创建一个配置文件名为test.yml,注意!此处需要以yml后缀结尾。

- targets: ['localhost:9090']
   labels:
      idc: bj    //注意配置的格式和空格!

- targets:
  - localhost:9090    //这种写法也可以!两种都是一样的

 Alertmanager告警部署

 

posted on 2021-09-05 20:09  majiajun  阅读(133)  评论(0)    收藏  举报