zabbix监控域名到期时间

news/2025/3/22 2:17:27/文章来源:https://www.cnblogs.com/suyj/p/18230928

# 获取证书过期时间脚本

cat /etc/zabbix/scripts/base/check-http-expire.sh

#!/bin/bash

host=$1

#end_date=`whois -H  $host|grep "Registry Expiry Date"|awk '{print $NF}'`

end_date=`whois -H  $host|egrep "Registry Expiry Date|Expiration Time"|awk '{print $3,$4}'|sed 's#Date: ##g'`

 

#echo "$end_date"

if [ -n "$end_date" ]

then

    end_date_seconds=`date '+%s' --date "$end_date"`

    now_seconds=`date '+%s'`

    echo "($end_date_seconds-$now_seconds)/24/3600" | bc

fi

[root@zabbix-server.uc-bj2b.songguo7.com base]# cat /etc/zabbix/scripts/base/check-http-expire.sh

#!/bin/bash

host=$1

#end_date=`whois -H  $host|grep "Registry Expiry Date"|awk '{print $NF}'`

end_date=`whois -H  $host|egrep "Registry Expiry Date|Expiration Time"|awk '{print $3,$4}'|sed 's#Date: ##g'`

 

#echo "$end_date"

if [ -n "$end_date" ]

then

    end_date_seconds=`date '+%s' --date "$end_date"`

    now_seconds=`date '+%s'`

    echo "($end_date_seconds-$now_seconds)/24/3600" | bc

fi

# 域名自动发现脚本:

cat /etc/zabbix/scripts/base/http_discovery.py

#!/usr/bin/env python

#coding:utf-8

 

import os

import sys

import json

 

#这个函数主要是构造出一个特定格式的字典,用于zabbix

def ssl_cert_discovery():

    web_list=[]

    web_dict={"data":None}

    with open("/etc/zabbix/scripts/base/http_list","r") as f:

        for sslcert in f:

            dict={}

            dict["{#DOMAINNAME}"]=sslcert.strip().split()[0]

            dict["{#PORT}"]=sslcert.strip().split()[1]

            dict["{#OLDNS}"]=sslcert.strip().split()[2]

            web_list.append(dict)

    web_dict["data"]=web_list

    jsonStr = json.dumps(web_dict,indent=4)

    return jsonStr

if __name__ == "__main__":

    print ssl_cert_discovery()

# 域名列表

cat /etc/zabbix/scripts/base/http_list

baidu.com 443 volunteer.dnspod.net.;jane.dnspod.net. 

jd.cn 443 jane.dnspod.net.;volunteer.dnspod.net.

# zabbix配置

cat /etc/zabbix/zabbix_agent2.d/userparameter_http.conf

UserParameter=http_discovery,/usr/bin/python  /etc/zabbix/scripts/base/http_discovery.py

UserParameter=http.info[*],/bin/bash /etc/zabbix/scripts/base/check-http-expire.sh $1

 

# zabbix添加监控模版

zabbix_export:version: '5.2'date: '2024-06-04T07:31:05Z'groups:-name: Templatestemplates:-template: 'Template http  expire date'name: 'Template http  expire date'groups:-name: Templatesapplications:-name: 域名过期剩余时间discovery_rules:-name: 域名到期_Discoverytype: ZABBIX_ACTIVEkey: http_discoverydelay: 24hlifetime: '0'item_prototypes:-name: '[{#DOMAINNAME}]域名过期剩余时间:'type: ZABBIX_ACTIVEkey: 'http.info[{#DOMAINNAME},{#PORT}]'delay: 3hhistory: 2dtrends: 7dunits: 天applications:-name: 域名过期剩余时间preprocessing:-type: MULTIPLIERparameters:- '1'trigger_prototypes:-expression: '{last()}<33'name: '[{#DOMAINNAME}] 域名过期剩余时间小于33天'priority: HIGHmanual_close: 'YES'

 

 

 

 

 

调整触发器时长,验证配置是否正确。

# 出发告警

 

 

 # 告警恢复

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/719865.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字符串的应用---合并

准备: public class Employee{ public int Id { get; set; } public string Name { get; set; } public double Salary { get; set; } } public class Seat { public int Id { get; set; } publ…

pycharm创建项目后修改默认的app

在pycharm里面创建django项目后,会自动创建一个与项目名称相同的app,该app是可以修改的,但是修改后需要修改配置文件settings.py中的配置项ROOT_URLCONF

Apline部署K3s的Agent

介绍了在Alpine-Linux上部署K3s-Agent之前我们在Ubuntu上部署了K3s的Server节点(传送门),这次我们加入两台K3s的Agent节点搭建一个K3s的3节点工作环境。 需要准备好网络环境,确保三台VM之间是可以ping通的,设置好固定IP和主机名 实验环境的IP列表Hostname IPubuntu22 192.…

关于bandgap中极性的判断

bandgap的中运放的正负相位都有连接,且前馈系数一般相同,则需要使得负反馈系数大于正反馈系数,环路才稳定。 对于不同类型的bandgap,其正负相位一般连接不同。 https://blog.csdn.net/weixin_39889337/article/details/112767268

基于mac-vlan的网络准入控制方案

网络拓扑图如下:SW1 配置vlan 10 20 30 4000 #创建vlan interface GigabitEthernet1/0/1 #进入接口 port link-type hybrid #接口模式设为hybrid port hybrid vlan 10 20 30 4000 untagged #vlan 10 20 30 4000数据包没有tag port hybrid pvid vl…

工具:一键采集 平台:TB+PDD+JD...

电商商品数据集通常是指收集自电子商务平台的商品信息的结构化数据集合。这些数据包括但不限于商品名称、价格、描述、用户评价、分类标签、卖家信息、销售量、库存量、图片链接等。数据集可以由电商平台公开提供,也可以通过网络爬虫等技术手段获得,并且经常会用于机器学习、…

Stratix V FPGA系列:5SGXEBBR3H43I3G、5SGXEBBR1H43C2G、5SGXEBBR2H43I2G为带宽应用而打造,降低了系统成本和功耗

Stratix V GX FPGA芯片提供340K逻辑单元和集成最大12.5 Gbps传输速度的收发器Stratix V系列 Stratix V FPGA采用新的存储器体系结构,降低延时,高效实现FPGA业界最好的系统性能。Stratix V FPGA为网络设备生产商提供存储器接口解决方案,支持在互联网上迅速有效的传送视频、语…

NCHU-软件学院-232019班-23201125-罗伊鑫-第二次Blog

前言 本次Blog总结三次题目集的7-1题目的知识点、题量、难度等情况,以及写完后的错误总结和自我思考。 1.知识点 三次题目集都对于类的设计的提前规划好有着必要的需求,还有就是对于继承与多态的合理的使用。接着就是对于正则表达式的使用的检测,然后就是要有清晰的逻辑编程…

Qt开发技术:Q3D图表开发笔记(四):Q3DSurface三维曲面图颜色样式详解、Demo以及代码详解

前言qt提供了q3d进行三维开发,虽然这个框架没有得到大量运用也不是那么成功,性能上也有很大的欠缺,但是普通的点到为止的应用展示还是可以的。  其中就包括华丽绚烂的三维图表,数据量不大的时候是可以使用的。  前面介绍了基础的q3d散点图、柱状图、三维曲面图,本片深…

斯坦福 AI 团队被曝抄袭中国大模型开源成果;Zoom 创始人谈视频会议未来丨 RTE 开发者日报 Vol.218

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观点…

VS Studio C++设置EXE和DLL不在同一路径

VC++项目生成的exe和dll,一般都会同一个在debug或release目录下,这样可能会造成不版本的dll互相冲突的问题,需要将不同版本的dll放到不同的运行目录,让exe程序在运行时自动在指定的目录查找并加载dll。 1、将直接依赖的ConvLibc.dll及它间接依赖的dll放入到./debug/depends…

查看一个通讯端口状态

原文链接:https://blog.csdn.net/yaxiya/article/details/113613472 检查一下服务器端的端口处于什么状态,监听?连接?还是其他? 启动服务器端(端口为5000)和客户端,然后: 在windows命令行窗口下执行:C:\>netstat -aon|findstr "5000"