1. 背景

PrometheusとGrafanaの環境を改めて構築しようとして、S.M.A.R.Tで情報取得ができませんでした。

次回も同じように悩みそうだったので、記録します。

2. やり方

以下でパッケージをインストールします。

sudo apt install smartmontools

確認対象のディスクを調べます。

sudo fdisk -l

以下が表示されて、/dev/nvme0n1とわかります。なお、使用しているのは、NVMEのSSDです。

ディスク /dev/nvme0n1: 931.51 GiB, 1000204886016 バイト, 1953525168 セクタ
Disk model: CT1000P2SSD8
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 47FCC7D8-B40C-4E8F-B742-FDF477595379

情報を取得できます。

sudo smartctl -a /dev/nvme0n1
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.15.0-56-generic] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       CT1000P2SSD8
Serial Number:                      2221E634A078
Firmware Version:                   P2CR048
PCI Vendor/Subsystem ID:            0xc0a9
IEEE OUI Identifier:                0x00a075
Total NVM Capacity:                 1,000,204,886,016 [1.00 TB]
Unallocated NVM Capacity:           0
Controller ID:                      1
NVMe Version:                       1.3
Number of Namespaces:               1
Namespace 1 Size/Capacity:          1,000,204,886,016 [1.00 TB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            00a075 6400000155
Local Time is:                      Mon Jan 16 16:16:37 2023 JST
Firmware Updates (0x12):            1 Slot, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x005e):     Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Log Page Attributes (0x0e):         Cmd_Eff_Lg Ext_Get_Lg Telmtry_Lg
Maximum Data Transfer Size:         64 Pages
Warning  Comp. Temp. Threshold:     70 Celsius
Critical Comp. Temp. Threshold:     85 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     3.50W       -        -    0  0  0  0        0       0
 1 +     1.90W       -        -    1  1  1  1        0       0
 2 +     1.50W       -        -    2  2  2  2        0       0
 3 -   0.0700W       -        -    3  3  3  3     5000    1900
 4 -   0.0020W       -        -    4  4  4  4    13000  100000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         1
 1 -    4096       0         0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        40 Celsius
Available Spare:                    100%
Available Spare Threshold:          5%
Percentage Used:                    3%
Data Units Read:                    43,751,888 [22.4 TB]
Data Units Written:                 54,651,876 [27.9 TB]
Host Read Commands:                 184,247,657
Host Write Commands:                184,829,601
Controller Busy Time:               2,048
Power Cycles:                       97
Power On Hours:                     4,254
Unsafe Shutdowns:                   35
Media and Data Integrity Errors:    0
Error Information Log Entries:      166,207
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               52 Celsius

Error Information (NVMe Log 0x01, 16 of 16 entries)
Num   ErrCount  SQId   CmdId  Status  PELoc          LBA  NSID    VS
  0     166207     0  0xc012  0x4004      -            0     0     -
  1     166206     0  0xc011  0x4004      -            0     0     -
  2     166205     0  0x601b  0x4004      -            0     0     -
  3     166204     0  0x601a  0x4004      -            0     0     -
  4     166203     0  0x0000  0x4004      -            0     0     -
  5     166202     0  0xf003  0x4004      -            0     0     -
  6     166201     0  0xe001  0x4004      -            0     0     -
  7     166200     0  0xe000  0x4004      -            0     0     -
  8     166199     0  0xb010  0x4004      -            0     0     -
  9     166198     0  0xa013  0x4004      -            0     0     -
 10     166197     0  0xc003  0x4005      -            0     0     -
 11     166196     0  0xc002  0x4005      -            0     0     -
 12     166195     0  0x401b  0x4005      -            0     0     -
 13     166194     0  0x401a  0x4005      -            0     0     -
 14     166193     0  0x9011  0x4005      -            0     0     -
 15     166192     0  0x9010  0x4005      -            0     0     -

使用したExporter

以下を使用しました。

https://github.com/matusnovak/prometheus-smartctl

参考

使っていないけど、以下のNVMeに特化したExporterを使用するのでもいいのかも。

https://github.com/fritchie/nvme_exporter