Post

🟢 HertzBeat VM 104 (pvm-alpine04)

🟢 HertzBeat VM 104 (pvm-alpine04)

HertzBeat est né de la volonté de la communauté open-source de créer un outil de monitoring accessible à tous, capable de surveiller des infrastructures complexes sans nécessiter une configuration lourde. Ce projet a été lancé pour offrir une alternative aux solutions de surveillance traditionnelles, souvent coûteuses ou difficiles à déployer pour de petites équipes. Depuis sa création, HertzBeat a connu une adoption croissante grâce à sa flexibilité et à son approche légère. En peu de temps, il a su se faire une place dans l’univers des outils de monitoring, en particulier auprès des équipes DevOps qui recherchent un outil simple à prendre en main, mais suffisamment robuste pour surveiller une large gamme de systèmes, des serveurs web aux bases de données en passant par les conteneurs et les services cloud.

Proxmox VM Alpine Linux

VM pvm-alpine04

Le template alpine linux(Proxmox VM Alpine Linux Template)

On clone le template
On démarre la VM “pvm-alpine04” et en mode console alpitemp/alpitemp49 (ATTENTION clavier qwerty), relever adresse IP, dans notre cas 192.168.0.12

On se connecte sur la machine virtuelle alpine linux “pvm-alpine04”

1
ssh -i .ssh/alpine-template alpitemp@192.168.0.12 avec la clé SSH

Réseau IPV4 statique

Le fichier de configuration /etc/network/interfaces

1
doas nano /etc/network/interfaces

Modifier

1
2
3
auto eth0
iface eth0 inet static
  address 192.168.0.228/24

Redémarrer la VM

1
doas reboot

Se connecter sur la nouvelle IP via SSH

1
ssh -i .ssh/alpine-template alpitemp@192.168.0.12 avec la clé SSH

Modifier motd

1
doas nano /etc/motd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  ____                                                               
 |  _ \ _ __ _____  ___ __ ___   _____  __                           
 | |_) | '__/ _ \ \/ / '_ ` _ \ / _ \ \/ /                           
 |  __/| | | (_) >  <| | | | | | (_) >  <                            
 |_|   |_|  \___/_/\_\_| |_| |_|\___/_/\_\ _             ___  _  _   
  _ ____   ___ __ ___         __ _| |_ __ (_)_ __   ___ / _ \| || |  
 | '_ \ \ / / '_ ` _ \ _____ / _` | | '_ \| | '_ \ / _ \ | | | || |_ 
 | |_) \ V /| | | | | |_____| (_| | | |_) | | | | |  __/ |_| |__   _|
 | .__/ \_/ |_| |_| |_|      \__,_|_| .__/|_|_| |_|\___|\___/   |_|  
 |_| ___ ____    _  __    ___   ___ |_|___  ____  ___                
 / |/ _ \___ \  / |/ /_  ( _ ) / _ \ |___ \|___ \( _ )               
 | | (_) |__) | | | '_ \ / _ \| | | |  __) | __) / _ \               
 | |\__, / __/ _| | (_) | (_) | |_| | / __/ / __/ (_) |              
 |_|  /_/_____(_)_|\___/ \___(_)___(_)_____|_____\___/               
                                                                     

Alpine Linux - Mise Ă  jour automatique

Installer curl

1
doas apk add curl

Pour chaque nouveau serveur Alpine Linux, créer un script shell nommé apk-autoupgrade dans le dossier /etc/periodic/daily/ avec les permissions suivantes : 700

1
doas nano /etc/periodic/daily/apk-autoupgrade

Contenu fichier /etc/periodic/daily/apk-autoupgrade avec notification ntfy

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/sh
apk upgrade --update | sed "s/^/[`date`] /" >> /var/log/apk-autoupgrade.log
#
curl \
-H "X-Email: ntfy@cinay.eu" \
-H "Title: đź’» `hostname` `ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | head -n 1 | awk '/inet/ {print $2}' | cut -d'/' -f1` - script 'apk-autoupgrade'" \
-H "Authorization: Bearer tk_xxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H prio:low \
-d "`uname -a`
`cat /etc/motd` 
✔️ Fin exécution script /etc/periodic/daily/apk-autoupgrade" \
https://noti.rnmkcy.eu/yan_infos

Droits

1
doas chmod 700 /etc/periodic/daily/apk-autoupgrade

Le script exécute la commande apk upgrade --update une fois par jour, apk par défaut ne demande jamais l’intervention de l’utilisateur.

Le message reçu est semblable à ce qui suit

NFS - Alpine Linux

Cette page documente la configuration du système de fichiers réseau (NFS) du côté du serveur et du client, y compris les autofs et l’authentification Kerberos.

Création d’un dossier nfs docker-data pour y stocker les donnée des applications docker

Installez le paquet suivant pour le service client et serveur NFS.

1
doas apk add nfs-utils

Créer un dossier local de montage

1
mkdir ~/docker-data

Montage automatique, ajouter une ligne au fichier /etc/fstab

1
doas nano /etc/fstab

comme suit:

1
192.168.0.205:/sharenfs/docker-data /home/alpitemp/docker-data nfs4 rw,_netdev 0 0

nfsmount
Pour monter nfs share depuis le fichier /etc/fstab au démarrage du système

1
doas rc-update add nfsmount

` * service nfsmount added to runlevel default`

Pour monter les actions de nfs depuis le fichier /etc/fstab :

1
doas rc-service nfsmount start

Vous pouvez vérifier vos services de démarrage :

1
doas rc-status

Conseil : netmount est un service général pour tous les systèmes de fichiers basés sur le réseau, tandis que nfsmount est spécialement conçu pour NFS.

Pour utiliser netmount, voici les commandes équivalentes :

1
2
doas rc-service netmount démarrage
doas rc-update add netmount

En cas d’erreur au montage NFS , REDEMARRER LA MACHINE.

docker et docker-compose

Scrip pour installer docker

1
2
3
4
5
6
7
doas apk update
# Installer docker et docker-compose
doas apk add docker docker-compose
# Activer autostart sur boot en utilisant
doas rc-update add docker default
# lancer le service docker en utilisant la commande
doas /etc/init.d/docker start #  doas service docker start

Pour exécuter les commandes docker en tant qu’utilisateur non root, vous devez d’abord ajouter votre utilisateur au groupe « docker ».

1
doas addgroup $USER docker

Se déconnecter puis se reconnecter (prise en charge des changements), vérifcation: id

1
uid=1001(alpitemp) gid=1001(alpitemp) groups=4(adm),10(wheel),105(docker),1001(alpitemp)

Watchtower - Mise Ă  jour auto

Watchtower est un outil open-source permettant d’automatiser les mises à jour.

Le paramètre --volume est obligatoire pour que Watchtower puisse communiquer avec le démon Docker sur le système hôte.

Il est possible de lui préciser quand faire les mises à jour, histoire d’éviter une coupure de service (même mineure) en pleine heure de pointe. Le paramètre --schedule prend comme valeur une expression crontab. Sinon, le paramètre --interval peut-être utilisé pour définir le nombre de secondes entre chaque vérification.

À noter également l’option --cleanup qui permet de supprimer les anciennes images afin de ne pas surcharger l’espace disque de l’hôte.

Fixing Watchtower: Solving the “Client Version 1.25 is Too Old” Docker Error
Remplacer containrrr/watchtower par nickfedor/watchtower

En mode utilisateur, lancer le conteneur Watchtower lui-même en exécutant une commande Docker :

1
2
3
4
5
6
7
8
docker run \
  --name watchtower \
  --restart always \
  --volume /var/run/docker.sock:/var/run/docker.sock \
  --detach \
  nickfedor/watchtower \
  --schedule "0 0 4 * * *" \
  --cleanup

Ainsi, nous exécutons Watchtower en mode détaché, ce qui lui donne accès au socket Docker, qui est nécessaire à Watchtower pour surveiller et mettre à jour les conteneurs.
Notre sortie montre l’identifiant unique du conteneur Watchtower qui s’exécute maintenant en arrière-plan.

1
2
Status: Downloaded newer image for containrrr/watchtower:latest
174463b54ce0beedeff8ae8ce4e0095ecfc5f639b0de39c5f770004ac502522a

Plus besoin donc de se soucier de mettre à jour ses containers, Watchtower le fait tout seul, et ça fonctionne parfaitement !

1
docker logs watchtower
1
2
3
time="2026-03-19T10:49:37Z" level=info msg="Watchtower 1.14.4 using Docker API v1.51"
time="2026-03-19T10:49:37Z" level=info msg="Using no notifications"
time="2026-03-19T10:49:37Z" level=info msg="Next scheduled run: 2026-03-20 04:00:00 UTC in 17 hours, 10 minutes, 22 seconds"

Applications

HertzBeat

HertzBeat - monitoring IT facile et complet

Script

1
2
3
4
5
6
cd ~
wget https://github.com/apache/hertzbeat/releases/download/1.8.0/apache-hertzbeat-1.8.0-docker-compose.tar.gz
tar zxvf apache-hertzbeat-1.8.0-docker-compose.tar.gz
cd apache-hertzbeat-1.8.0-docker-compose    
cd hertzbeat-postgresql-victoria-metrics
docker compose up -d
Cet article est sous licence CC BY 4.0 par l'auteur.