项目地址:https://github.com/AnalogJ/scrutiny

安装Scrutiny

先建议两个文件夹,/opt/scrutiny/scrutiny/opt/scrutiny/influxdb

在MCSM中新建一个Docker实例,在实例配置的“容器化”标签页中填入以下信息:

Docker 镜像: ghcr.io/analogj/scrutiny:master-omnibus
开放端口:
    主机端口|容器端口|协议
    1080   |8080  |TCP
    1086   |8086  |TCP
额外挂载路径:
    主机目录                    |  容器目录
    /opt/scrutiny/scrutiny  |  /opt/scrutiny/config
    /opt/scrutiny/influxdb  |  /opt/scrutiny/influxdb

然后运行示例。

安装收集端

先安装sudo apt install smartmontools

在需要上报硬盘信息的机器上,从项目地址中下载对应的scrutiny-collector-metrics,并放置到/opt/scrutiny中,然后在MCSM中添加一个普通控制台实例,命令为:

/opt/scrutiny/scrutiny-collector-metrics run  --api-endpoint "http://your.scrutiny.com:1080"

注意修改api地址。

解决USB硬盘无法读取SMART信息

参考资料:https://35plus.eu.org/archives/usb-smartctl.html

执行lsblk查看所有的硬盘,然后使用smartctl --info /dev/sda依次查看每一个硬盘的SMART信息是否能正常读取。

对于usb硬盘,可能无法查看SMART信息。

先执行lsusb -tv

root@forillusion-Ubuntu:~# lsusb -tv
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 5000M
    ID 1d6b:0003 Linux Foundation 3.0 root hub
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
        ID 2109:0711 VIA Labs, Inc. VL711 SATA 6Gb/s bridge
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
        ID 2109:0711 VIA Labs, Inc. VL711 SATA 6Gb/s bridge
    |__ Port 3: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
        ID 05e3:0608 Genesys Logic, Inc. Hub
    |__ Port 4: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        ID 1a81:1202 Holtek Semiconductor, Inc. 
    |__ Port 4: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        ID 1a81:1202 Holtek Semiconductor, Inc. 
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub

VIA为易驱线设备。打开文件/etc/default/grub,找到GRUB_CMDLINE_LINUX,填入:

GRUB_CMDLINE_LINUX="usb_storage.quirks=2109:0711:"

其中2109:0711: 为使用lsusb查看到的VID:PID信息,即含有VIA的那一行中的信息。如果存在多个不同的VID:PID,则填入文件时用逗号分隔,例如2109:0711:,2109:0712:

然后执行update-grub,然后重启。重启后检查/sys/module/usb_storage/parameters/quirks内容是否与配置内容一致,然后执行smartctl看是否能成功读取SMART信息。

root@forillusion-Ubuntu:~# cat /sys/module/usb_storage/parameters/quirks
2109:0711:

循之际,如星夜般的幻想。