OPZ2 PerfMonitoring

Qu'est ce qu'elle fait ?

On an installé de nombreux services sur la carte Orange Pi Zero 2 mais on ne sait pas très bien où l'on en est, qu'est ce qui se passe pour la température processeur, l'occupation mémoire et d'autres paramètres.

Puisque l'on dispose de Docker sur notre machine, on va installer les containers de PostgreSQL et de Grafana. PostgreSQL est un gestionnaire de base de données relationnelles gratuit et Open Source et Grafana est un outil fantastique de dashboarding.

Le but du projet est d'enregistrer à l'aide d'un script python quelques données en base et de la montrer via Grafana.

Installation de Grafana en tant que composant Docker

Grafana n'est pas fourni dans la liste des applications pi.hosted mais l'installation est simple. Cela peut se faire sur la ligne de commande :

docker pull grafana/grafana

comme indiqué sur le hub docker ou bien via portainer, comme sur la copie d'écran ci-contre, en allant dans le menu image.

Sur ce site on a déjà installé Docker et Portainer pour la Orange Pi Zero, des explications se trouvent ici.

Ensuite dans la définition du container je préfère changer le port pour ne pas utiliser un port "avec un compte rond".

Par défaut Grafana expose le port 3000, on va choisir 3120 en mappant 3120 vers 3000 dans les paramètres du container. Et c'est fini !

En indiquant le port "3120" en hommage à l'iconique amplificateur NAD de la fin des années soixante dix, on se retrouve avec le log de Grafana.

Les bonnes choses sont éternelles et le user / password sont "admin" / "admin".

Après, on est loggé, mais on dispose d'une coquille vide que l'on remplira peu à peu.

Quand nos données seront dans PostgreSQL nous relierons Grafana au moteur de base de données.

Pour l'instant ce n'est pas encore possible.

Dans tous les cas on vient d'installer Grafana, il est temps d'aller boire un café.

Installation de PostgreSQL

J'hésite un peu, soit une installation "manuelle" depuis le hub soit en récupérant la version dans le App Templates de portainer préparé par l'équipe de pi.hosted.

En allant sur le site de PostgreSQL on peut lire le 15/10 que la version 15 est sortie, alors que la version de pi.hosted est une 14.5

Du coup je préfère récupérer la dernière version sur la ligne de commande docker pull postgres

Ensuite je crée un container en n'oubliant pas de la nomme 'PG_15" par exemple et en utilisant l'image "postgres:latest".

Ensuite dans la partie volume, "Bind"


J'ai fini par laisser le container s'installer, puis ensuite dans les partie "Advanced container settings" j'ai modifié une variable d'environnement "PGDATA" comme ci-dessous et relancé le container.

Pout modifie la time zone : Asia/Shanghai ou Europe/Paris. Toute la liste ici !

Installation de dBeaver

Un base de données c'est confortable pour ranger les données, mais par contre je ne me vois pas la gérer avec la ligne de commande. La liste de pi.hosted contient un container qui se nomme PgAdmin et qui offre une interface web pour gérer les données, spécifiquement pour PostgreSQL... Mais ce truc là est misérable par rapport à ce que dBeaver (gratuit et Open Source) est capable de faire. Sur le hub docker je ne trouve pas grand chose pour ARM64, la technologie de processeur de la Orange Pi Zero 2. Néanmoins il y a une entrée disponible.

Sur la ligne de commande je lance :

sudo docker run --name cloudbeaver --rm -ti -p 8978:8978 -v /media/opz2/cloudbeaver:/opt/cloudbeaver/workspace andrisasuke/cloudbeaver:latest

Pour l'installer et le trouver sur le port 8978 . Notez la partie -v qui décrit le volume utilisé par l'application qui pointe vers mon disque USB monté dans le dossier /media.

Un clic sur Next permet d'afficher un écran de configuration , je conseille de modifier le login / password.

Et ensuite l'application vous offre la possibilité de vous connecter à la base de données :