|
|
Présentation du site Cours Erlang Articles Projets Autour d'Erlang-fr Liens English Area Miroir: Documentation Erlang Miroir: Archives Erlang/OTP Recherche ![]()
|
L'administration d'un environnement Erlangpar Mickaël Rémond
Version anglaise: En cours de traduction. Dès lors que l'on souhaite utiliser l'environnement Erlang pour faire fonctionner des programmes dans des conditions de production, il est nécessaire de connaître certaines techniques pour pouvoir suivre certains paramètres de la machine virtuelle. J'essaie dans cette rubrique de rassembler quelques techniques que j'ai pu expérimenter. Cette liste est loin d'être exhaustive, alors n'hésitez pas à m'envoyer vos techniques afin que je les ajoute à cette page. Ouverture d'un shell sur un noeud Erlang distantC'est souvent la première tâche avant de passer à l'étude proprement dit du comportement des processus tournant dans une machine virtuelle. Le plus souvent, cette machine virtuelle est lancé sur une machine distante, sans aucun shell, lorsqu'il s'agit d'un environnement de production. Avant de pouvoir vous connecter à ce noeud, vous devez paramétrer votre cookie pour qu'il soit identique à celui de la machine distante. Lancez un shell Erlang, avec le réseau (utilisation de l'option -sname de la commande erl), puis utiliser la fonction set_cookie: mikl@louxor:~$ erl -sname admin Erlang (BEAM) emulator version 5.0.2 [source] Eshell V5.0.2 (abort with ^G) (admin@louxor)1> erlang:set_cookie(node(), 'cookie_de_la_machine_distante'). true (admin@louxor)2> Une fois que l'on a mis en place un cookie identique au noeud distant, les machines virtuelles Erlang peuvent interagir. Elles sont considérées comme faisant partie du même sous réseau. La fonction ping du module net_adm permet de vérifier que la connexion est bien établie:
(admin@louxor)2> net_adm:ping('prod@memphis').
pong
(test2@louxor)3> net_adm:ping('zog@zog').
pang
Les réponses à la commande ping peuvent être de deux types: pong
signifie que la communication avec le noeud Erlang ciblée est établie;
pang signifie que le noeud Erlang ciblé n'a pas répondu, soit parce
qu'il n'existe pas physiquement ou n'est pas relié physiquement au même
réseau, soit parce que les cookies ne sont pas identiques.
L'opération suivante consiste à ouvrir un shell sur un noeud distant: Des informations sur les processusUne fois que l'on a ouvert un shell sur le noeud souhaité, on peut lancer des commandes pour lancer de nouveaux traitements ou analyse ce qui se passe sur le noeud en question. Voici quelques fonctions utiles pour monitorer des processus:
Isoler la machine virtuelle Erlang du reste du système: chrootA suivre ... Ce cours devrait s'agrémenter d'autres techniques permettant d'administrer correctement et efficacement des machines virtuelles Erlang. Historique du documentVersion 1.0 - 2001-03-21 - Mickaël Rémond. |
Pour tout commentaire: erlang@erlang-fr.org
Dernière modification: 2005-11-11 18:47:48