Aller au contenu

Scripts d'exportation de données

Données Influx

Vous pouvez utiliser lti-get-influx-data.sh sur votre hôte analyzer pour exporter des données au format CSV.

Obtention du script

Ouvrez une session de terminal sur votre hôte analyzer.

Téléchargez le script :

wget https://api.latence.ca/software/lti-get-influx-data.sh

Rendez-le exécutable :

chmod +x lti-get-influx-data.sh

Utilisation

Appelez ./lti-get-influx-data.sh avec les paramètres suivants :

  1. ID de l'agent

  2. Nom du protocole -- un parmi twamp, icmp, tcp, http, https

  3. Secondes de données à extraire -- jusqu'à 3 mois

  4. Vous pouvez ajouter --drops à la fin de la ligne pour extraire les pertes (s'il y en a) au lieu des valeurs de latence

Par exemple, exécuter ./lti-get-influx-data.sh 100 tcp 10 extraira les 10 dernières secondes de données de latence tcp pour l'agent id 100. Avec un taux d'échantillonnage défini à 2 secondes, le résultat sera similaire au bloc ci-dessous :

,result,table,_start,_stop,_time,_value,_field,_measurement,agentID
,_result,0,2023-01-16T14:55:18.99613757Z,2023-01-16T14:55:28.99613757Z,2023-01-16T14:55:20.009Z,29.45599937438965,delay,tcp_result,100
,_result,0,2023-01-16T14:55:18.99613757Z,2023-01-16T14:55:28.99613757Z,2023-01-16T14:55:22.07Z,29.535999298095703,delay,tcp_result,100
,_result,0,2023-01-16T14:55:18.99613757Z,2023-01-16T14:55:28.99613757Z,2023-01-16T14:55:24.131Z,28.83099937438965,delay,tcp_result,100
,_result,0,2023-01-16T14:55:18.99613757Z,2023-01-16T14:55:28.99613757Z,2023-01-16T14:55:26.191Z,28.9060001373291,delay,tcp_result,100
,_result,0,2023-01-16T14:55:18.99613757Z,2023-01-16T14:55:28.99613757Z,2023-01-16T14:55:28.251Z,29.325000762939453,delay,tcp_result,100

Vous avez accès à 4 champs :
_time : Le moment exact où la mesure a été effectuée
_value : La latence mesurée (en ms) ou le nombre de pertes de paquets
_measurement : Indique le type de protocole et le type de valeur affiché dans le champ value : latence (protocolname_result) ou pertes (protocolname_drop)
agentID : L'ID de l'agent utilisé pour effectuer la mesure

Vous pouvez rediriger les données vers un fichier en utilisant la redirection >.

Par exemple, la commande ./lti-get-influx-data.sh 100 tcp 10 > tcp-data.csv créera un fichier texte nommé tcp-data.csv, contenant les données tcp extraites.

Vous pouvez également appeler ./lti-get-influx-data.sh avec les paramètres suivants pour récupérer les métadonnées d'un agent :

  1. ID de l'agent
  2. Ajoutez --metadata-only à la fin de la ligne

Par exemple, la commande ./lti-get-influx-data.sh 100 --metadata-only > 100-metadata.csv créera un fichier texte nommé 100-metadata.csv, contenant les métadonnées de l'agent 100.

Données Kafka

Vous pouvez utiliser le programme kafka-reader pour exporter les données Kafka au format CSV.

Obtention du programme

Ouvrez une session de terminal.

Téléchargez les fichiers :

wget https://api.latence.ca/software/kafka-reader-files.zip

Extrayez-le :

unzip kafka-reader-files.zip

Utilisation

  1. Allez dans le répertoire kafka-reader

    cd kafka-reader-files

  2. Configurez les variables d'environnement. Modifiez le fichier kafka.env et modifiez les trois dernières variables selon vos besoins. Les topics disponibles sont twamp_influx, icmp_influx, iperf_influx, traceroute_influx, tcp_influx, udp_influx, http_influx, https_influx.

    BOOTSTRAP_SERVERS=msgbus.latence.ca:12092 SECURITY_PROTOCOL=SASL_SSL SSL_CAFILE=./auth/certificate.txt SASL_PLAIN_USERNAME= SASL_PLAIN_PASSWORD= SASL_MECHANISM=PLAIN TOPIC_OFFSET=100 NUM_ROWS=200 TOPIC=https_influx

    Exécutez la commande suivante pour charger les variables.

    export $(cat kafka.env | xargs)

  3. Installez les packages requirements.dev.txt

    pip3 install -r requirements.dev.txt

  4. Modifiez le /etc/hosts pour faire pointer msgbus.latence.ca vers l'hôte analyzer en ajoutant la ligne suivante :

    <Remplacer par l'IP de l'analyzer> msgbus.latence.ca

  5. Exécutez le programme pour générer le CSV

    python3 run.py

Données de latence et de géolocalisation

Vous pouvez utiliser le programme suivant pour exporter les données de latence et de géolocalisation au format CSV.

Obtention du programme

Ouvrez une session de terminal.

Téléchargez les fichiers :

wget https://api.latence.ca/software/latency-geoloc-csv-generator.zip

Extrayez-le :

unzip latency-geoloc-csv-generator.zip

Utilisation

  1. Allez dans le répertoire latency-geoloc-csv-generator

    cd latency-geoloc-csv-generator

  2. Installez les packages requirements.dev.txt

    pip3 install -r requirements.dev.txt

  3. Utilisez la commande suivante pour extraire les données.

    python3 csv-writing-script.py <IP Influx> <heure de début> <heure de fin> <AgentID>

    • IP Influx - Adresse IP d'InfluxDB
    • heure de début - Heure de début en GMT au format 2023-06-21T22:00:00Z
    • heure de fin - Heure de fin en GMT au format 2023-06-23T22:00:00Z
    • AgentID - ID de l'agent

    Exemple

    python3 csv-writing-script.py 34.83.172.98 2023-06-21T22:00:00Z 2023-06-23T22:00:00Z 1

Troubleshooting de l'extraction de données

Script de récupération de données Influx

Permission refusée

Si vous obtenez la sortie suivante :

-bash: ./lti-get-influx-data.sh: Permission denied**

Assurez-vous d'avoir exécuté chmod +x ./lti-get-influx-data.sh

Aucune donnée

  • Assurez-vous d'utiliser le bon ID d'agent

  • Assurez-vous d'avoir demandé un nombre suffisant de secondes de données