Aide pour créer une expression régulière

Fermé
Norcom - 14 janv. 2008 à 23:57
 Norcom - 16 janv. 2008 à 01:17
Bonjour à tous,

Je n'y connais rien en programmation et j'aurais besoin de votre aide.

J'ai besoin de monitorer un serveur Shoutcast via son log.

J'ai trouvé le soft PowerAdmin Server (www.poweradmin.com).

Il permet de trouver dans un log un morceau de texte via une expression régulière et d'envoyer par exemple un mail si la réponse est positive.

Par exemple, dans le log de ShoutCast, je voudrais trouver l'expression suivante :
"<MM/DD/YY@HH:MM:SS> [source] disconnected !"

où MM/DD/YY et HH:MM:SS correspondent à la date et l'heure au moment même où la vérification à lieu, sauf qu'il faudrait ignorer les secondes sinon une recherche a peu de chances d'être positive.

Par exemple, si PowerAdmin effectue une vérification dans le log Shoutcast et que nous sommes le 18 janvier 2008 et qu'il est 23:01, il faudrait qu'il recherche
"<01/18/08@23:01:XX> [source] disconnected !" mais en ignorant les secondes.

J'espère avoir été à peu près clair.

Pouvez-vous m'aider ?

Merci.
A voir également:

12 réponses

R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
15 janv. 2008 à 00:18
Ton expression régulière, tu vas la mettre où ?

Dans un script ?

En quoi Perl, bash, PHP, Python, Ruby, Sed... ? Y'a l'embarras du choix.

Sinon pour l'expression régulière,

<[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9]@[0-9][0-9]:[0-9][0-9]:[0-9][0-9]> [source] disconnected !

Ca devrait passer dans un peu tous les moteurs d'expressions régulières.

Bon, en relisant ta question, je me demande si tu ne voudrais pas en fait juste une recherche sur

"<MM/DD/YY@HH:MM:SS> [source] disconnected !" où seulement SS est variable alors que MM, DD, YY, HH, MM sont fixes, c'est ça ?

Dans ce cas l'expression régulière, c'est :

<MM/DD/YY@HH:MM:[0-9][0-9]> [source] disconnected !


Raph
0
Eh bien en fait c'est pour utiliser dans ce fameux logiciel Power Admin server (www.poweradmmin.com).
Il est dit qu'on peut utiliser des expressions régulières pour trouver une partie de texte dans un log.

J'ai essayé celle que tu m'as donné r4f, mais ça ne semble pas fonctionner.

Pour résumer, au moment où Power Admin fait sa recherche dans le log, si nous sommes le 15 janvier 2008 et qu'il est 15h00,
il faut qu'il recherche la chaine de caractère suivante :
"<01/15/08@15:00:XX> [source] disconnected ! "

Mais évidemment, seules les secondes représentées par "XX" sont variables.
0
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
15 janv. 2008 à 12:07
La page de Power Admin server que tu vois est celle-ci ? :

https://www.poweradmin.com/help/sm_3_4/monitor_log_file.aspx
0
Oui tout à fait :o)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
15 janv. 2008 à 14:02
Essaye ça :

<01/15/08@15:00:[0-9][0-9]> \[source\] disconnected ! 

0
Le problème c'est que la date et l'heure contenue dans l'expression doivent être générées au moment où il fait la vérification avec la date et l'heure en cours.

Est-ce que <MM/DD/YY@HH:MM:[0-9][0-9]> \[source\] disconnected ! ça fonctionnerait ?

Est-ce que les lettres MM DD YY HH MM seraient remplacés par la date et l'heure en cours ?
0
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
15 janv. 2008 à 15:56
Est-ce que les lettres MM DD YY HH MM seraient remplacés par la date et l'heure en cours ?

Je suppose que non !

De toute façon, même s'il le faisait, qu'est-ce que tu compterais en faire ?

Il faut qu'un système soit lancé périodiquement pour contrôler les logs de ton serveur, a priori, non ? Sous Windows, il y a un système de tâches planifiées. Il faudrait que tu fasses un script (genre en PHP ou Perl ou autre) pour faire cette vérification périodiquement...

Ton serveur, il est chez toi ?
C'est un serveur dédié chez un hébergeur ?
0
C'est un serveur dédié chez un hébergeur.

En fait, PowerAdmin est capable d'effectuer une action précise s'il rencontre la chaine de caractère recherchée, comme envoyer un mail.

Ce que je veux, c'est être avertit par mail lorsque ma source est déconnectée du serveur ShoutCast.
Lorsque la source se déconnecte du serveur une ligne est inscrite dans le log ShoutCast du type "<01/15/08@15:00:04> [source] disconnected ! "

PowerAdmin est capable d'aller regarder périodiquement, par exemple toutes les minutes, s'il trouve une chaine de caractère précise, et si oui d'envoyer un mail.

Mais lorsqu'il fait sa recherche dans le log, il faut que ce soit par rapport à la date et l'heure en cours (sans les secondes).
0
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
15 janv. 2008 à 16:36
Ok, je comprends...

C'est bien une machine sous Windows ?

Une machine sous Linux, c'est plus facile pour gérer ce genre de trucs... ;-)

Ici, tu dois avoir un système plus puissant qu'une "simple" recherche de chaînes, même avec expressions régulières... il te faut un peu de programmation...

En PHP ou en Perl, on peut faire ça en quelques lignes... et puis ensuite il fut le mettre dans une tâche planifiée qui se lance toutes les minutes.

Enfin, y'a peut-être des fonctions évoluées de PowerAdmin qu'on connait pas... mais dans ce cas, c'est pas un problème d'expression régulière : c'est un problème de PowerAdmin (ils ont pas des forums spécialisés sur PowerAdmin ?)


Raph
0
Oui c'est une machine sous Windows.
Je ne suis malheureusement pas assez calé en Linux.

Là j'avoue que je rame !
Si tu as un petit script pour faire ça sans passer par PowerAdmin je ne demanderai pas mieux.
Mais le PHP ou Perl c'est du Chinois pour moi :o(
On ne peut pas être bon partout !
0
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
15 janv. 2008 à 23:56
Tu ferais mieux d'installer PHP (genre WAMP : https://www.wampserver.com/ ) et ensuite tu pourras faire des scripts d'admin enPHP (et te faire aider la les millions de programmeurs PHP ! :-)

A priori, PowerAdmin doit pas gérer ce genre de trucs...

Mais tu devrais aller sur les forums spécifique à PowerAdmin pour te renseigner !

Bon courage !


Raph
0
En tout cas je te remercie pour ton attention et tes réponses.

Je vais suivre tes conseils.

Bonne continuation.
0