디스크가 가득 찰 때까지 일 계산


9

시간이 지남에 따라 디스크 사용 내역을 추적하기 위해 흑연을 사용합니다. 경고 시스템은 여유 공간이 특정 블록 수 아래로 떨어질 때 그래파이트의 데이터를 확인하여 경고합니다.

더 똑똑한 알림을 받고 싶습니다. 제가 정말로 염려하는 것은 "여유 공간에 대해 무언가를해야하기 전에 얼마나 오래 걸립니까?"입니다. 예를 들어 추세가 7 일 안에 디스크가 부족하다는 것을 보여주는 경우 space 다음에 경고를 발생시킵니다. 2 일 미만이면 오류를 발생시킵니다.

Graphite의 표준 대시 보드 인터페이스는 파생 상품 및 Holt Winters Confidence 대역에서 매우 영리 할 수 ​​있지만 지금까지는이를 실행 가능한 메트릭으로 변환 할 수있는 방법을 찾지 못했습니다. 또한 다른 방법으로 숫자를 처리하는 것이 좋습니다 (흑연에서 원시 숫자를 추출하고 스크립트를 실행하면됩니다).

한 가지 복잡한 점은 그래프가 부드럽 지 않다는 것입니다. 파일이 추가 및 제거되지만 시간이 지남에 따라 일반적인 추세는 디스크 공간 사용량이 증가하는 것이므로 로컬 최소값을 확인해야 할 수도 있습니다 ( "디스크없는"메트릭을 보는 경우). )와 여물통 사이의 추세를 그립니다.

누구든지 이것을 했습니까?


인프라가 무엇입니까? 예를 들어 vmware 하우스 인 경우 디스크 공간에서 이러한 종류의 예측보기를 수행하는 Operations Manager 제품을 볼 수 있습니다.
Chopper3

The volume of crap people have to store will expand to fill the disk available.
-Old

IBM 서버는 IBM XIV 디스크를 사용하는 VMware VM과 로컬 SD를 사용하는 KVM으로 구분됩니다. 우리가 그런 종류의 정보에 액세스 할 수 있을지 확신하지 못합니다 (팀이 VMware 또는 XIV를 관리하지 않음). 제품 독립적 솔루션을 선호합니다.
Amos Shapira

답변:


8

솔직히 "Days Until Full"은 어쨌든 엄청나게 큰 지표입니다. 파일 시스템은 100 % 활용률에 도달 할 때 정말 안정적입니다.
나는 전통적인 85 %, 90 %, 95 % 임계 값 (각각 경고, 경보 및 수정해야 할 중요 사항)을 사용하는 것이 좋습니다. 이렇게하면 최신 디스크에 많은 경고 시간이 주어집니다 (1TB 드라이브 : 테라 바이트의 85 %는 여전히 많은 공간을 남겨두고 있지만 잠재적 인 문제를 알고 있습니다. 90 %는 디스크 확장 또는 기타 완화를 계획하고 있으며, 테라 바이트의 95 %는 당신은 50GB가 남았고 움직임에 잘 맞아야합니다.)

또한 파일 시스템이 최적의 성능을 발휘할 수 있도록합니다. 대용량 파일을 생성 / 수정 / 이동할 수있는 충분한 여유 공간이 있습니다.

디스크가 최신이 아닌 경우 (또는 사용 패턴에 디스크에 더 많은 양의 데이터가 발생하는 경우) 임계 값을 쉽게 조정할 수 있습니다.


"완료일까지"메트릭을 사용하여 설정 한 경우 흑연에서 데이터를 추출하고 수학을 수행 할 수 있습니다. IBM의 모니터링 도구는 전체 며칠 전까지 전체 메트릭 을 구현하여이를 구현하는 방법에 대한 아이디어를 제공 할 수 있지만 기본적으로 히스토리에서 두 지점 사이의 변화율을 고려하고 있습니다.

정신 건강을 위해 Graphite의 파생 상품 (시간에 따른 변화율을 제공 할 것입니다)을 사용하여 프로젝트를 사용할 수 있지만 "스마트 한"경고를 원한다면 매일 및 매주 변화율 (계산 됨)을 사용하는 것이 좋습니다 일 / 주 최대 사용량을 기준으로).

사용하는 특정 예측 (가장 작은 변화율, 가장 큰 변화율, 평균 변화율, 가중 평균 등)은 환경에 따라 다릅니다. IBM의 도구는 다양한 크기의보기를 제공합니다. 단 하나의 크기에 맞는 패턴을 만들기가 어렵 기 때문입니다.


궁극적으로 원하는 종류의 계산을 수행하는 데 유용한 알고리즘은 없습니다. 디스크 활용은 사용자에 의해 주도되며 사용자는 Rational Actor 모델의 대립입니다. 모든 예측은 오늘 한 사람이 오늘 자신의 시스템 메모리 덤프를 수행 할 날이라고 결정하는 한 미친 사람으로 창 밖으로 나갈 수 있습니다. 홈 디렉토리. 으니까.


통찰력에 감사드립니다. 당신의 요점을 참조하십시오. 나는 여전히 일정한 임계 값이 "얼마나 오래 치료해야합니까?"를 반영하려고 노력한다고 생각합니다. "임계 값 조정"의견으로 다소 입증됩니다. 원래 그래프가 매끄럽지 않기 때문에 간단한 흑연 파생물이 작동하지 않습니다. IBM 툴에 대한 포인터에 대해 감사드립니다. 내가 생각하기 시작한 것과 같은 소리를 설명합니다 (마지막 두 최소값을 추출하고 그로부터 기울기를 계산하십시오).
Amos Shapira

'일수부터 전체까지'측정 항목의 요점은 정적 85/90/95 임계 값으로 디스크가 얼마나 빨리 채워지는지 전혀 모른다는 것입니다. 물론, 당신은 잠재적 인 문제에 대해 알고 있지만 문제를 해결하기 위해 며칠 또는 몇 주 / 달이 있는지 어떻게 알 수 있습니까?

나는 당신이이 의견을 가지고 있다는 것이 정말 흥미 롭습니다. 이런 방식으로 프레임을 만들어 보겠습니다. 귀사에 하드 드라이브가 실제로 박스에 설치되고로드 재분배가 시작되는 날까지 더 많은 하드 드라이브에 대한 초기 요청 사이에 약 6 주가 소요되는 조달 프로세스가 있습니다. 디스크를 제 시간에 설치할 수 있으려면 어떤 디스크 %에 6 주 기간이 필요합니까? 80 %? 75 %? 문제는 실제로 성장률을 계산하기 위해 노력하지 않으면 알 수 없다는 것입니다.
JHixson

2

우리는 최근에 선형 회귀를 사용하여이를위한 맞춤형 솔루션을 출시했습니다.

우리 시스템에서 디스크 소진의 주요 원인은 회전하지 않는 흩어진 로그 파일입니다.

이러한 매우 예측 성장하기 때문에, 우리는 디스크 사용률에 대한 선형 회귀 분석을 수행 할 수 있습니다 (예 z = numpy.polyfit(times, utilization, 1)) 다음 선형 모델 주어진 100 % 마크를 계산 (예 (100 - z[1]) / z[0])

배포 된 구현과 같은 모양 사용 루비와 GSL하지만 NumPy와 작품을 아주 잘 너무.

90 분 간격 (112 포인트)으로 일주일 동안의 평균 사용률 데이터를 제공하면 지금까지 너무 많은 소음없이 디스크 고갈 가능성이있는 후보를 찾을 수있었습니다.

요지의 클래스는 스카우트에서 데이터를 가져 와서 느슨해 지도록 경고하고 런타임 원격 측정치를 statsd로 보내는 클래스로 래핑됩니다. 인프라에 따라 다르기 때문에이 부분을 그대로 두겠습니다.


이제 정보를 배포 했으므로 정보를 일부 업데이트했습니다.
matschaffer

1
이 접근법으로 재미있는 재미를 발견했습니다. 우리는 또한 90 % 경보가 있습니다. 호스트 중 하나가 점차 커져서 90 %에 도달했으며 100 %에 도달하기 전에 일주일 이상이 있었음에도 불구하고 알람을 발생 시켰으므로 예측 경보가 발생하지 않았습니다 (90 - z[1]) / z[0].
matschaffer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.