Monitoring LXC Proxmox sous os alpine

Hello,

Je suis en train de migrer (sous proxmox) mon docker qui contenait beaucoup de conteneur vers des lxc pour séparer chaque fonction.
Certains de mes LXC sont avec un OS Alpine et le plugin ne semble pas pouvoir interroger correctement ces machines.

Y’a t il des outils a installer dans mon LXC ou ce n’est tout simplement pas possible ?

PS : le ssh est bien naturellement activé.

Merci.

Sinon vous avez plugin-proxmox

Merci, oui c’est sûr pas bête mais je suis plus en mode diminution de plugin que d’en remettre un ‹ juste › pour quelques informations. Je cherche a le faire avec monitoring en 1er lieu.

En attendant une réponse de compatibilité sur le plugin monitoring, j’ai creusé pour extraire en effet la donnée directement de proxmox et non pas sur le lxc lui meme (en gros ce que tu propose @Tonio16 avec le plugin proxmox). Vu que je ne veux pas (plus, voir mon post sur iobroker) ajouter de plugin sur jeedom, je m’oriente pour le moment sur la solution iobroker qui me permet d’interroger avec l’adaptateur proxmox en mqtt vers jeedom.

1 « J'aime »

Bonjour,

Il me faudrait plus d’infos pour pouvoir analyser le tout. donc des logs en mode debug à la fois du plugin monitoring et du plugin SSH-Manager :wink:

Après, concernant Alpine OS, cela ne m’étonne pas, c’est un OS par définition super light, où la plupart des outils « standards » ne sont pas installés, donc même si le SSH arrive à se connecter, les commandes lancées doivent remonter des erreurs (d’où les logs nécessaires).

TiTidom.

Oui oui je me doute et pas de soucis pour installer des outils sur les lxc si besoin.
J’avais deja demandé a l’IA quels outils j’avais besoin d’installer mais sans succès. (apk add procps coreutils sysstat htop vnstat)

[2025-09-26 10:27:03] DEBUG  : [Adguard monitoring][SSH-CNX] Connection :: OK
[2025-09-26 10:27:03] DEBUG  : [Adguard monitoring][SSH-EXEC] DistriName :: awk -F'=' '/^PRETTY_NAME/ { print $2 }' /etc/*-release 2>/dev/null | awk -v ORS="" '{ gsub(/"/, ""); print }'
[2025-09-26 10:27:03] DEBUG  : [Adguard monitoring][SSH-EXEC] DistriName Result :: Alpine Linux v3.22
[2025-09-26 10:27:03] DEBUG  : [Adguard monitoring][SSH-EXEC] uname :: uname -a 2>/dev/null
[2025-09-26 10:27:03] DEBUG  : [Adguard monitoring][SSH-EXEC] uname Result :: Linux adguard 6.8.12-15-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-15 (2025-09-12T11:02Z) x86_64 Linux
[2025-09-26 10:27:03] DEBUG  : [Adguard monitoring][REMOTE] ArchKey :: unknown (Unknown)
[2025-09-26 10:27:03] DEBUG  : [Adguard monitoring][SSH-EXEC] NetworkCard :: LC_ALL=C ip -o -f inet a 2>/dev/null | grep -Ev 'docker|127.0.0.1' | head -1 | awk '{ print $2 }' | awk -F'@' -v ORS="" '{ print $1 }'
[2025-09-26 10:27:03] DEBUG  : [Adguard monitoring][SSH-EXEC] NetworkCard Result :: eth0
[2025-09-26 10:27:03] DEBUG  : [Adguard monitoring][getNetworkCard] NetworkCard :: eth0
[2025-09-26 10:27:03] DEBUG  : [Adguard monitoring][getCommands] Key (LocalorRemote) :: unknown (remote)
[2025-09-26 10:27:03] ERROR  : [Adguard monitoring][getInformations] Exception (Line 2459) :: Aucune commande distante disponible pour cette architecture (Key) :: unknown
[2025-09-26 10:27:03] DEBUG  : [Adguard monitoring][getInformations] Exception Trace :: [{"file":"\/var\/www\/html\/plugins\/Monitoring\/core\/class\/Monitoring.class.php","line":2937,"function":"getCommands","class":"Monitoring","type":"->"},{"file":"\/var\/www\/html\/plugins\/Monitoring\/core\/class\/Monitoring.class.php","line":1685,"function":"getInformations","class":"Monitoring","type":"->"},{"file":"\/var\/www\/html\/core\/class\/DB.class.php","line":250,"function":"postSave","class":"Monitoring","type":"->"},{"file":"\/var\/www\/html\/core\/class\/eqLogic.class.php","line":1053,"function":"save","class":"DB","type":"::"},{"file":"\/var\/www\/html\/core\/ajax\/eqLogic.ajax.php","line":501,"function":"save","class":"eqLogic","type":"->"}]

après en test de ton coté, si tu as un proxmox il suffit juste d’executer ce script pour deployer en 1 min un lxc alpine : Proxmox VE Helper-Scripts, mais je peux faire les tests de mon coté sans pb.

Re,

Merci pour ces logs.

J’ai ma réponse, du coup je vais regarder pour ajouter cette distrib, une fois incluse, on pourra voir ce qui remonte ou non (et donc voir s’il faut ajouter des outils côté LXC ou non)

Je regarde ca dans les jours à venir (et oui, je vais remettre mon proxmox en route pour faire des tests, merci pour le lien pour le script :+1: )

TiTidom.

Merci, a ta dispo si besoin.

Re Bonjour,

Bon… J’ai rallumé mon Proxmox, tant qu’à faire je l’ai mis à jour en version 9.0.10 (il était encore en version 8). Ensuite, j’ai installé un LXC Alpine via ton script, j’ai installé sshd dessus et l’ai configuré.

J’ai ensuite ajouté un équipement au plugin Monitoring, j’ai juste fait sauvegardé, et j’ai eu la (bonne) surprise de voir ceci :

image

Il manque les disques (je regarderai pourquoi), mais pour le reste, j’ai déjà plein d’info.

EDIT : La version v3.1.10 BETA du plugin Monitoring sera disponible demain matin, et permet de récupérer également la partie disque :wink:

Du coup, il va falloir voir comment avancer sur ton soucis :wink: (Ce n’était qu’un test rapide, je pourrai regarder plus en détail pendant le we)

TiTidom.

Re,

Du coup on va reprendre depuis le début (car les logs fournies ne sont pas complètes, et ne suffiront pas ;)) :

Peux tu fournir stp :

  • Page santé
  • Version du plugin Monitoring
  • Version du plugin SSH-Manager
  • Logs Monitoring + Logs SSH-Manager
  • Page de configuration de l’équipement

Ce sera un bon début pour démarrer les investigations,

Bonne journée,
TiTidom.

Ah mince alors ca fonctionne chez toi lol
J’ai tenté sans authent clé pour voir mais idem et je suis meme reparti de la meme image alpine de pve script desfois que ca serait la mienne qui est differente, du coup on est sur les memes bases.

log SSH

2025-09-27 12:12:38] DEBUG  : [Adguard - SSH] cronEqLogic (AutoRefresh) :: */5 * * * *
[2025-09-27 12:12:38] DEBUG  : [Adguard - SSH] cronEqLogic Timeout :: 5min
[2025-09-27 12:12:38] DEBUG  : [Adguard - SSH] Refresh (postSave) de l'équipement
[2025-09-27 12:12:38] DEBUG  : [Adguard - SSH] >>>> Creating SSH2 client (pid: 55025) for eqLogic 2071 to adguard.local
[2025-09-27 12:12:38] DEBUG  : [Adguard - SSH] >>>> SSH2 :: Connected and authenticated
[2025-09-27 12:12:38] DEBUG  : [Adguard - SSH] Time :: date +%s
[2025-09-27 12:12:38] DEBUG  : [Adguard - SSH] Time Result :: 1758967958
[2025-09-27 12:12:38] DEBUG  : [Adguard - SSH] Banned IP :: result=$(docker exec swag fail2ban-client status --all | grep -Po 'Banned IP list:\s*\K[\d.,\s]*' | tr ',' '\n' | sed 's/\s*//g' | sed '/^$/d' | tr -d '\n\r\t ') if [ -z "$result" ]; then   echo "NO_BAN" else   echo "$result" fi
[2025-09-27 12:12:38] DEBUG  : [Adguard - SSH] Banned IP Result :: sh: docker: not found grep: unrecognized option: P BusyBox v1.37.0 (2025-08-05 16:40:33 UTC) multi-call binary.  Usage: grep [-HhnlLoqvsrRiwFE] [-m N] [-A|B|C N] { PATTERN | -e PATTERN... | -f FILE... } [FILE]...  Search for PATTERN in FILEs (or stdin)  	-H	Add 'filename:' prefix 	-h	Do not add 'filename:' prefix 	-n	Add 'line_no:' prefix 	-l	Show only names of files that match 	-L	Show only names of files that don't match 	-c	Show only count of matching lines 	-o	Show only the matching part of line 	-q	Quiet. Return 0 if PATTERN is found, 1 otherwise 	-v	Select non-matching lines 	-s	Suppress open and read errors 	-r	Recurse 	-R	Recurse and dereference symlinks 	-i	Ignore case 	-w	Match whole words only 	-x	Match whole lines only 	-F	PATTERN is a literal (not regexp) 	-E	PATTERN is an extended regexp 	-m N	Match up to N times per file 	-A N	Print N lines of trailing context 	-B N	Print N lines of leading context 	-C N	Same as '-A N -B N' 	-e PTRN	Pattern to match 	-f FILE	Read pattern from file NO_BAN
[2025-09-27 12:12:38] DEBUG  : [Adguard - SSH] Immich library size :: df --block-size=G /media/nas --output=size | tail -n +2
[2025-09-27 12:12:38] DEBUG  : [Adguard - SSH] Immich library size Result :: df: unrecognized option: block-size=G BusyBox v1.37.0 (2025-08-05 16:40:33 UTC) multi-call binary.  Usage: df [-PkmhTai] [-B SIZE] [-t TYPE] [FILESYSTEM]...  Print filesystem usage statistics  	-P	POSIX output format 	-k	1024-byte blocks (default) 	-m	1M-byte blocks 	-h	Human readable (e.g. 1K 243M 2G) 	-T	Print filesystem type 	-t TYPE	Print only mounts of this type 	-a	Show all filesystems 	-i	Inodes 	-B SIZE	Blocksize
[2025-09-27 12:12:39] DEBUG  : [Adguard - SSH] Unifi-db :: docker ps -a
[2025-09-27 12:12:39] DEBUG  : [Adguard - SSH] Unifi-db Result :: sh: docker: not found
[2025-09-27 12:12:39] DEBUG  : [Adguard - SSH][UsedBy] L'équipement [Système][Adguard monitoring] utilise cet objet et est actif

log monitoring

[2025-09-27 12:14:26] DEBUG  : [Adguard monitoring][SSH-CNX] Connection :: OK
[2025-09-27 12:14:26] DEBUG  : [Adguard monitoring][SSH-EXEC] DistriName :: awk -F'=' '/^PRETTY_NAME/ { print $2 }' /etc/*-release 2>/dev/null | awk -v ORS="" '{ gsub(/"/, ""); print }'
[2025-09-27 12:14:26] DEBUG  : [Adguard monitoring][SSH-EXEC] DistriName Result :: Alpine Linux v3.22
[2025-09-27 12:14:26] DEBUG  : [Adguard monitoring][SSH-EXEC] uname :: uname -a 2>/dev/null
[2025-09-27 12:14:26] DEBUG  : [Adguard monitoring][SSH-EXEC] uname Result :: Linux adguard 6.8.12-15-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-15 (2025-09-12T11:02Z) x86_64 Linux
[2025-09-27 12:14:26] DEBUG  : [Adguard monitoring][REMOTE] ArchKey :: unknown (Unknown)
[2025-09-27 12:14:27] DEBUG  : [Adguard monitoring][SSH-EXEC] NetworkCard :: LC_ALL=C ip -o -f inet a 2>/dev/null | grep -Ev 'docker|127.0.0.1' | head -1 | awk '{ print $2 }' | awk -F'@' -v ORS="" '{ print $1 }'
[2025-09-27 12:14:27] DEBUG  : [Adguard monitoring][SSH-EXEC] NetworkCard Result :: eth0
[2025-09-27 12:14:27] DEBUG  : [Adguard monitoring][getNetworkCard] NetworkCard :: eth0
[2025-09-27 12:14:27] DEBUG  : [Adguard monitoring][getCommands] Key (LocalorRemote) :: unknown (remote)
[2025-09-27 12:14:27] ERROR  : [Adguard monitoring][getInformations] Exception (Line 2459) :: Aucune commande distante disponible pour cette architecture (Key) :: unknown
[2025-09-27 12:14:27] DEBUG  : [Adguard monitoring][getInformations] Exception Trace :: [{"file":"\/var\/www\/html\/plugins\/Monitoring\/core\/class\/Monitoring.class.php","line":2937,"function":"getCommands","class":"Monitoring","type":"->"},{"file":"\/var\/www\/html\/plugins\/Monitoring\/core\/class\/Monitoring.class.php","line":1685,"function":"getInformations","class":"Monitoring","type":"->"},{"file":"\/var\/www\/html\/core\/class\/DB.class.php","line":250,"function":"postSave","class":"Monitoring","type":"->"},{"file":"\/var\/www\/html\/core\/class\/eqLogic.class.php","line":1053,"function":"save","class":"DB","type":"::"},{"file":"\/var\/www\/html\/core\/ajax\/eqLogic.ajax.php","line":501,"function":"save","class":"eqLogic","type":"->"}]

Bonjour,

Est ce que tu peux lancer cette commande sur ton LXC et me donner le résultat :

lscpu

C’est entre autre cette commande qui permet de récupérer le type d’ architecture et qui conditionne tout le reste…

TiTidom

Alpine-AdGuard LXC Container
    🌐   Provided by: community-scripts ORG | GitHub: https://github.com/community-scripts/ProxmoxVE

    🖥️   OS: Alpine Linux - Version: 3.22.1
    🏠   Hostname: adguard
    💡   IP Address: 192.168.101.2
adguard:~# lscpu
-sh: lscpu: not found

meme sur le lxc alipine basique comme toi ca me renvoie la meme chose, du coup etonnant vu qu’on part du meme script. La seule différence est que j’installe pas sshd mais quand tu fais la config lxc je ne choisis pas defaut mais advanced ou ca te propose direct si tu veux ssh ou pas.

Je suis en pve 8.4 mais bon peu importe (la 9.0 est un poil trop fraiche pour mettre ca en prod :slight_smile:)

Re,

oui bizarre en effet :confused: moi j’ai utilisé le menu « Default Verbose » pour l’installation pour info, et en effet j’ai ajouté le paquet openssh ensuite et configuré celui ci pour me connecter via login/password (juste pour expliquer ce que j’ai fait comme manip)

On est entièrement d’accord :wink: moi il me sert que de tests à date, donc j’hésite pas trop à le mettre à jour :stuck_out_tongue:

Ce qui est d’autant plus bizarre, c’est que j’ai testé aussi les distrib AdGuard dispo sur la communauté pour l’installer (à la fois celle basée sur Debian et l’autre basée sur Alpine) et là aussi j’ai bien toutes les commandes…

alpine-adguard:~# uname -a
Linux alpine-adguard 6.14.11-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.14.11-2 (2025-09-12T09:46Z) x86_64 Linux

D’après tes logs que tu as fourni plus haut, le kernel utilisé dans ta version est plus ancienne (d’environ 1 an) par rapport à celle que j’ai déployée (même si la version Alpine elle est la même).

mais essayons d’avancer malgré tout :slight_smile: :

Peux tu tenter d’installer lscpu et on va voir s’il arrive à aller plus loin :

apk update
apk add lscpu

TiTidom.

lscpu
Architecture:             x86_64
  CPU op-mode(s):         32-bit, 64-bit
  Address sizes:          46 bits physical, 48 bits virtual
  Byte Order:             Little Endian
CPU(s):                   22
  On-line CPU(s) list:    3,4
  Off-line CPU(s) list:   0-2,5-21
Vendor ID:                GenuineIntel
  Model name:             Intel(R) Core(TM) Ultra 7 155H
    CPU family:           6
    Model:                170
    Thread(s) per core:   2
    Core(s) per socket:   16
    Socket(s):            1
    Stepping:             4
    CPU(s) scaling MHz:   56%
    CPU max MHz:          4800.0000
    CPU min MHz:          400.0000
    BogoMIPS:             5990.40
    Flags:                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge m
                          ca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 s
                          s ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc
                          art arch_perfmon pebs bts rep_good nopl xtopology nons
                          top_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq
                          dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma c
                          x16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt t
                          sc_deadline_timer aes xsave avx f16c rdrand lahf_lm ab
                          m 3dnowprefetch cpuid_fault epb intel_ppin ssbd ibrs i
                          bpb stibp ibrs_enhanced tpr_shadow flexpriority ept vp
                          id ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms
                           invpcid rdseed adx smap clflushopt clwb intel_pt sha_
                          ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect us
                          er_shstk avx_vnni dtherm ida arat pln pts hwp hwp_noti
                          fy hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pk
                          u ospke waitpkg gfni vaes vpclmulqdq rdpid bus_lock_de
                          tect movdiri movdir64b fsrm md_clear serialize arch_lb
                          r ibt flush_l1d arch_capabilities ibpb_exit_to_user
Virtualization features:
  Virtualization:         VT-x
Caches (sum of all):
  L1d:                    544 KiB (14 instances)
  L1i:                    896 KiB (14 instances)
  L2:                     18 MiB (9 instances)
  L3:                     24 MiB (1 instance)
NUMA:
  NUMA node(s):           1
  NUMA node0 CPU(s):      0-21
Vulnerabilities:
  Gather data sampling:   Not affected
  Itlb multihit:          Not affected
  L1tf:                   Not affected
  Mds:                    Not affected
  Meltdown:               Not affected
  Mmio stale data:        Not affected
  Reg file data sampling: Not affected
  Retbleed:               Not affected
  Spec rstack overflow:   Not affected
  Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prct
                          l
  Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointe
                          r sanitization
  Spectre v2:             Mitigation; Enhanced / Automatic IBRS; IBPB conditiona
                          l; RSB filling; PBRSB-eIBRS Not affected; BHI BHI_DIS_
                          S
  Srbds:                  Not affected
  Tsx async abort:        Not affected
  Vmscape:                Mitigation; IBPB before exit to userspace
adguard:~# lscpu
Architecture:             x86_64
  CPU op-mode(s):         32-bit, 64-bit
  Address sizes:          46 bits physical, 48 bits virtual
  Byte Order:             Little Endian
CPU(s):                   22
  On-line CPU(s) list:    3,4
  Off-line CPU(s) list:   0-2,5-21
Vendor ID:                GenuineIntel
  Model name:             Intel(R) Core(TM) Ultra 7 155H
    CPU family:           6
    Model:                170
    Thread(s) per core:   2
    Core(s) per socket:   16
    Socket(s):            1
    Stepping:             4
    CPU(s) scaling MHz:   71%
    CPU max MHz:          4800.0000
    CPU min MHz:          400.0000
    BogoMIPS:             5990.40
    Flags:                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc a
                          rt arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx1
                          6 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb intel_ppin ssbd ibrs ibpb
                           stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni x
                          saveopt xsavec xgetbv1 xsaves split_lock_detect user_shstk avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku osp
                          ke waitpkg gfni vaes vpclmulqdq rdpid bus_lock_detect movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities ibpb_exit_to_user
Virtualization features:
  Virtualization:         VT-x
Caches (sum of all):
  L1d:                    544 KiB (14 instances)
  L1i:                    896 KiB (14 instances)
  L2:                     18 MiB (9 instances)
  L3:                     24 MiB (1 instance)
NUMA:
  NUMA node(s):           1
  NUMA node0 CPU(s):      0-21
Vulnerabilities:
  Gather data sampling:   Not affected
  Itlb multihit:          Not affected
  L1tf:                   Not affected
  Mds:                    Not affected
  Meltdown:               Not affected
  Mmio stale data:        Not affected
  Reg file data sampling: Not affected
  Retbleed:               Not affected
  Spec rstack overflow:   Not affected
  Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:             Mitigation; Enhanced / Automatic IBRS; IBPB conditional; RSB filling; PBRSB-eIBRS Not affected; BHI BHI_DIS_S
  Srbds:                  Not affected
  Tsx async abort:        Not affected
  Vmscape:                Mitigation; IBPB before exit to userspace

Re,

C’est beaucoup mieux :slight_smile: et du coup le plugin donne quoi comme résultat ? Ca devrait aller plus loin : nouvelles logs ?

TiTidom.

Banco !

image

Simple et efficace :wink:

Merci encore à toi !

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.