모니터링 목적으로 SmartCTL을 사용하여 RAID에서 하드 디스크 상태를 가져오는 방법은 무엇입니까?

모니터링 목적으로 SmartCTL을 사용하여 RAID에서 하드 디스크 상태를 가져오는 방법은 무엇입니까?

3개의 하드 디스크를 실행하는 RAID가 있는 FreeBSD가 있습니다. RAID를 모니터링해야 하는 과제가 주어졌습니다. 하드 디스크에 오류가 발생하거나 문제가 발생하는 경우 알아야 합니다.

그래서 제가 지금 가장 먼저 하고 있는 일은 SmartCTL이 어떻게 작동하는지 이해하는 것입니다. 지금까지 제가 사용한 명령은 다음과 같습니다.

smartctl --scan -j - To scan my devices and generated a JSON Structured list.
smartctl -i /dev/device_name - To list informations about a single device
smartctl -a /dev/your-device - More information like errors and etc (I think i can use this in some way to grep only errors sections...)

디스크가 쓰기 가능하고, 살아 있고, 상태가 정상인지 확인하는 SmartCTL의 다른 매개 변수가 있습니까?

이러한 이해의 주요 목적은 주로 SmartCTL을 사용하여 Zabbix 모니터링 소프트웨어용 저수준 검색 기능이 있는 pfSense RAID 모니터링 템플릿에 사용될 데이터를 생성하는 것입니다...

도움을 주시면 감사하겠습니다.

답변1

smartctl --isDiskOK /dev/sda좋아요, 대답하자면 – 제가 아는 한 당신이 취할 수 있는 접근 방식 은 없습니다 .

가장 가까운 smartctl을 사용하면 재할당된 섹터 수에 대한 보고서를 볼 수 있습니다. 자세히 설명하지는 않겠지만 기본적으로 디스크에 오류가 발생하기 시작하면 읽기/쓰기가 어려운 섹터가 예비 섹터로 재배치됩니다. 더 많은 재할당이 발생하면 드라이브가 완전히 중단될 가능성이 더 커진다는 의미입니다.

  1. Zabbix는 다음 사용자 매개변수를 활용할 수 있습니다.
$ sudo cat /etc/zabbix/zabbix_agent2.d/userparameter_hdd.reallocated.sectors.conf
# get current HDD reallocated sectors count && needs sudoers
UserParameter=hdd.reallocated.sectors[*],sudo smartctl -a /dev/$1|grep Reallocated_Sector_Ct|awk '{print $$10}'
  1. 다음 항목을 사용하여 zabbix 템플릿을 만듭니다. 여기에 이미지 설명을 입력하세요

  2. 사용자 zabbix가 sudoers를 통해 smartctl을 실행할 수 있도록 허용합니다.

$ sudo grep zabbix /etc/sudoers.d/*
/etc/sudoers.d/zabbix:zabbix  ALL=NOPASSWD:/usr/sbin/hddtemp, /usr/sbin/smartctl, /usr/bin/fping
  1. 모니터링되는 호스트에 템플릿 할당 + zabbix_agent를 다시 시작하여 구성 로드 - 항목이 재할당된 섹터 수로 채워져야 합니다.

  2. 이익.. :)

어쨌든 zabbix 템플릿은 내 GitHub에서도 사용할 수 있습니다.https://github.com/RipperSK/zabbix-user-params/blob/master/hdd.real located.sectors/userparameter_hdd.real located.sectors.conf

즐기다.

관련 정보