• Docker
  • [ Script ] Vérification de containers + Notifications Telegram​

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 !

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 !

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é ? 🙂

un an plus tard

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 ?

Répondre…