Table des matières

SMS

Recevoir des mails quand il y a des problèmes c'est cool, recevoir des SMS c'est encore plus cool ! Bon bien sûr, il ne faut pas envoyer des SMS pour toutes les alertes, pour l'instant c'est configuré sur l'action qui nous prévient également par mail : ce sont les alertes de niveau maximal : disaster.

Pour l'instant on utilise le modem sur discovery, cependant si on veut recevoir des SMS quand le serveur est down, je conseille de mettre le modem sur Houston au U7, et d'utiliser les scripts d'alertes personnalisés de zabbix avec gammu sur houston pour avoir la fonction sms indépendante des deux serveurs de prods.

Configuration

Sur la machine physique et virtuelle

Voici la solution utilisée actuellement : Un modem 4G est branché en USB sur Discovery au U1, le package usb-modeswitch est installé. Il permet de passer le modem usb de Mass-Storage device en Network Modem. Pour que le périphérique soit toujours reconnu comme un modem, le fichier /etc/usb_modeswitch.d/12d1\:1506 (VendorID:ProductID) contient :

TargetVendor=0x12d1
TargetProductList="1506"

MessageContent="55534243123456780000000000000011062000000101000100000000000000"

Ensuite comme zabbix est pour l'instant sur un LXC, on configure le LXC pour récupérer l'accès au device, en l'occurence /dev/ttyUSB1 (pour savoir quel tty on doit utiliser on peut essayer d'interagir avec le modem en utilisant gammu). Dans le fichier /etc/pve/lxc/ID.conf :

lxc.cgroup.devices.allow = c MAJOR:MINOR rwm

Vous pouvez trouvez les majeurs et mineurs en faisant un ls -l sur /dev par exemple :

-------------------------MAJOR, MINOR-------------------
crw-rw----  1 root dialout   4,  95 juin   4 19:55 ttyS31
crw-rw----  1 root dialout   4,  68 juin   4 19:55 ttyS4
crw-rw----  1 root dialout   4,  69 juin   4 19:55 ttyS5
crw-rw----  1 root dialout   4,  70 juin   4 19:55 ttyS6
crw-rw----  1 root dialout   4,  71 juin   4 19:55 ttyS7
crw-rw----  1 root dialout   4,  72 juin   4 19:55 ttyS8
crw-rw----  1 root dialout   4,  73 juin   4 19:55 ttyS9
crw-rw----  1 root dialout 188,   0 juin  13 20:24 ttyUSB0
crw-rw----  1 root dialout 188,   1 juin  13 20:23 ttyUSB1

Un fois que c'est fait il faut créer le fichier correspondant sur le CT, on fait donc un petit service qui se lance une fois :

start)
    mknod /dev/ttyUSB1 c 188 1
    chown zabbix:zabbix /dev/ttyUSB1
    ;;
  stop)
    rm /dev/ttyUSB1
    ;;

On aurait pu grâce à une VM rendre le modem uniquement et directement accessible par la VM

Sur zabbix

Dans administration→Media types, on active le SMS et on configure le média pour utiliser la bonne interface série.

Ensuite dans les actions que vous devez déjà connaitre, on rajoute juste un nouveau message vers un groupe d'utilisateur, par SMS.

On doit absolument décocher la case default message, pour personnaliser le message et le rendre le plus court possible tout en restant assez informatif. Sinon les messages excéderont la taille maximale. Je conseille {TRIGGER.NAME} on {HOST.NAME}

Les utilisateurs de Zabbix n'ont plus qu'à configurer leur numéro de téléphone dans leur profil (section Media>Add ) pour pouvoir recevoir des alertes. On peut même choisir quels niveaux d'alertes on veut recevoir (utile quand on prévient les utilisateurs pour plusieurs niveaux d'alertes, càd quand la configuration de l'action restreind moins les alertes)

Le forfait

Un forfait Free à 2€ devrait suffire, à priori on n'aura pas plus d'une dizaine, voire vingtaine de correspondants uniques par mois.

Comme on a mis le modem 4G en mode modem sur le serveur, une nouvelle interface réseau est apparue (dans mon cas : wwx0c5b8f279a64) si vous l'activez vous obtiendrez un accès à un réseau NATé vers Internet en 4G. D'où l'intérêt de mettre ça sur une VM et non un CT (un attaquant active l'interface et n'est pas filtré vers l'extérieur).

On a mis un mot de passe fort sur le réseau WiFi, on a pas réussi à le désactiver. Faudrait sans doute flasher le modem avec autre chose que le système fournit par Orange, mais merci quand même à no_pseudo pour nous l'avoir donné.

Romain Cherré 2018/06/13 21:30

Au moment où j'ai écrit cet article la politique de sévérité des alertes n'est pas vraiment bien configurée : il y a les alertes de températures, les disques à moins de 1% d'espace libre, et sans doute autre chose. Cependant, on a de la chance, la sévérité des alertes est réglée par défaut sur celle des templates (heureusement) mais on peut la modifier par hôte sans modifier le template (et donc tous les hôtes associés). Donc on pourra par exemple mettre une sévérité plus forte pour un agent zabbix qui ne répond plus sur les serveurs physiques de prod.