Grafana+Prometheus+Alertmanager+自动发现+删除Job (四)

1.摘要

  • 通过Prometheus 的API接口可实现删除 job数据
  • Prometheus配置中的自动发现file_sd_configs
  • Alertmanager告警功能

2. Prometheus 的API

官方文档:https://prometheus.io/docs/prometheus/latest/querying/api/

通过prometheus的admin-api ,我们可以执行些骚操作:

2.1 确保 prometheus 启动的时候, 加了参数 --web.enable-admin-api

./prometheus --config.file= prometheus.yml --web.enable-admin-api

2.2 测试清理key

假定我们要清理的 key是 mysql_global_status_threads_running{instance=“test-db13:9104”,job=“mysql”}:

清理这个key的全部的数据

curl -X POST \
  -g 'http://192.168.2.100:9090/api/v1/admin/tsdb/delete_series?match[]=up&match[]=mysql_global_status_threads_running{instance="test-db13:9104",job="mysql"}'

3. file_sd_configs自动发现

自动发现机制方便我们在监控系统中动态的添加或者删除资源。比如zabbix可以自动发现监控主机以及监控资源。

prometheus作为一个可以与zabbix旗鼓相当的监控系统,自然也有它的自动发现机制。file_sd_configs可以用来动态的添加和删除target。

3.1 配置

修改prometheus的配置文件:

  - job_name: 'docker'
    file_sd_configs:
      - files: ['/usr/local/prometheus/sd_config/docker.yml']
      refresh_interval: 10s 

files表示文件的路径,文件的内容格式是yaml或者json格式,可以用通配符比如*.json。prometheus或定期扫描这些文件,并加载新配置。

refresh_interval定义扫描的时间间隔。

创建被扫描的文件docker.yml

[root@iZuf6ioqjurm6w0x1o7exjZ prometheus]# ll
total 136140
drwxr-xr-x  2 3434 3434     4096 Oct 17 23:09 console_libraries
drwxr-xr-x  2 3434 3434     4096 Oct 17 23:09 consoles
drwxr-xr-x 16 root root     4096 Nov  6 09:00 data
-rw-r--r--  1 3434 3434    11357 Oct 17 23:09 LICENSE
-rw-r--r--  1 3434 3434     2770 Oct 17 23:09 NOTICE
-rwxr-xr-x  1 3434 3434 78646149 Oct 17 21:17 prometheus
-rw-r--r--  1 root root      316 Nov  4 18:12 prometheus.service
-rw-r--r--  1 3434 3434     2518 Nov  5 22:09 prometheus.yml
-rw-r--r--  1 root root      926 Oct 30 17:30 prometheus.yml.bak
-rw-r--r--  1 root root     1030 Nov  4 15:29 prometheus.yml.bak2
-rwxr-xr-x  1 3434 3434 47209942 Oct 17 21:18 promtool
drwxr-xr-x  2 root root     4096 Nov  6 00:03 rules
drwxr-xr-x  2 root root     4096 Nov  5 22:09 sd_config
-rwxr-xr-x  1 3434 3434 13493572 Oct 17 21:19 tsdb
[root@iZuf6ioqjurm6w0x1o7exjZ prometheus]# cd sd_config/
[root@iZuf6ioqjurm6w0x1o7exjZ sd_config]# ll
total 12
-rw-r--r-- 1 root root 35 Nov  5 15:48 docker.yml
-rw-r--r-- 1 root root 34 Nov  5 22:08 process.yml
-rw-r--r-- 1 root root 51 Nov  5 15:46 prometheus.yml
[root@iZuf6ioqjurm6w0x1o7exjZ sd_config]# more docker.yml 
- targets: ['172.19.14.253:18081']

3.2 重新加载prometheus的配置

如果间隔时间短的话应该能立刻发现你新加的target

target资源如果变化大的话可以把间隔时间调小点,如果比较稳定的话可以吧间隔时间调大点。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值