Pular para o conteúdo
Início » Monitorando Certificados de Sites no Zabbix

Monitorando Certificados de Sites no Zabbix

Ultimamente surgiu a necessidade de realizar o monitoramento de expiração de SSL de domínio. Afinal, ninguém quer ser pego de surpresa e descobrir que os usuários que frequentam seu site não confiam mais na sua conectividade. É lamentável ainda o desleixo que algumas pessoas tem com isso.

Para monitorar esse tipo de situação, criei um script que dá um retorno nos dias restantes antes da expiração. Este script deve ficar em seu servidor zabbix ou algum outro que você deseja realizar o monitoramento que será feito com o “UserParameter”:

#!/bin/bash

data=$(echo | openssl s_client -servername $1 -connect $1:443 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | sed -e 's#notAfter=##')

if [ -z "$data" ]; then
  # Caso ocorra o erro "unable to load certificate", retorna 0
  echo "0"
else
  ssldate=$(date -d "${data}" '+%s')
  nowdate=$(date '+%s')
  diff=$((ssldate - nowdate))

  if [ $diff -lt 0 ]; then
    dias_restantes=0
  else
    dias_restantes=$((diff / 86400))
  fi

  echo $dias_restantes

Você pode nomear o script como:

/scripts/checkssl.sh

Em seguida, dê as permissões de execução ao script:

chmod +x /scripts/checkssl.sh

Agora, você pode incluir um UserParameter em /etc/zabbix/zabbix_agentd.conf e em seguida reiniciar o agente do zabbix

UserParameter=checkssl[*],/scripts/check_ssl.sh $1
systemctl restart zabbix-agentd

Crie o Item no Host:

E a Trigger:

Assim, será disparado um alarme quando faltar 30 dias para expiração do SSL