Aller au contenu

Scrutiny


Vista1967

Messages recommandés

Bonjour, quelqu'un peut-il m'aider à installer Scrutiny sur Docker ou Virtual machine manager ou peut-être qu'il y a un tuto, je n'ai rien trouvé sur le forum?

Storage Manager n'affichera plus les attributs S.M.A.R.T. après DSM 7.2.1-69057.

        Interface :  quelle interface vous utilisez pour créer votre conteneur : Docker par l'interface de DSM:  Container manager.

 

 

Merci d'avance pour votre aide!

Modifié par Vista1967
Lien vers le commentaire
Partager sur d’autres sites

@Lelolo

Je suis désolé mais je n'ai pas compris où j'ai fait une erreur, je ne parle pas très bien français ?

J'utilise principalement un traducteur pour communiquer sur le forum 🙂

Vous pouvez supprimer le sujet s'il n'est pas conforme aux règles.

Merci

Modifié par Vista1967
Lien vers le commentaire
Partager sur d’autres sites

Il faudra passer par la création d'un projet pour monter tes disques, la création d'un conteneur ne suffira pas, mon setup utilisé pour mon serveur Debian :

version: "2.1"
services:

   scrutiny:
      image: ghcr.io/analogj/scrutiny:master-omnibus
      container_name: scrutiny
      networks:
         - net-proxy
      cap_add:
         - SYS_ADMIN
         - SYS_RAWIO
      environment:
         - COLLECTOR_CRON_SCHEDULE=10 6 * * *
         - TZ=Europe/Brussels
      volumes:
         # config
         - /opt/scrutiny/config:/opt/scrutiny/config
         - /opt/scrutiny/influxdb:/opt/scrutiny/influxdb
         # system mounting
         - /run/udev:/run/udev:ro
      devices:
         # disks
         - /dev/sda:/dev/sda
         - /dev/sdb:/dev/sdb
         - /dev/sdc:/dev/sdc
         - /dev/sdd:/dev/sdd
         - /dev/nvme0:/dev/nvme0
         - /dev/nvme1:/dev/nvme1
      labels:
         # watchtower label only monitoring
         - "com.centurylinklabs.watchtower.enable=true"
      restart: unless-stopped
      
networks:

   net-proxy:
      external: true

A adapter à ton besoin, les disques (/dev/sdX) peuvent s'appeler différemment sur ton installation de DSM.
Concernant /opt/scrutiny/config, il faut transformer ça en /volume1/docker/scrutiny/config par exemple, même chose pour /opt/scrutiny/influxdb.

Lien vers le commentaire
Partager sur d’autres sites

@.Shad.

Excellent, c'est ce que je cherchais 🙂

Ce qui veut dire qu'une image linuxserver/scrutiny n'est pas nécessaire?

Je commencerai le projet demain et je vous ferai savoir comment j'avance.

Merci beaucoup!!!

Modifié par Vista1967
Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

Oui, j'ai fait un stack dans Portainer :

 scrutiny:
    container_name: scrutiny
    image: ghcr.io/analogj/scrutiny:master-omnibus
    cap_add:
      - SYS_RAWIO
      - SYS_ADMIN
    ports:
      - "6070:8080" # webapp
      - "8086:8086" # influxDB admin
    volumes:
      - /run/udev:/run/udev:ro
      - /volume1/docker/scrutiny/config:/opt/scrutiny/config
      - /volume1/docker/scrutiny/influxdb:/opt/scrutiny/influxdb
    devices:
      - /dev/nvme0:/dev/nvme0
      - /dev/nvme1:/dev/nvme1
      - /dev/sda:/dev/sata1
      - /dev/sdb:/dev/sata2
      - /dev/sdc:/dev/sata3
      - /dev/sdd:/dev/sata4
    environment:
      - SCRUTINY_WEB_INFLUXDB_TOKEN=TOKENPOUR SECURISER
      - SCRUTINY_WEB_INFLUXDB_INIT_USERNAME=username
      - SCRUTINY_WEB_INFLUXDB_INIT_PASSWORD=password
      - TIMEZONE=Europe/Paris
    restart: unless-stopped

 

Lien vers le commentaire
Partager sur d’autres sites

@Lelolo Quand tu écris :

/dev/sdd:/dev/sata4

/dev/sdd correspond au nom du disque sur le NAS, /dev/sata4 correspond au nom qu'il aura dans le conteneur.

Cette page pourra t'aider : https://github.com/AnalogJ/scrutiny/blob/master/docs/TROUBLESHOOTING_DEVICE_COLLECTOR.md
Personnellement, quand je tape sudo smartctl --scan sur mon NAS, j'ai un message d'erreur :

# scan_smart_devices: glob(3) aborted matching pattern /dev/discs/disc*

Je pense que ça vient d'une implémentation particulière des disques ou de smartd sur DSM.
Et donc, Scrutiny qui exécute aussi cette commande ne parvient pas à faire le scan des disques, il faut en conséquence indiquer à Scrutiny les disques à analyser.
Donc j'ai crée un fichier collector.yaml dans le dossier de config ("wgetable" ici : https://raw.githubusercontent.com/AnalogJ/scrutiny/master/example.collector.yaml)

Dans mon cas, les disques s'appellent sata1, sata2, sata3 et sata4. J'ai ajouté ce bloc en conséquence :

# This block allows you to override/customize the settings for devices detected by
# Scrutiny via `smartctl --scan`
# See the "--device=TYPE" section of https://linux.die.net/man/8/smartctl
# type can be a 'string' or a 'list'
devices:
   - device: /dev/sata1
     type: 'sat'
   - device: /dev/sata2
     type: 'sat'
   - device: /dev/sata3
     type: 'sat'
   - device: /dev/sata4
     type: 'sat'

et j'ai changé mon fichier compose car je n'ai plus besoin de translater les noms des disques :

[...]
      volumes:
         # config
         - /volume1/docker/scrutiny/config:/opt/scrutiny/config
         - /volume1/docker/scrutiny/influxdb:/opt/scrutiny/influxdb
         # system mounting
         - /run/udev:/run/udev:ro
      devices:
         # disks
         - /dev/sata1
         - /dev/sata2
         - /dev/sata3
         - /dev/sata4
[...]

Il faut laisser un peu de temps à Scrutiny au démarrage pour réaliser les scans, construire l'instance InfluxDB, et que l'API de Scrutiny soit opérationnelle, mais j'arrive au résultat voulu :

smartctl_scrutiny_1.png

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

Oui, mais mon disque s'appelle bien sdd sur le NAS :

Capturedcran2023-11-11120155.png.b5de21dc8e91bb103784f42873f99e3b.png

Et j'ai déjà un fichier collector à la racine du répertoire :
 

version: 1
host:
  id: "XXXXXXX"
devices:
  - device: /dev/sda
    type: 'sat'
  - device: /dev/sdb
    type: 'sat'
  - device: /dev/sdc
    type: 'sat'
  - device: /dev/sdd
    type: 'sat'
  - device: /dev/nvme0
    type: 'nvme'
  - device: /dev/nvme1
    type: 'nvme'

 

Lien vers le commentaire
Partager sur d’autres sites

C'est là que ça va pas, tu as des disques libellés sda, sdb, sdc et sdd sur ton NAS.
Mais dans ton fichier compose tu dis qu'ils doivent s'appeler sata1, sata2, sata3 et sata4 une fois chargés dans le conteneur.
Pourquoi pas, sauf que, dans ton fichier collector.yaml, tu spécifies des disques en sdX au lieu de sataX. Logiquement le collector ne trouve rien, lui il ne voit que des sataX.

Le plus simple est de déclarer dans ton fichier compose :

devices:
  - /dev/sda
  - /dev/sdb
  - /dev/sdc
  - /dev/sdd

Et ça devrait fonctionner.

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

Bon, j'ai toujours un problème.
Je suis reparti de zéro, et j'ai créé un stack conforme à ce que tu proposais, où je n'ai que les devices en dev/sdx.
Idem pour le collector, ou je les ai laissés en sdx, et où j'ai précisé "scsi" au lieu de "sat" au vu du libellé du résultat de la commande 'smartctl --scan'
Pour autant, comme à chaque fois, j'ai le statut des HDD en "Failed", et je dois effectuer la suite de commandes suivantes pour le récupérer en "Passed" :
 

Citation

# connect to scrutiny docker container
docker exec -it scrutiny bash

# install sqlite CLI tools (inside container)
apt update && apt install -y sqlite3

# connect to the scrutiny database
sqlite3 /opt/scrutiny/config/scrutiny.db

# reset/update the devices table, unset the failure status.
UPDATE devices SET device_status = null;

# exit sqlite CLI
.exit

Et ensuite, ils sont bien visibles mais avec le souci évoqué plus haut...

Plusieurs heures plus tard :
J'ai une piste, au moins pour l'explication de l'absence de remontées :

root@XXXX:~# smartctl --all /dev/sda
smartctl 6.5 (build date Sep 26 2022) [x86_64-linux-4.4.302+] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               WDC
Product:              WD40EFRX-68WT0N0
Revision:             0A80
User Capacity:        4,000,787,030,016 bytes [4.00 TB]
Logical block size:   512 bytes
Physical block size:  4096 bytes
LU is fully provisioned
Rotation Rate:        5400 rpm
Logical Unit id:      0xxxxxxxxx
Serial number:        WD-WCCxxxxx
Device type:          disk
Local Time is:        Sat Nov 11 14:22:29 2023 CET
SMART support is:     Unavailable - device lacks SMART capability.

=== START OF READ SMART DATA SECTION ===
Current Drive Temperature:     0 C
Drive Trip Temperature:        0 C

Error Counter logging not supported


[GLTSD (Global Logging Target Save Disable) set. Enable Save with '-S on']
Device does not support Self Test logging

En revanche je ne comprends pas pourquoi les 4 HDD ne sont pas compatibles smart, et comment modifier cela.
J'ai essayé de forcer :

root@XXXXX:~# smartctl --smart=on -T permissive /dev/sda
smartctl 6.5 (build date Sep 26 2022) [x86_64-linux-4.4.302+] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
unable to fetch IEC (SMART) mode page [unsupported field in scsi command]

Mais sans succès
 

Lien vers le commentaire
Partager sur d’autres sites

@Lelolo Essaie d'ajouter '-d sat' dans ta ligne de commande, je présume que ça a à voir avec le fait que tes disques soient reconnus comme des disques scsi, voir le sujet ici : 

En ce cas, le collector permet de personnaliser les arguments de la commande smartctl via metrics_scan_args :

# example to show how to override the smartctl command args globally
#commands:
#  metrics_smartctl_bin: 'smartctl' # change to provide custom `smartctl` binary path, eg. `/usr/sbin/smartctl`
#  metrics_scan_args: '--scan --json' # used to detect devices
#  metrics_info_args: '--info --json' # used to determine device unique ID & register device with Scrutiny
#  metrics_smart_args: '--xall --json' # used to retrieve smart data for each device.

mais tu seras coincé avec tes disques NVME du coup... ? ou alors un créer une deuxième instance de Scrutiny, et séparer les disques SATA des NVME.

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

@.Shad.Ta piste est bonne, car si je fais

smartctl -a /dev/sda -d sat

Concernant la personnalisation, j'ai vu ça :

# example to show how to override the smartctl command args (per device), see below for how to override these globally.
- device: /dev/sda
  commands:
    metrics_info_args: '--info --json -T permissive' # used to determine device unique ID & register device with Scrutiny
    metrics_smart_args: '--xall --json -T permissive' # used to retrieve smart data for each device.

Mais je ne vois pas bien comment le mettre en œuvre.

Lien vers le commentaire
Partager sur d’autres sites

@Lelolo J'aurais testé ça :

# example to show how to override the smartctl command args (per device), see below for how to override these globally.
- device: /dev/sda
  type: 'sat'
  commands:
    metrics_smart_args: '-d sat --xall --json -T permissive'
- device: /dev/sdb
  type: 'sat'
  commands:
    metrics_smart_args: '-d sat --xall --json -T permissive'
- device: /dev/sdc
  type: 'sat'
  commands:
    metrics_smart_args: '-d sat --xall --json -T permissive'
- device: /dev/sdd
  type: 'sat'
  commands:
    metrics_smart_args: '-d sat --xall --json -T permissive'
- device: /dev/nvme0
  type: 'nvme'
- device: /dev/nvme1
  type: 'nvme'

 

Lien vers le commentaire
Partager sur d’autres sites

Va falloir que je vois si j’ai bien toutes les infos via l’instance de scrutiny.

suite au tuto de cachem j’avais réussi à avoir des données smart en créant un fichier de configuration collector.yml que je n’avais pas fait avant lors de mes premiers essais il y a quelques mois.

en revanche j’ai mis ceci pour les ssd nvme :

 

/dev/nvme1n1
Lien vers le commentaire
Partager sur d’autres sites

Je reviens vous donner les infos 🙂

J'ai bien les infos des HDD qui remontent ainsi que celles des ssd NVMe.
Yy6tdcm.png
Par exemple, un des HDD (un vieux que j'ai mis en recyclage pour de la sauvegarde) :

pz2r0lP.png

 

Et un des deux NVMe que j'utilise en stockage (RAID1) :

gGWBRff.png

 

Tout semble donc OK.

@.Shad.

J'ai profité de ton compose pour ajouter au mien la variable CRON et le label pour watchtower que j'avais omis de mettre.

Est-ce que l'un de vous sais comment faire en sorte d'avoir les résultats d'un autre NAS sur la même page web ?
En gros récupérer les données d'une autre instance ?

 

Modifié par MilesTEG1
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.