Bonjour,
Notre administrateur système est débordé et il m’a juste donné une petite recette à exécuter « à la main » dès lors que « nous n’avons plus de téléphone » dans nos bureaux :/
1°) me connecter au serveur (en ssh)
2°) asterisk -rv
3°) module load app_stack.so
4°) Ctrl+C (pour sortir de là)
5°) se déconnecter du serveur (Ctrl+D)
Et ça fonctionne, dans 90 % des cas. Car le problème est parfois plus grave et nécessite, soit un redémarrage du service, soit une intervention divine (= le sysadmin débordé).
Je sais pas exactement ce qui se passe ni l’origine du problème :(
Mais j’aimerais bien que cela soit scripté dans un cron exécuté chaque minute…
Il faudrait
• pouvoir tester et détecter la panne
• le cas échéant faire l’équivalent de la petite recette ci-dessus.
(Asterisk 11.13.1~dfsg-2+deb8u8)
Qu’en pensez-vous ?
PS: Je suis capable de comprendre des commandes bash et d’ajouter un cron.
Merci d’avance.
# script via ssh
Posté par BAud (site web personnel) . Évalué à 4. Dernière modification le 13 juin 2024 à 13:38.
ssh te permet d'exécuter des scripts distants :
tu auras déclaré ta clé publique (
id_rsa.pub
) sur le compte admin du serveur asterisk.example.com au préalable, pour ne pas avoir à rentrer ton mot de passe…ça, ce n'est pas la meilleure idée du monde, surtout si le traitement peut durer plus d'une minute… outre les logs à outrance que cela peut générer si le traitement part en vrille (il y a toujours des cas d'erreur auquel on n'a pas pensé :/)
si chaque utilisateur commence à faire cela, cela peut faire pas mal de connexions concurrentes…
déjà identifier les commandes permettant d'avoir le statut de fonctionnement (soit par un client local, soit par une commande sur le serveur) ce serait pas mal ;-)
bref, t'en as trop dit, ou pas assez :-) ça manque de contexte :/ (notamment, tes commandes sont-elles interactives ?)
qui le lancerait ? qui l'utilise ? traçabilité des accès ?
combien de fois ça arrive ? combien de personnes concernées ?
comment ça se passe si tu n'es pas là ? comment c'est géré s'il y a un changement de version d'asterisk qui modifie le comportement ?
[^] # Re: script via ssh
Posté par Sébastien Wilmet . Évalué à 3. Dernière modification le 13 juin 2024 à 14:24.
Je pense que le
module load app_stack.so
n'est pas une commande shell mais une commande propre à Asterisk.Il faut sûrement créer un script Asterisk, et l'exécuter avec :
[^] # Re: script via ssh
Posté par BAud (site web personnel) . Évalué à 5.
La doc' d'asterisk est peu claire sur les options de lancement :/ (manque de précision et d'exhaustivité : 2-3 exemples qui se battent en duel, c'est pas vraiment ce que j'appelle une documentation :/ mais je ne suis peut-être pas tombé sur les bonnes pages :p)
https://docs.asterisk.org/Operation/Asterisk-Command-Line-Interface/
https://docs.asterisk.org/Operation/Asterisk-Command-Line-Interface/CLI-Syntax-and-Help-Commands/ (en gros : regardez l'aide…)
https://docs.asterisk.org/Operation/Asterisk-Command-Line-Interface/Creating-and-Manipulating-Channels-from-the-CLI/ ne correspond pas au cas d'usage regardé
dans ce cas, faire quelque chose du genre :
ça injecte le texte (donc la commande) à
asterisk
ah sinon, j'ai trouvé une page de
man
https://linux.die.net/man/8/asteriskdonc bon le plus simple est de lancer :
ça devrait faire le taf'…
# automatisation
Posté par bertrand . Évalué à 3.
S'il faut croner, c'est sur le serveur.
Et un script avec un check de bon fonctionnement et la commande de résolution mis en daemon est probablementune meilleure solution.
[^] # Re: automatisation
Posté par BAud (site web personnel) . Évalué à 2.
faudrait un admin disponible pour cela :-)
# beark
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 2.
Les soucis sont nombreux dans cette histoire:
- debian 8, on parle d'une distro qui date de 2015, derniere update en 2018
- asterisk 11 …
je veux bien entendre que l'admin soit deborde mais la c'est de l'inconscience a ce niveau
Au vu du "fix" il doit y avoir un watchdog/cron qui redemarre asterisk regulierement et aleatoirement le chargement du module pour gerer les fonctions dans les macros asterisk ne se charge pas.
Ma premiere reaction serait de modifier le modules.conf pour forcer le chargement du module ("load app_stack.so") voir meme le passer en required ("require app_stack.so")
Deuxieme reaction serait de mettre a jour le bouzin
Si vous souhaiter vraiment persister dans le hack, le script suivant devrait gerer le probleme en question, a executer en local depuis le serveur asterisk:
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.