最简单监控方案:域名、证书 SSL、服务器全搞定!发送钉钉告警消息

本文主要是介绍最简单监控方案:域名、证书 SSL、服务器全搞定!发送钉钉告警消息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需求

  • 有时候域名太多,时间一长,你会不记得快要续期了
  • 服务器太多,需要监控,这应该是刚需
  • 证书申请来申请去,自动续签鬼知道会不会出问题

痛点

监控还要安装各种东西,会出岔子,折腾够呛,难免费时费力,所以,我的方案就是使用脚本,快速高效。脚本公开透明,放心食用~

创建钉钉报警机器人

文档:https://open.dingtalk.com/document/orgapp/custom-robot-access

记得在安全设置那里写上服务器IP地址,也就是你放脚本的服务器IP地址

最后复制webhook地址

创建必要文件

mkdir -p /home/domain
touch /home/domain/warnfile
touch /home/domain/logssl
touch /home/domain/serverlog
touch /home/domain/check_ssl.txt

下载关键脚本

cd /home/domain
wget https://raw.githubusercontent.com/woniu336/open_shell/main/domain_expiry_reminder.sh
wget https://raw.githubusercontent.com/woniu336/open_shell/main/warnsrc.py
wget https://raw.githubusercontent.com/woniu336/open_shell/main/daily_report.sh
wget https://raw.githubusercontent.com/woniu336/open_shell/main/check_ssl.sh
wget https://raw.githubusercontent.com/woniu336/open_shell/main/monitor_server.sh

设置权限:

chmod -R 755 /home/domain

修改脚本

  • check_ssl.txt 添加需要检测证书的域名
  • check_ssl.sh 证书检测脚本
  • monitor_server.sh 服务器健康检测脚本
  • domain_expiry_reminder.sh和warnsrc.py 域名到期检测脚本
  • daily_report.sh 每日生成检测报告的脚本
文件名需要修改的内容
check_ssl.txt添加域名证书到期检测文件,每行一个域名
check_ssl.shTOKEN=“Webhook地址”
monitor_server.shDINGTALK_WEBHOOK=“Webhook地址”
domain_expiry_reminder.shfor line in aaa.com bbb.com 多个域名空格隔开
warnsrc.pyurl = ‘Webhook地址’
daily_report.shDINGTALK_WEBHOOK=“Webhook地址”

提醒:

for line in aaa.com bbb.com 把aaa.com bbb.com移除,改成你的域名

此外monitor_server.sh还需要修改一个地方:

需要监控的服务器IP、端口、标签

declare -A TARGET_SERVERS=(#["8.8.8.8"]="端口|标签"["192.168.1.8"]="3000|腾讯云HK"
)

测试说明

不把数值改大一点,是没有通知的,因为默认数值比较小,不然啥事没有就天天通知,岂不是烦人~

check_ssl.sh:if [ $days -lt 60 ]; #改成60天或者更大,方便测试

monitor_server.sh: [“192.168.1.8”]=“3000|腾讯云HK” 改成没有放行的端口

domain_expiry_reminder.sh: if [ $expiry_date -lt 200 ]; 改成200天

daily_report.sh: 手动运行测试,cd /home/domain && ./daily_report.sh

定时任务

  • daily_report.sh脚本很推荐,
  • 因为会养成你每天下午2点就收到钉钉通知报告的习惯。时间一长,你会记得去看~
(crontab -l ; echo "30 2 */3 * * cd /home/domain && ./domain_expiry_reminder.sh >/dev/null 2>&1") | crontab -
(crontab -l ; echo "0 14 * * * cd /home/domain && ./daily_report.sh >/dev/null 2>&1") | crontab -
(crontab -l ; echo "10 3 * * * cd /home/domain && ./check_ssl.sh >/dev/null 2>&1") | crontab -
(crontab -l ; echo "*/2 * * * * cd /home/domain && ./monitor_server.sh >/dev/null 2>&1") | crontab -

这四个命令都是用于向 crontab 添加定时任务的命令,具体解读如下:

  1. 域名到期提醒任务

    (crontab -l ; echo "30 2 */3 * * cd /home/domain && ./domain_expiry_reminder.sh >/dev/null 2>&1") | crontab -
    
    • 时间:每3天的凌晨2:30执行。
    • 命令:进入 /home/domain 目录并执行 domain_expiry_reminder.sh 脚本,将标准输出和错误输出重定向到 /dev/null
  2. 每日报告任务

    (crontab -l ; echo "0 14 * * * cd /home/domain && ./daily_report.sh >/dev/null 2>&1") | crontab -
    
    • 时间:每天下午2点执行。
    • 命令:进入 /home/domain 目录并执行 daily_report.sh 脚本,将标准输出和错误输出重定向到 /dev/null
  3. SSL证书检查任务

    (crontab -l ; echo "10 3 * * * cd /home/domain && ./check_ssl.sh >/dev/null 2>&1") | crontab -
    
    • 时间:每天凌晨3:10执行。
    • 命令:进入 /home/domain 目录并执行 check_ssl.sh 脚本,将标准输出和错误输出重定向到 /dev/null
  4. 服务器监控任务

    (crontab -l ; echo "*/2 * * * * cd /home/domain && ./monitor_server.sh >/dev/null 2>&1") | crontab -
    
    • 时间:每2分钟执行一次。
    • 命令:进入 /home/domain 目录并执行 monitor_server.sh 脚本,将标准输出和错误输出重定向到 /dev/null

这些命令通过将当前的 crontab 内容与新的任务行合并,然后将结果重新写入 crontab,从而实现向 crontab 添加新的定时任务。

这篇关于最简单监控方案:域名、证书 SSL、服务器全搞定!发送钉钉告警消息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1125331

相关文章

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

Java中使用 @Builder 注解的简单示例

《Java中使用@Builder注解的简单示例》@Builder简化构建但存在复杂性,需配合其他注解,导致可变性、抽象类型处理难题,链式编程非最佳实践,适合长期对象,避免与@Data混用,改用@G... 目录一、案例二、不足之处大多数同学使用 @Builder 无非就是为了链式编程,然而 @Builder

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

SpringBoot3.X 整合 MinIO 存储原生方案

《SpringBoot3.X整合MinIO存储原生方案》本文详细介绍了SpringBoot3.X整合MinIO的原生方案,从环境搭建到核心功能实现,涵盖了文件上传、下载、删除等常用操作,并补充了... 目录SpringBoot3.X整合MinIO存储原生方案:从环境搭建到实战开发一、前言:为什么选择MinI

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控