Skip to content

Scrutiny in Docker on a Synology NAS

UpdateDate
New guide published28/07/2022
AnalogJ has been busy notification settings updated05/08/2022


What is Scrutiny?

Scrutiny is a Hard Drive Health Dashboard & Monitoring solution, merging manufacturer provided S.M.A.R.T metrics with real-world failure rates.

Let’s Begin

In this guide I will take you through the steps to get Scrutiny up and running in Docker.

In order for you to successfully use this guide please set up your Docker Bridge Network first.

Scrutiny currently cannot be setup via the DSM Docker UI, so we will be using Docker Compose to get things up and running, this is not as complicated as it seems.

Getting our drive details

We need to get some details about our drives in order for Scrutiny to read their SMART data.

It’s time to get logged into your Diskstation via SSH, in this guide I am using Putty on Windows.

Head into the DSM Control Panel > Terminal & SNMP and then enable SSH service.

Open up ‘PuTTY’, the only thing you need to enter is the IP address of your NAS and select the SSH radio button.

Click on ‘Open’, you will get a prompt asking if you trust the key, if this is the first time you have used SSH, just press OK or accept.

Enter the login information for your main Synology user account, you will not be able to see the password as you type it. (If you are using a password manager right-clicking in the window will paste – you won’t be able to see it)

Now we are logged in we just need to do a single command to see our drives, note I am not prefacing this command with sudo as we don’t need the low level detail.

fdisk -l

The output you will see depends on the model NAS you own, the two examples below are from an 1821+ and an 1815+ which have 8 bays and the 1821 has up to 2 NVMEs.

The 1815+ has 8 drives broken down from sda to sdh

The 1821+ has 8 drives broken down into SATA and NVME devices, sata1 to sata8 with the single nvme0n1.

Make note of the devices you see in your output as we will need them for the config file and compose.

Config Files and Folders

Next let’s create the folders the container will need. Head into FileStation and create a subfolder in the ‘docker’ share called ‘scrutiny’ and then within that another called ‘influxdb’ it should look like the below.

Next comes the config files, I am going to use the Text Editor from the Package Center for this step.

Open up a new text document and paste one of the two code snippets below into it. Use the one that matches up with the way your drives are shown in the previous step (if you come across anything different let me know in the comments!)

Type 1

version: 1
devices:
  - device: /dev/sata1
    type: 'sat'
  - device: /dev/sata2
    type: 'sat'
  - device: /dev/sata3
    type: 'sat'
  - device: /dev/sata4
    type: 'sat'
  - device: /dev/sata5
    type: 'sat'
  - device: /dev/sata6
    type: 'sat'
  - device: /dev/sata7
    type: 'sat'
  - device: /dev/sata8
    type: 'sat'
  - device: /dev/nvme0n1
    type: 'nvme'

Type 2

version: 1
devices:
  - device: /dev/sda
    type: 'sat'
  - device: /dev/sdb
    type: 'sat'
  - device: /dev/sdc
    type: 'sat'
  - device: /dev/sdd
    type: 'sat'
  - device: /dev/sde
    type: 'sat'
  - device: /dev/sdf
    type: 'sat'
  - device: /dev/sdg
    type: 'sat'
  - device: /dev/sdh
    type: 'sat'

You will need to edit the config file in line with the number of drives you had in the output earlier either adding or removing lines accordingly, including adding or removing the NVME drives.

Next you can save this file as ‘collector.yaml’ in the ‘/docker/scrutiny’ folder.

Notifications Config (optional)

This step is optional and depends on if you want to set up some notifications in case one of your drive has issues.

As of writing there are 14 different notification method, as you can imagine I cannot cover every single type in this guide, but this will get the config file in place for you to amend based on your preferences

Open up a new file Text Editor again, this time you need to copy and paste the full contents of the example config file located here

Scroll to the bottom of the file where you will see a number of config options for notifications. You will need to the remove the # from the ‘notify’ and ‘urls’ lines and then depending on which type of notification you decide to set up the # will need to be removed from the corresponding line.

The types of notification you receive can be set up in the WebUI once Scrutiny is up and running.

Removing the # from the required lines

Finally, save this file as ‘scrutiny.yaml’ into the /docker/scrutiny folder.

Docker Compose File

We will be using Docker Compose to set up the container. In a nutshell we will be creating a text file (YAML formatted) which tells Docker exactly how we want it set up.

Open up a new file in Text Editor again and copy the code below into it.

version: "3.8"
services:
  scrutiny:
    container_name: scrutiny
    image: ghcr.io/analogj/scrutiny:master-omnibus
    cap_add:
      - SYS_RAWIO
    ports:
      - "6090:8080" # webapp
      - "8086:8086" # influxDB admin
    volumes:
      - /run/udev:/run/udev:ro
      - /volume1/docker/scrutiny:/opt/scrutiny/config
      - /volume1/docker/scrutiny/influxdb:/opt/scrutiny/influxdb
    devices:
      - /dev/nvme0n1:/dev/nvme0n1
      - /dev/sata1:/dev/sata1
      - /dev/sata2:/dev/sata2
      - /dev/sata3:/dev/sata3
      - /dev/sata4:/dev/sata4
      - /dev/sata5:/dev/sata5
      - /dev/sata6:/dev/sata6
      - /dev/sata7:/dev/sata7
      - /dev/sata8:/dev/sata8
    network_mode: synobridge
    restart: unless-stopped

As you can see the devices section contains all our drives, you will need to amend this again in line with the config file you created earlier. You will need to amend the paths each side of the : so they match, adding or removing drives accordingly including the NVMEs.

e.g., /dev/sata1:/dec/sata1 or /dev/sda:/dev/sda and so on.

Once you have made the edits save this file as ‘scrutiny.yml’ in ‘/docker/scrutiny’

SSH and Docker-Compose

We are now on the final section, you can now log back into your NAS via SSH again.

Once you have logged in you will need to give 2 commands, you can copy and paste these one at a time — you will need to enter your password for the command starting with ‘sudo’

First we are going to change directory to where the scrutiny.yml is located, type the below and then press enter.

cd /volume1/docker/scrutiny

Then we are going to instruct Docker Compose to read the file we created and complete the set-up of the container. Again type or copy the below and press enter.

sudo docker-compose -f scrutiny.yml up -d

When the command has completed you should be able to see Scrutiny running in the list of containers in the Synology GUI.

You should now be able to access the Scrutiny WebUI by going to your NAS IP followed by port 6090

e.g., 192.168.0.30:6090

Congrats you are all set up – scrutiny should show all your attached drives you can view the various details and amend your UI settings to your preferences.



Throw me some bits or buy me a coffee?

If you have found my site useful please consider pinging me a tip as it helps cover the cost of running the site, you can even buy me a coffee 🙂

Buy Me A Coffee
Doge / Ethereum / Bitcoin
Published inDockerSynology

4 Comments

  1. analogj analogj

    Hey,

    Thanks for this great guide for getting Scrutiny running on Synology.

    With your approval, I’d like to add it to my https://github.com/AnalogJ/scrutiny/blob/master/docs/SUPPORTED_NAS_OS.md document.

    Also, the notify.levels and notify.filter_attributes config file options have been deprecated as of v0.5.0 – but they can now be set in the UI.

    Thanks again for writing this great guide!

    • Dr_Frankenstein Dr_Frankenstein

      Awesome, definitely OK for the link, I will get the notification section updated shortly!

  2. Roger Roger

    Hi Dr_Frankenstein,

    Two questions for you, I hope you’ll be able to help me with.

    Is there a way to add an expansion unit the Scrutiny? (Synology DX-1215)
    Is it possible to also monitor RAM modules?

    Also, FYI (and possibly edit on this webpage), I had to remove the line:
    “- /dev/nvme0n1:/dev/nvme0n1” from the docker-compose file to get Scrutiny to work.

    Thanks for all your awesome work and easy to follow guides!! I’ll buy you a couple of coffees 😉

    Warm regards,
    Roger

    • Dr_Frankenstein Dr_Frankenstein

      Hey – I have made a small tweak to the sentences to make it clearer to add or remove the NVMEs

      You can be my Guinea Pig for the expansion unit as I don’t have one to test. Can you copy the output of the ‘fdisk -l’ command and share it on my pastebin https://paste.drfrankenstein.co.uk/ – put the link here in the comments.

      Scrutiny can’t test RAM modules it’s purely disks.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

drfrankenstein.co.uk – writing Synology Docker Guides since 2016 – Join My Discord!