2023-04-03 prometheus监控-源码编译启动与配置

本文详细介绍了如何从源码编译Prometheus2.43.0,包括依赖安装、编译步骤以及配置文件的编写。配置文件中展示了多个job_name的设置,如tidb、tikv和pd等,用于监控不同服务的/metrics端点。此外,还提供了启动脚本和浏览器访问地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:

记录prometheus监控-源码编译启动与配置

代码仓库:

https://github.com/adofsauron/tiflow-dev/tree/main/trunk/prometheus-2.43.0

依赖:

go version go1.19.2 linux/amd64

yum install -y npm yamllint bzip2

编译:

https://github.com/adofsauron/tiflow-dev/blob/main/trunk/prometheus-2.43.0/build.sh

#!/bin/bash

go env -w GOPROXY=https://goproxy.cn,direct

npm config set registry https://registry.npm.taobao.org/    

chmod +x scripts/*.sh


cd web/ui
npm update
npm install
cd -

cd web/ui/react-app
npm update
npm install
cd -

go mod tidy
go mod download
go mod vendor

make npm_licenses

make build

# make prometheus

# make promtool

配置文件:

  • 每个job_name是一个监听项
  • 此处仅以sdm_master为例
  • targets配置的是对应服务的/metrics的ip:port

  • 对应的 http://ip:port/metrics 返回的数据必须遵守普罗米修斯的格式的协议

---
global:
  scrape_interval: 15s # By default, scrape targets every 15 seconds.
  evaluation_interval: 15s # By default, scrape targets every 15 seconds.
  external_labels:
    cluster: 'dm-sdm'
    monitor: "prometheus"

# Load and evaluate rules in this file every 'evaluation_interval' seconds.
rule_files:
  - 'dm_worker.rules.yml'
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - '192.168.75.149:9093'

scrape_configs:
  - job_name: "overwritten-nodes"
    honor_labels: true # don't overwrite job & instance labels
    static_configs:
    - targets:
  - job_name: "tidb"
    honor_labels: true # don't overwrite job & instance labels
    static_configs:
    - targets:
  - job_name: "tikv"
    honor_labels: true # don't overwrite job & instance labels
    static_configs:
    - targets:
  - job_name: "pd"
    honor_labels: true # don't overwrite job & instance labels
    static_configs:
    - targets:
  - job_name: "tidb_port_probe"
    scrape_interval: 30s
    metrics_path: /probe
    params:
      module: [tcp_connect]
    static_configs:
    - targets:
      labels:
        group: 'tidb'
    - targets:
      labels:
        group: 'tikv'
    - targets:
      labels:
        group: 'pd'
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: ''
  - job_name: "monitor_port_probe"
    scrape_interval: 30s
    metrics_path: /probe
    params:
      module: [tcp_connect]
    static_configs:
    - targets:
      - '192.168.75.149:3000'
      labels:
        group: 'grafana'
    - targets:
      labels:
        group: 'node_exporter'
    - targets:
      labels:
        group: 'blackbox_exporter'
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: ''
  - job_name: "sdm_master"
    honor_labels: true # don't overwrite job & instance labels
    static_configs:
    - targets:
      - '192.168.75.149:8261'

启动:

https://github.com/adofsauron/tiflow-dev/blob/main/trunk/prometheus-2.43.0/run.sh

#!/bin/bash

pkill prometheus

sleep 1s 

exec > >(tee -i -a "./logs/prometheus.log")
exec 2>&1

exec ./prometheus \
    --config.file="./conf/prometheus.yml" \
    --web.listen-address=":9090" \
    --web.external-url="http://192.168.30.40:9090/" \
    --web.enable-admin-api \
    --log.level="info" \
    --storage.tsdb.path="./data/" \
    --storage.tsdb.retention="30d" &

对应的浏览器访问地址:

http://192.168.75.149:9090/

46ee1cc258e74bc9aefb107be115944c.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟世者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值