Scrutiny Alternative?

Now the Scrutiny is no longer in development, is there other app to follow the smart status and age of the drives?

2 Likes

There’s Multi-report, a script that can schedule SMART tests for you and email you regular reports.

You can also continue to use Scrutiny if you like how it’s currently working for you, it’s not automatically broken because development has slowed.

5 Likes

The author has publicly stated in 2023 that he considers it feature-complete from his point of view but will continue to accept fixes and feature merge request.

So I really do not see much of a problem here.

Feel free to fork it any time :wink:

Actually there are a handful of candidates who might take over the project. See the linked issue above.

3 Likes

Multi report is slick. Fairly well documented. Easy to setup and run, very easy to update. It does nightly cleanup and reporting for you, and gives you plenty data to chew on every morning. Fantastic tool.

I’ll check into that, thanks.

1 Like

Well he certainly has an interesting definition of “feature complete” then, considering that the report buttons don’t work and just tell you the function is not yet implemented…

2 Likes

His prerogative :man_shrugging:

2 Likes

Scrutity has been forked and the new repo is actively maintained including new features like monitoring of ZFS pools in addition to SMART data.

Since the new repo is a plug in replacement for the old project, you can for example:

  • convert your installed app to a custom app (YAML) via the UI
  • change the image name
  • redeploy

Worked out of the box. Since I wanted to also play with the new ZFS feature I then copied the YAML, deleted the custom app, and redeployed everything in Dockge.

This is the result - you need to adapt the paths for the config and InfluxDB volumes to match your dataset topology and possibly the time zone.

services:
  scrutiny:
    cap_add:
      - AUDIT_WRITE
      - CHOWN
      - DAC_OVERRIDE
      - FOWNER
      - FSETID
      - KILL
      - MKNOD
      - NET_BIND_SERVICE
      - NET_RAW
      - SETFCAP
      - SETGID
      - SETPCAP
      - SETUID
      - SYS_CHROOT
    cap_drop:
      - ALL
    deploy:
      resources:
        limits:
          cpus: "2"
          memory: 4096M
    environment:
      COLLECTOR_API_ENDPOINT: http://127.0.0.1:8080
      NVIDIA_VISIBLE_DEVICES: void
      SCRUTINY_WEB_DATABASE_LOCATION: /opt/scrutiny/config/scrutiny.db
      SCRUTINY_WEB_INFLUXDB_HOST: 127.0.0.1
      SCRUTINY_WEB_INFLUXDB_PORT: "8086"
      SCRUTINY_WEB_LISTEN_HOST: 0.0.0.0
      SCRUTINY_WEB_LISTEN_PORT: "8080"
      TZ: Europe/Berlin
      UMASK: "002"
      UMASK_SET: "002"
      COLLECTOR_ZFS_CRON_SCHEDULE: 0 0 * * *
      COLLECTOR_ZFS_RUN_STARTUP: "true"
    group_add:
      - 568
    healthcheck:
      interval: 30s
      retries: 5
      start_interval: 2s
      start_period: 15s
      test:
        - CMD
        - curl
        - --request
        - GET
        - --silent
        - --output
        - /dev/null
        - --show-error
        - --fail
        - http://127.0.0.1:8080/api/health
      timeout: 5s
    image: ghcr.io/starosdev/scrutiny:latest-omnibus
    platform: linux/amd64
    ports:
      - mode: ingress
        protocol: tcp
        published: 31054
        target: 8080
      - mode: ingress
        protocol: tcp
        published: 31055
        target: 8086
    privileged: true
    restart: unless-stopped
    security_opt:
      - no-new-privileges=true
    stdin_open: false
    tty: false
    user: 0:0
    volumes:
      - bind:
          create_host_path: false
          propagation: rprivate
        read_only: true
        source: /dev
        target: /dev
        type: bind
      - bind:
          create_host_path: false
          propagation: rprivate
        read_only: false
        source: /mnt/nvme/apps/scrutiny/config
        target: /opt/scrutiny/config
        type: bind
      - bind:
          create_host_path: false
          propagation: rprivate
        read_only: false
        source: /mnt/nvme/apps/scrutiny/influxdb
        target: /opt/scrutiny/influxdb
        type: bind
      - bind:
          create_host_path: false
          propagation: rprivate
        read_only: true
        source: /run/udev
        target: /run/udev
        type: bind

Enjoy,
Patrick

7 Likes

Nice! I’ll open a ticket, maybe they can fix my SSD temps reporting to be -70C

1 Like

Do I need to do anything special if I’m using he Apps version?

Follow the directions in the post by @pmh

1 Like

To elaborate:

  • convert your installed app to a custom app (YAML) via the UI
  • change the image name from ghcr.io/analogj/scrutiny to ghcr.io/starosdev/scrutiny
  • redeploy

Or use Dockge or Portainer as preferred.

2 Likes

Small addition, I had to also change the version to

scrutiny:latest-omnibus
1 Like

Yeh, took me a while to understand, but workers out. Even had an update today :slight_smile: