Saludos amigos, durante estos últimos años hemos visto cómo monitorizar todo tipo de servicios con Grafana, InfluxDB y Telegraf, tales como son VMware vSphere, Linux, Windows, Veeam y mucho más. Hoy os traigo una entrada de estas que son extremadamente útiles y sencillas a la vez.
Estoy hablando de cómo monitorizar vuestros certificados SSL, vuestros o de cualquier fabricante, URL, etc. Para que evitemos un fallo como el que Microsoft tuvo hace apenas unos días en el que un certificado SSL expiró por ser año bisiesto.
Topología de Telegraf, InfluxDB y Grafana monitorizando SSL
Aunque ya os he mostrado en algunas ocasiones el diagrama de cómo sería la monitorización usando Telegraf, Grafana e InfluxDB, os dejo de nuevo el diagrama, esta vez monitorizando SSL:
Cómo activar el input nativo de Telegraf para monitorizar Certificados SSL x.509
Por suerte para nosotros, telegraf ya trae de forma nativa un input (plugin) para monitorizar el estado de certificados SSL x.509, podremos monitorizar lo siguiente, que es sin duda más que completo para nuestro objetivo:
x509_cert
- tags:
- source – source of the certificate
- organization
- organizational_unit
- country
- province
- locality
- verification
- serial_number
- signature_algorithm
- public_key_algorithm
- issuer_common_name
- issuer_serial_number
- san
- fields:
- verification_code (int)
- verification_error (string)
- expiry (int, seconds)
- age (int, seconds)
- startdate (int, seconds)
- enddate (int, seconds)
Para activarlo, será tan sencillo como editar el telegraf.conf, o mejor, crear un nuevo fichero en /etc/telegraf/telegraf.d/ssl.conf, y dentro introduciremos lo siguiente:
[[inputs.x509_cert]] sources = ["https://TUURL1:443/", "https://TUURL2:443/", "TUURL3:8443/", "tcp://TUAPPQUEESCUCHAPORTCP:8086/"] insecure_skip_verify = true
Una vez tengamos todas las URL añadidas, haremos un renicio del servicio de telegraf:
service telegraf restart
Comprobando que estamos ingiriendo información con Chronograf
Lo normal a estas alturas, si hemos realizado bien todos los pasos, es que ya estemos mandando información recopilada por el script hacía InfluxDB, si realizamos una búsqueda usando el maravilloso Chronograf, podremos comprobar que tenemos información:
Todas las variables de este input para monitorizar SSL se guardan en x509_* con lo que es realmente sencillo encontrarlas.
Dashboard de Grafana
He creado un Dashboard desde cero seleccionando las mejores peticiones a la base de datos, rematando colores, pensando que gráfica y cómo mostrarla, y además todo está automatizado de manera que encaja con nuestro entorno sin ningún problema y sin tener que editar nada de forma manual. El Dashboard lo podéis encontrar aquí, una vez importado, podéis usar los menús desplegables superiores para seleccionar entre SSL:
Importar los Dashboard de Grafana de manera sencilla
Para que no tengáis que perder horas configurando un nuevo Dashboard, e ingerir y depurar queries, os he creado ya cuatro maravillosos Dashboards con todo lo necesario para monitorizar nuestro entorno de manera muy sencilla, os quedará como la imagen que os mostré más arriba.
Desde nuestro Grafana, haremos Create – Import
Seleccionaremos el nombre que queramos e introduciremos el ID: 11707, que es la ID única del Dashboard, o la URL:Si queréis verlos funcionando sin necesidad de instalar nada, aquí el link a mi entorno.
Espero que os guste, y me gustaría dejaros la serie completa aquí, para que empecéis a jugar con los plugins que os he ido contando todos estos años:
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte I (Instalando InfluxDB, Telegraf y Grafana)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte II (Instalar agente Telegraf en Nodos remotos Linux)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte III Integración con PRTG
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte IV (Instalar agente Telegraf en Nodos remotos Windows)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte V (Activar inputs específicos, Red, MySQL/MariaDB, Nginx)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VI (Monitorizando Veeam)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VII (Monitorizar vSphere)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VIII (Monitorizando Veeam con Enterprise Manager)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte IX (Monitorizando Zimbra Collaboration)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte X (Grafana Plugins)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XI
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XII – Plugin nativo de Telegraf para vSphere
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIII – Veeam Backup for Microsoft Office 365
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIV – Veeam Availability Console
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XV – Monitorización IPMI de nuestros Hosts ESXi
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVI – Rendimiento y seguridad avanzada de Veeam Backup for Microsoft Office 365
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVII – Mostrando los Dashboards en dos monitores usando Raspberry Pi 4
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVIII – Monitorizar temperatura y estado de Raspberry Pi 4
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIX (Monitorizando Veeam con Enterprise Manager) Shell Script
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XX (Monitorizando Certificados SSL x.509)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXI (Monitorizando HTTP Responses)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXII (Monitorizando Cloudflare con Mapa)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIII (Monitorizando WordPress con Jetpack RESTful API)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIV (Monitorizando de Veeam for Microsoft Azure)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXV (Monitorizando Consumo Eléctrico)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVI (Monitorizando Veeam Backup for Nutanix)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVII (Monitorizando ReFS y XFS (block-cloning y reflink)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVIII (Monitorizando HPE StoreOnce)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIX (Monitorizando PiHole)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXX (Monitorizando Veeam Backup for AWS)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXI (Monitorizando Unifi Protect)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXII (Monitorizando Veeam ONE – experimental)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXIII (Monitorizando NetApp ONTAP)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXIV (Monitorizando Goldshell Miners – JSONv2)


Jorge, funciona, solo que mi certificado vence por ejemplo en Agosto 2020 y me indica que expira en 7,73 años, por qué puede ser ?
Saludos,
Es raro, pasame una captura de lo que te dice el browser cuando ves el SSL, y lo que te dice Grafana, y la config del telegraf respecto a ello
Hola, me ocurre lo mismo, certificados que van a caducar el 27/04/2020 grafana me da 11.17 años. ¿Habéis podido mirar si es porque coge mal la info del certificado?
Un saludo
Buenas!
A mì tambièn me ha pasado como los comentarios anteriores, donde me toma los dìas restantes del certificado Let’s Encrypt del sitio que estoy monitoreando y del certificado root que usa Let’s Encrypt. Como sè que tienen una vigencia de 90 dìas, he adaptado un poco… Con este cambio ya se ha resuelto el problema con estos certificados gratuitos…
SELECT (expiry / 60 / 60 / 24) as “expiry” FROM “x509_cert” WHERE (“source” =~ /^$ssl_name$/) AND $timeFilter and (expiry / 60 / 60 / 24) < 91
Como se puede ver, solo agreguè al final ” and (expiry / 60 / 60 / 24) < 91″, y lo mismo en la tabla debajo.
Como recalco, esto solo es aplicable con los certifcados de Let’s Encrypt (o en su caso, cualquiera que expire en menos de 90 dìas).
Gracias de nuevo por el aporte!!! Como he comentado en el sitio de Grafana, es de gran ayuda estos dahsboards!
Buenas Jorge!
My buen trabajo en general!! Yo también estoy intentando configurar este dashboard para los certificados, pero no consigue que funcione del todo bien.
Podrías adjuntar en este apartado lo mismo que en los primeros apartados en los que indicabas exactamente lo que había que configurar en vez de dejar directamente el dashboard para descargarlo?
Muchas gracias y gran aporte
hola tengo una consulta para introducir link de la siguiente manera “https://ced.uvm.cl/ced:443” no los reconoce me puede ayudar para agregar este tipo le links.
Saludos, prueba sin el 443, osea solo https://ced.uvm.cl/ced a ver si funciona