IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Script de récupération de données


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Par défaut Script de récupération de données
    Oula oula! j'ai mal au crâne!

    Une journée sur un bout de script ... et toujours des problèmes.

    Bonjour a tous; voila j'annonce:

    On a un fichier avec des données du type:
    09:00:36.397170 IP 192.168.X.X.50782 > mtlxxxx.mtl.xxxxxx.fr.snmptrap: C=orsay Trap(52) E:cisco.1.359 192.168.X.X authenticationFailure 2589950544 [|snmp]
    09:22:54.885940 IP 192.168.X.X.snmp > 255.255.255.255.snmptrap: Trap(49) E:683.6 192.168.X.X enterpriseSpecific s=5 500893300 E:[|snmp]
    09:23:28.463050 IP 192.168.X.X.snmp > 255.255.255.255.snmptrap: Trap(49) E:683.6 192.168.X.X enterpriseSpecific s=2 500896400 E:[|snmp]
    09:23:30.418903 IP 192.168.X.X.snmp > 255.255.255.255.snmptrap: Trap(49) E:683.6 192.168.X.X enterpriseSpecific s=1 500896580 E:[|snmp]
    09:23:30.424026 IP 192.168.X.X.snmp > 255.255.255.255.snmptrap: Trap(49) E:683.6 192.168.X.X enterpriseSpecific s=5 500896580 E:[|snmp]
    Et j'ai un script que j'ai pu créer il y a quelque jours grâce à vous (du moins ceux qui m'ont aider):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/bin/sh
    
    killall tcpdump
    FILESNMP=/var/SNMPlog
    FILEALARM=/var/alarm.txt
    
    cat $FILESNMP | awk '{print substr ($1,1,8), $9, $10}' | uniq >> $FILEALARM
    #cat $FILESNMP | cut -f 1,11,12 -d " " | sed "s/\.[0-9]*/ /" >> $FILEALARM
    #les deux commandes fonctionnent
    
    tcpdump port 162 >> $FILESNMP
    mais voila, j'obtiens des données du type:
    09:00:36 192.168.X.X authenticationFailure //bien
    09:22:54 enterpriseSpecific s=5 //pas bien
    09:23:28 enterpriseSpecific s=2 //pas bien
    09:23:30 enterpriseSpecific s=1 //pas bien
    09:23:30 enterpriseSpecific s=5 //pas bien

    Bon, voila, la première ligne j'obtiens ce que je veux, c'est à dire, l'heure, l'adresse, et le problème. mais après ce n'est pas le cas. Le problème venant du fait que les messages ne sont pas les mêmes.
    en effet, les données sont décalés.
    Comment faire alors en une ou plusieurs commande pour toujours recupérer les données voulu quelque soit le type de messages dans le fichier...

    ah oui, en effectuant un:
    cat $FILESNMP | awk '{print substr ($1,1,8), $8, $9}' | uniq >> $FILEALARM
    mon script se bloque, et je sais pas pourquoi...

    Bref, des petits soucis.

  2. #2
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     sed "s/\(.*\) IP \(.*\) > .* E:[^ ]* \([^ ]*\) \([^ ]*\).*/\1 \2 \3 \4/" $FILESNMP
    09:00:36.397170 192.168.X.X.50782 192.168.X.X authenticationFailure
    09:22:54.885940 192.168.X.X.snmp 192.168.X.X enterpriseSpecific
    09:23:28.463050 192.168.X.X.snmp 192.168.X.X enterpriseSpecific
    09:23:30.418903 192.168.X.X.snmp 192.168.X.X enterpriseSpecific
    09:23:30.424026 192.168.X.X.snmp 192.168.X.X enterpriseSpecific

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Par défaut
    Ah y'a du progrès, c'est presque ça.

    Il faudrait un truc du genre:
    09:00:36 192.168.X.X authenticationFailure
    09:00:36 192.168.X.X enterpriseSpecific
    ...

    Faut dire que je suis pas très bon avec les expressions régulières.

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     sed "s/\(.*\) IP .* > .* E:[^ ]* \([^ ]*\) \([^ ]*\).*/\1 \2 \3/" $FILESNMP
    09:00:36.397170 192.168.X.X authenticationFailure
    09:22:54.885940 192.168.X.X enterpriseSpecific
    09:23:28.463050 192.168.X.X enterpriseSpecific
    09:23:30.418903 192.168.X.X enterpriseSpecific
    09:23:30.424026 192.168.X.X enterpriseSpecific
    OK?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Par défaut
    Bien, mais pas tout à fais (y sont jamais content les gens!!! )

    Il faudra arrivé a viré les nombres après l'heure pour que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    09:00:36.397170 192.168.X.X authenticationFailure
    09:22:54.885940 192.168.X.X enterpriseSpecific
    09:23:28.463050 192.168.X.X enterpriseSpecific
    09:23:30.418903 192.168.X.X enterpriseSpecific
    09:23:30.424026 192.168.X.X enterpriseSpecific
    devienne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    09:00:36 192.168.X.X authenticationFailure
    09:22:54 192.168.X.X enterpriseSpecific
    09:23:28 192.168.X.X enterpriseSpecific
    09:23:30 192.168.X.X enterpriseSpecific
    09:23:30 192.168.X.X enterpriseSpecific
    est-ce possible??? (demande sur un ton très aimable avec les oiseau et les fleurs parout)

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Par défaut
    heu, chuis bête avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     sed "s/\(.*\) IP .* > .* E:[^ ]* \([^ ]*\) \([^ ]*\).*/\1 \2 \3/" $FILESNMP | sed "s/\.[0-9]*/ /"
    ça marche!!!

    MERCI

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/04/2012, 18h37
  2. Réponses: 0
    Dernier message: 28/05/2010, 20h08
  3. [Recherche] script gestion de mails dans une base de données
    Par emilie13 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 20/06/2007, 15h59
  4. scripts de création des tables d'un user donné
    Par lsaid dans le forum Administration
    Réponses: 2
    Dernier message: 19/06/2007, 11h30
  5. Cherche programme ou script qui met un lien sur un nom donné
    Par Mawashigeri dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/06/2006, 05h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo