#!/bin/bash
# 指定txt文件路径
txt_file="/usr/local/zabbix/scripts/domain.txt"
# 读取txt文件内容
content=$(cat "$txt_file")
# 格式化JSON输出
json_output="{ \n \"data\": [\n"
while IFS= read -r line; do
json_output+=" { \n \"{#DOMAIN}\":\"$line\"},\n"
done <<< "$content"
json_output="${json_output%,*}"
json_output+=" \n ] \n}"
# 输出JSON格式结果
echo -e "$json_output"
www.qq.com
www.baidu.com
www.taobao.com
#!/bin/bash
if [ $# -eq 0 ]; then
echo "Usage: $0 <domain>"
exit 1
fi
domain=$1
expiry_date=$(openssl s_client -servername $domain -connect $domain:443 -showcerts </dev/null 2>/dev/null | openssl x509 -noout -dates | grep "notAfter" | cut -d "=" -f 2)
if [ -z "$expiry_date" ]; then
echo "Failed to retrieve SSL certificate information for $domain."
exit 1
fi
expiry_epoch=$(date -d "$expiry_date" +%s)
current_epoch=$(date +%s)
remaining_days=$(( ($expiry_epoch - $current_epoch) / 86400 ))
#echo "The SSL certificate for $domain will expire in $remaining_days days."
echo $remaining_days
./domain_discovery{
"data": [
{
"{#DOMAIN}":"www.qq.com"},
{
"{#DOMAIN}":"www.baidu.com"},
{
"{#DOMAIN}":"www.taobao.com"}
]
}
./domain_date_status www.baidu.com
187
zabbix客户端配置文件添加以下两行自定义key
UserParameter=domain_discovery,/usr/local/zabbix/scripts/domain_discovery
UserParameter=domain_date_status[*],/usr/local/zabbix/scripts/domain_date_status $1
添加后重启zabbix_agentd
/etc/init.d/zabbix_agentd restart









