Sommaire

Mar 10, 2015 - Smokeping et Docker

Smokeping et Docker

Création du container

docker run --name smoke_r6d -p 8000:80 -d dperson/smokeping

Ajout en masse des cibles à suveiller

Plage d’adresse : 192.168.21.0/24

for i in `seq 1 254`; do docker exec smoke_r6d smokeping.sh -t "All;host_${i};192.168.21.${i}"; done

Actualiser les données depuis le sysème hôte (débug)

while true; do docker exec smoke_r6d smokeping --debug; sleep 300; done

Ajout en masse de cibles de suivi par le DNS

for h in `dig +short NS com.`; do docker exec smoke_r6d smokeping.sh -t "DNS_com;$h;$h"; done
for h in `dig +short NS fr.`; do docker exec smoke_r6d smokeping.sh -t "DNS_fr;$h;$h"; done

Pour corriger le nom de la reference smokeping (ne doit pas contenir de .)

docker exec smoke_r6d sed -i '/++/s/\./_/g' /etc/smokeping/config.d/Targets

Ajout en masse de supervision des TLD

#!/bin/sh

TLDS=`curl https://data.iana.org/TLD/tlds-alpha-by-domain.txt|grep -v ^#`

for tld in ${TLDS};
do
        for h in `dig +short NS ${tld}.`;
        do
                name=$( echo $h | sed 's/\./_/g' )
                config="DNS_${tld};${name};${h}"
                #docker exec smoke_r6d smokeping.sh -t "${config}";
                echo $config
        done
done

Pour indiquer que l’instance précédente est arrétée

docker exec smoke_r6d rm /var/run/smokeping/smokeping.pid

Suivi de

docker restart smoke_r6d

Licence

logo creative common by-sa 3.0 Creative Commons Paternité – Partage à l’Identique 3.0 non transcrit

Mar 4, 2015 - Analyse de performance sous GNU/Linux

Analyse de performance sous GNU/Linux, quelques outils

L’utilisation d’un ordinateur au maximum de ses capacités passe par l’identification des performances réelles de la machine.

Pour cela, il est prévu des outils dont voici une synthèse en image.

L’image n’est pas de moi, voici le lien vers l’image d’origine.

Par souci de disponibilité, la voici copiée en local :

Licence

logo creative common by-sa 3.0 Creative Commons Paternité – Partage à l’Identique 3.0 non transcrit

Feb 22, 2015 - Premier routeur Internet

Honneurs pour le premier routeur Internet

Le titre original est : In Honor Of The Internet Turning 45 Today, Here Is Its First Router

Une copie locale :

Licence

logo creative common by-sa 3.0 Creative Commons Paternité – Partage à l’Identique 3.0 non transcrit

Feb 19, 2015 - FAQ développement avec microntrolleur

FAQ, développement avec microntrolleur

Problèmes et difficultés rencontrées

Comment démarrer ?

Suggestion :

  • créer un dépôt git pour l’application à développer
  • commencer la prise en main à partir d’un code d’exemple
  • compiler le programme avec un Makefile
  • déployer sur la carte
  • vérifier que le comportement de la carte correspond bien au programme chargé

Si tout est bon, continuer :)

  • modifier le fichier source en y ajoutant une erreur volontairement
  • compiler
  • le compilateur doit râler, sinon c’est que le Makefile est incorrect ou mauvais fichier modifié

  • ajouter les fonctions correspondantes au comportement souhaité
  • intégrer les fonctions avec le code existant
  • compiler, déployer sur la carte
  • vérifier le comportement
  • si pas bon, continuer de développer
  • si bon, commencer sérieusement l’étape de nettoyage du code
    • enlever le code mort et/ou inutile (l’outil de gestion de version est là au cas où)
    • nommer et renommer les variables pour qu’elles aient des significations explicites ET en anglais
    • extraire des fonctions faisant peu de choses, avec des noms explicite.

      Plus une action est complexe, plus elle doit être découpée en fonctions

    • ajouter les assertions sur les invariants
    • ajouter les pré-conditions
    • ajouter les post-vérifications

Quoi vérifier lors des commandes & demandes d’achat de matériel ?

  • le processeur sur la carte est le bon
  • le moyen d’alimenter la carte
    • vérifier qu’un moyen sera dispo dès la réception de la carte
    • à défaut, s’en procurer une
  • le moyen de programmer la carte
    • vérifier que la connectique est déjà en stock
    • à défaut, se procurer le composant

Comment utiliser le port série sous GNU/Linux ?

  • les ports séries apparaissent comme des fichiers
  • ils apparaissent sous la forme /dev/tty*
  • lorsque l’adaptateur est USB, /dev/ttyUSBx avec x le numéro de port sur l’adaptateur

En plus de cela, il faut que l’utilisateur soit membre du groupe dialout.

$ sudo adduser <username> dialout

Il est possible d’écrire “toto” dans le port série :

$ echo "toto" >> /dev/ttyUSB0

Il est d’une façon similaire possible de lire un port série :

$ cat /dev/ttyUSB0

ou

$ tail -f /dev/ttyUSB0

ATTENTION : le port doit être déjà configuré par rapport au matériel à utiliser, sinon ça ne fonctionne pas comme prévu

Licence

logo creative common by-sa 3.0 Creative Commons Paternité – Partage à l’Identique 3.0 non transcrit