[ Script ] Vérification de containers + Notifications Telegram
Ah oui, c'est pour ça que je voulais pas le label perso (Même si en soit, c'est pas dérangeant de supprimer & recréer)
J'ai fais un test sur github : https://github.com/Balth0/check_websites/blob/dev/check_websites.sh
Le temps de reformater mon serveur de test (J'ai un peu la flemme de plonger dans iptables là tout de suite ) et je vous dit si c'est bon !
Sur ce dev, j'ai mis le redémarrage en paramètre et je teste l'ip/port interne.
Pour le pb de -
J'ai regardé vite fait en faisant un petit test
DOCKER_FRONTEND_NETWORK=userdocker_default
docker network inspect $DOCKER_FRONTEND_NETWORK | grep Name | sed 1d | awk -F\" '{print $4}'
Passe sans problème, après, c'est possible que le problème concerne vraiment que le - ?
Je viens de jeter un oeil sur le tuto pour slack, et ça semble assez simple à mettre en oeuvre j'avoue.
Je me demande à quel point il ne serait pas intéressant d'inclure directement ces scripts (telegram/sclack) dans mon github pour faire un outil plus complet.
Ouep, c'est bien de tout mettre dans un même projet git
En plus, imaginons que l'autre repository Git ferme du jour au lendemain, on perd tout !
J'ai commencé à travailler dans ce sens sur la branche dev, mais il y a encore du boulot
Si tu as besoin d'un coup de main, tu me dis!
Si tu utilises slack, je veux bien.
Il faudrait trouver la syntaxe à utiliser pour la variable "content"
En gros, il faudrait envoyer un message équivalent à celui de telegram (icone KO/texte/fichier de logs attaché).
Voici le content actuel (directement repris de ton lien) :
content="\"attachments\": [ { \"mrkdwn_in\": [\"text\", \"fallback\"], \"fallback\": \"SSH login: $PAM_USER connected to `$HOSTNAME`\", \"text\": \"SSH login to `$HOSTNAME`\", \"fields\": [ { \"title\": \"User\", \"value\": \"$PAM_USER\", \"short\": true }, { \"title\": \"IP Address\", \"value\": \"$PAM_RHOST\", \"short\": true } ], \"color\": \"#F35A00\" } ]"`
Rien que ça me soulagerai bien
Je check dans la journée!
Eheh un cas qu'on avait pas pensé !
Pour certains containers, il n'y a pas de port exposed, ni de port utilisé (typiquement v2tec/watchtower). Comment fait-on dans ce cas ?
J'y ai pensé, mais à part vérifier le statut du container; il n'y a pas d'autre moyen... vu qu'il n'expose rien !
- Modifié
Ouep c'est sur, mais du coup, il ne fait pas bug le script ? (J'ai pas check encore)
PS: Je pense faire un petit install.sh, pour setup le DOCKER_FRONTEND_NETWORK
EDIT: Ou alors, c'est aussi possible de l'intégrer au script (Par exemple, si DOCKER_FRONTEND_NETWORK = changeme, alors on lance une function de setup, sinon on lance le script)
Effectivement, elle est un peu indispensable cette variable !
- Modifié
Hop, petite fonction de setup du script :
if [[ $DOCKER_FRONTEND_NETWORK == "changeme" ]]; then
echo -e "${CYELLOW}Il semblerait que ce soit la première fois que vous lancez le script, quel est le nom de votre réseau Docker ?"
echo -e -n "Si vous ne savez pas, inscrivez tout simplement ls qui vou listera tous vos réseaux${CEND} : "; read TEMP_NETWORK
OK=0
while [[ $OK == 0 ]]; do
if [[ ${TEMP_NETWORK} =~ "ls" ]]; then
docker network ls
echo -e -n "${CYELLOW}Si vous ne savez pas, inscrivez tout simplement ls qui vou listera tous vos containers${CEND} : "; read TEMP_NETWORK
else
docker network ls | awk '{print $2}' | sed '1d' | grep ${TEMP_NETWORK} | echo $?
if [[ $(docker network ls --format "{{ .Name }}" | grep -w -c ${TEMP_NETWORK}) == 1 ]]; then
sed -i "0,/changeme/s//${TEMP_NETWORK}/" $0
fi
OK=1
fi
done
fi
Permet de changer le réseau par défaut au premier démarrage seulement
PS: Peux-tu éditer ton premier message pour mettre un lien vers ton script plutôt que le gros pavé ?
Salut,
Merci pour ton script (que je déterre un peu), il est beaucoup plus complet que celui que je m'étais fait ^^, et surtout modulable.
Par contre j'ai un petit soucis avec les icons (success, error, warning), j'ai seulement des ? qui s'affiche, rien de plus malheureusement. Une idée ?