prometheus监控域名证书到期时间
参考:https://mp.weixin.qq.com/s/gXffcNzixAiTKSBZcf2sBA
最终效果图:
下面全部使用docker部署:
一、部署prometheus
这是一个默认的prometheus配置文件:
[root@localhost prometheus]# cat prometheus.yml # my global config global:scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files:# - "first_rules.yml"# - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: 'prometheus' # metrics_path defaults to '/metrics'# scheme defaults to 'http'. static_configs:- targets: ['localhost:9090']
[root@localhost prometheus]# docker run -d --name prometheus -p 9090:9090 -v ${PWD}:/etc/prometheus prom/prometheus:v2.25.0
网页访问9090测试
二、部署grafana
[root@localhost ~]# docker run -d --name=grafana -p 3000:3000 grafana/grafana:7.2.2
访问3000端口,并配置prometheus数据源
三、部署blackbox-exporter
Blackbox_exporter是prometheus官方的组件,github地址: https://github.com/prometheus/blackbox_exporter
配置文件使用官方默认的,更多配置可以参考官方example.yml:
[root@localhost blackbox-exporter]# cat blackbox.yml modules:http_2xx: # http 检测模块 Blockbox-Exporter 中所有的探针均是以 Module 的信息进行配置prober: httptimeout: 10shttp:valid_http_versions: ["HTTP/1.1", "HTTP/2"] valid_status_codes: [200] # 这里最好作一个返回状态码,在grafana作图时,有明示---陈刚注释。method: GETpreferred_ip_protocol: "ip4"http_post_2xx: # http post 监测模块prober: httptimeout: 10shttp:valid_http_versions: ["HTTP/1.1", "HTTP/2"]method: POSTpreferred_ip_protocol: "ip4"tcp_connect: # TCP 检测模块prober: tcptimeout: 10sdns: # DNS 检测模块prober: dnsdns:transport_protocol: "tcp" # 默认是 udppreferred_ip_protocol: "ip4" # 默认是 ip6query_name: "kubernetes.default.svc.cluster.local"
[root@localhost blackbox-exporter]# docker run -d -p 9115:9115 --name blackbox_exporter -v `pwd`:/config prom/blackbox-exporter:master --config.file=/config/blackbox.yml
访问9115端口测试
四、prometheus配置文件里添加job,对blackbox数据进行收集
这段内容从官方文档抄过来的:
[root@localhost prometheus]# tail -17 prometheus.yml - job_name: 'blackbox'metrics_path: /probeparams:module: [http_2xx] # Look for a HTTP 200 response.static_configs:- targets:- http://prometheus.io # Target to probe with http.- https://prometheus.io # Target to probe with https.- https://jd.com # Target to probe with http on port 8080.- https://www.bejson.com # Target to probe with http on port 8080.relabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: 172.17.0.3:9115 # The blackbox exporter's real hostname:port.
Lifecycle api没有开启(curl -X POST http://127.0.0.1:9090/-/reload),只能手动重载配置:
[root@localhost prometheus]# docker exec -it prometheus kill -1 1
prometheus页面查看target
五、prometheus导入dashborad
使用的dashboard是这个: https://grafana.com/grafana/dashboards/13230
六、看效果
七、设置prometheus告警
首先在prometheus.yml文件里面通过rule_files指定告警规则文件的访问路径
/etc/prometheus/rules $ cat /etc/prometheus/prometheus.yml rule_files:- "/etc/prometheus/rules/*.rules"
然后编辑ssl告警规则文件
/etc/prometheus $ mkdir /etc/prometheus/rules /etc/prometheus/rules $ cat /etc/prometheus/rules/ssl-expire-alert.rules groups: - name: ssl_expiryrules:- alert: Ssl Cert Will Expire in 30 daysexpr: probe_ssl_earliest_cert_expiry - time() < 86400 * 300for: 5mlabels:severity: warningannotations:summary: "SSL certificate will expire soon on (instance {{ $labels.instance }})"description: "SSL certificate expires in 30 days\n VALUE = {{ $value }}\n LABELS: {{ $labels }}"
prometheus加载配置文件
/etc/prometheus/rules $ kill -1 1
去prometheus界面查看告警,已经有了
八、配置alertmanager邮件告警
部署alertmanager,配置文件是默认的,没有改
/alertmanager $ cat /etc/alertmanager/alertmanager.yml global:resolve_timeout: 5mroute:group_by: ['alertname']group_wait: 10sgroup_interval: 10srepeat_interval: 1hreceiver: 'web.hook' receivers: - name: 'web.hook'webhook_configs:- url: 'http://127.0.0.1:5001/' inhibit_rules:- source_match:severity: 'critical'target_match:severity: 'warning'equal: ['alertname', 'dev', 'instance']
➜ alertmanager docker run --name alertmanager -d -v $(pwd)/alertmanager.yml:/etc/alertmanager/alertmanager.yml -p 9093:9093 prom/alertmanager:v0.21.0
网页访问测试:
关联prometheus和alertmanager,此时需要修改prometheus.yml,添加alertmanager配置
/prometheus $ cat /etc/prometheus/prometheus.yml alerting:alertmanagers:- static_configs:- targets:- 172.17.0.7:9093
加载prometheus配置
/prometheus $ kill -1 1
刷新alertmanager页面,发现告警已经过来了
修改alertmanager配置文件,配置邮件告警:
alertmanager重载配置文件:
/alertmanager $ kill -1 1
查看邮箱有没有收到邮件(如果没收到的话要看下alertmanager的日志有什么报错,比如smtp服务器连不上,或者配置文件某一行格式不对)
prometheus监控域名证书到期时间相关推荐
- 监控域名证书到期时间
1.需求 nginx服务器中的域名,在跑的业务域名比较多,需要监控各个域名的证书到期时间,提前做好准备更换证书. 网上有很多的平台监控,但很多都是需要付费的,本次是使用telegram配合做监控提示. ...
- zabbix6 通过脚本监控SSL证书到期时间
前提: zabbix6 +网上资料 写这编文件的目的是让更多的人在查询了网上资料,还会遇上无法正常读取SSL证书到期时间的问题.所以在观看本文时,你需要有搭建ZABBIX6的基础,及Cenos8系统操 ...
- zabbix 监控域名注册到期时间
前言 一.运行环境 二.操作步骤 1.Centos添加whois查询功能 2.创建SH脚本 3.设置相关配置 总结 前言 搭建好了zabbix监控平台后,想着充分应用平台.公司注册的域名一般都三年以上 ...
- 查看域名证书到期时间
参考:https://www.cnblogs.com/dingkailinux/p/8408929.html 一.通过域名查询: 以淘宝京东为例 root@server01:~/scripts# ec ...
- 域名证书到期监控告知
域名证书到期提前监控告知 通过该网站进行服务证书监控 证书到期监控:https://letsmonitor.org/contacts 通过邮件告警通知 个人用户:baolin2200@gmail.co ...
- 查看https证书到期时间
查看https证书到期时间 浏览器打开网址,点击安全,之后查看证书选项,就可以看到当前域名配置的https证书内容了,包括颁发日期.截止日期等 end
- ssl证书到期时间查询的三种方法
之前,有一个域名使用了网上免费的 ssl 证书,然后想在该证书过期后更换为 Let's encrypt 的免费证书,便想查询下该域名 ssl 证书还剩多少天过期. 查询证书到期时间的方法还是很简单的, ...
- 基于embedded.mobileprovision描述文件查看iOS苹果证书到期时间三种方案
在iOS开发中,embedded.mobileprovision描述文件是开发人员非常熟悉的,里面包含了证书信息,如调试设备UDID.Entitlements.AppIDName.DeveloperC ...
- java证书过期时间_我想用代码方式查看ca证书到期时间,以下是我的代码,可以显示日期,但是和实际的截止日期不一致...
我想用代码方式查看ca证书到期时间,以下是我的代码,可以显示日期,但是和实际的截止日期不一致 希望各位大牛帮忙看一下问题出在哪,多谢啦 import java.io.*; import java.se ...
最新文章
- Android实战技巧之六:PreferenceActivity使用详解
- Docker Compose基本使用-使用Compose启动Tomcat为例
- 【287】◀▶ arcpy 常用类说明
- nginx反向代理和shiro权限校验产生的404问题
- 递归反转链表改变原链表吗_在不使用递归的情况下找到链表的长度
- android编辑配置文件,如何在android studio中修改配置文件
- python3中的rang()函数
- Less 官方文档学习笔记
- tns-03505: 无法解析名称_在 Azure上购买域名并进行域名解析
- Julia:String和ASCIIString
- CMSIS-RTOS教程中文版
- 一款好用的插件——油猴子
- 创造与魔法怎么自建服务器,创造与魔法如何建立部落 部落建造条件
- php zend guard php 7,zend guard php7最新版
- mac中实用的录音软件有哪些?
- 深信服EDR终端检测平台-任意用户登录漏洞复现
- HTML入门---慕课网
- 企业财务制度二--(五)损益类科目 5101 主营业务收入(转载)
- C++获取屏幕分辨率(屏幕窗口大小),屏幕显示比例(DPI)几种方法
- 65、如何解决浮动引起的父元素高度塌陷