最简单监控方案:域名、证书 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

相关文章

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优