预计阅读时间2分钟
关于https证书的过期巡检监控,还真是百密一疏!仔细复盘,可能我们将注意力都集中在基础设施、基础状态、应用系统、中间件、数据库、链路追踪、日志,以及更高阶的可观测的概念及如何建设上,而忽略了当下,孰不知我们现阶段为监控所做的一切都是在提高系统的可观测性!因此对于监控,即使没有可观测性的加成,也可以使我们的监控系统满足业务日益发展的需要。
“见字如晤,运维自知”中我提到过,运维是一项耐心、细心、持续投入的工作,而且看到大家对于https证书的过期巡检监控都比较关心,所以我们特在此将能实现此需求的工具汇总给大家。
Blackbox Exporter是Prometheus社区提供的官方黑盒监控解决方案,其允许用户通过:HTTP、HTTPS、DNS、TCP以及ICMP的方式对网络进行探测。
一个简单、独立、轻量级的工具,可以进行健康/状态检查,使用Go编写。
一个开源的自托管在线时间监控工具。
基于 Python + Vue3.js 技术栈实现的域名和 SSL 证书监测平台。
# 填写需要监控的域名和端口号
domain="${1:-www.baidu.com}"
port="${2:-443}"
# 获取证书信息
cert_info=$(echo | openssl s_client -servername $domain -connect $domain:$port 2>/dev/null | openssl x509 -noout -dates)
# 提取证书有效期的起止日期
start_date=$(echo "$cert_info" | grep -i "notBefore" | awk -F '=' '{print $2}')
end_date=$(echo "$cert_info" | grep -i "notAfter" | awk -F '=' '{print $2}')
# 将日期转换为时间戳
start_timestamp=$(date -d "$start_date" +%s)
end_timestamp=$(date -d "$end_date" +%s)
current_timestamp=$(date +%s)
# 计算剩余天数
remaining_days=$(( ($end_timestamp - $current_timestamp) / 86400 ))
# 打印证书有效期信息
echo "域名: $domain"
echo "起始日期: $start_date"
echo "结束日期: $end_date"
echo "剩余天数: $remaining_days"
对的那条路,往往不是最好走的!
精彩文章合集
文章推荐
☞【合集】运维思索系列
☞【合集】运维管理系列
☞【合集】运维监控之路
☞【合集】基础设施自动化之路
☞【合集】CI/CD之路
☞【合集】Ansible之路
☞【合集】K8S之路
☞【合集】数据库系列
札记:“IT运维走过纯手动运维、平台化、自动化的进阶之路,也一直在通过流程化、规范化不断提升运维效率,保障运维质量。”