Dans la version de Debian Buster de Netdata, il n'y a rien permettant de monitorter les certificats SSL. Il semble que ça existe, mais en Go (est-ce packagé pour les versions supérieur,je ne sais pas, mais ça sera du Go).
Il est cepandant possible de créer ses propres plugins. Ça semble possible en bash ou en python.
De mon coté j'ai regardé comment récupérer le nombre de jour avant l'expiration d'un certificat
#!/usr/bin/env python3
import socket
import ssl
from datetime import datetime
hostname = 'www.python.org'
context = ssl.create_default_context()
with socket.create_connection((hostname, 443)) as sock:
with context.wrap_socket(sock, server_hostname=hostname) as ssock:
data = ssock.getpeercert()
notAfter = datetime.fromtimestamp(ssl.cert_time_to_seconds(data['notAfter']))
print(notAfter)
now = datetime.now()
print(now)
duree= notAfter-now
print(duree.days)
@vv222 si tu veux intégrer ça en shell faut pas hesiter non plus 😉
Dans la version de Debian Buster de Netdata, il n'y a rien permettant de monitorter les certificats SSL. Il semble que ça existe, mais en Go (est-ce packagé pour les versions supérieur,je ne sais pas, mais ça sera du Go).
Il est cepandant possible de créer ses propres plugins. Ça semble possible [en bash](https://github.com/netdata/netdata/blob/v1.12.2/collectors/charts.d.plugin/example/example.chart.sh) ou en python.
De mon coté j'ai regardé comment récupérer le nombre de jour avant l'expiration d'un certificat
```
#!/usr/bin/env python3
import socket
import ssl
from datetime import datetime
hostname = 'www.python.org'
context = ssl.create_default_context()
with socket.create_connection((hostname, 443)) as sock:
with context.wrap_socket(sock, server_hostname=hostname) as ssock:
data = ssock.getpeercert()
notAfter = datetime.fromtimestamp(ssl.cert_time_to_seconds(data['notAfter']))
print(notAfter)
now = datetime.now()
print(now)
duree= notAfter-now
print(duree.days)
```
Il ne reste plus qu'à intégrer ça [dans un plugin](https://github.com/netdata/netdata/blob/v1.12.2/collectors/python.d.plugin/#how-to-write-a-new-module).
@vv222 si tu veux intégrer ça en shell faut pas hesiter non plus :wink:
OK - Certificat(s) à jour
OK - /var/lib/dehydrated/certs/mail.debian-facile.org/cert.pem - 72 jours restants
OK - /var/lib/dehydrated/certs/images.debian-facile.org/cert.pem - 72 jours restants
OK - /var/lib/dehydrated/certs/http.debian-facile.org/cert.pem - 65 jours restants
si ça te va ?
```
OK - Certificat(s) à jour
OK - /var/lib/dehydrated/certs/mail.debian-facile.org/cert.pem - 72 jours restants
OK - /var/lib/dehydrated/certs/images.debian-facile.org/cert.pem - 72 jours restants
OK - /var/lib/dehydrated/certs/http.debian-facile.org/cert.pem - 65 jours restants
```
si ça te va ?
Dans la version de Debian Buster de Netdata, il n'y a rien permettant de monitorter les certificats SSL. Il semble que ça existe, mais en Go (est-ce packagé pour les versions supérieur,je ne sais pas, mais ça sera du Go).
Il est cepandant possible de créer ses propres plugins. Ça semble possible en bash ou en python.
De mon coté j'ai regardé comment récupérer le nombre de jour avant l'expiration d'un certificat
Il ne reste plus qu'à intégrer ça dans un plugin.
@vv222 si tu veux intégrer ça en shell faut pas hesiter non plus 😉
un script shell pour ma part surveillera les certificats dans icinga2
si ça te va ?
Au poil pour moi.