실시간으로 필요한 매우 구체적인 iostat 출력

실시간으로 필요한 매우 구체적인 iostat 출력

어쨌든 iostat -m의 출력을 얻고 확장 출력에서 ​​대기 열만 실시간으로 추가할 수 있습니까? 이 질문이 말도 안 되는 소리라는 걸 알지만 파일로 출력하거나 iostat를 두 번 실행하지 않고도 모든 열을 실시간으로 가져올 수 있어야 합니다. 그렇게 하면 잘못된 결과가 나올 수 있기 때문입니다. Centos 6.2 iostat 9.0.4 입니다. 커널 2.6.36.4. 요약하자면 이것이 필요합니다.

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda               0.56         0.00         0.00        324        485

그리고 여기에 wait를 추가해야 다음과 같이 됩니다.

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn   await
sda               0.56         0.00         0.00        324        485   10.72

저 꿈꾸고 있나요? 내가 이것을 잘못 보고 있는 걸까요? 나만의 iostat를 컴파일해야 합니까?

미리 감사드립니다.

답변1

iostat원하는 형식을 얻는 방법을 잘 모르겠습니다 . 하지만 이러한 유형의 모니터링에 사용하는 도구는 관련 필드를 표시할 수 있도록 사용자 정의할 수 있습니다. 또한 재생 및 그래프 작성 목적으로 데이터를 생성하는 데에도 탁월합니다.

나는 사용한다모니터링 수집(yum을 통해 CentOS에서 사용 가능)디스크 검사 플래그당신에게 필요한 것을 제공해야합니다 :

collectl -sD --dskfilt sda

샘플 출력(인쇄된 단위와 열을 변경할 수 있음):

collectl -sD --dskfilt sdb
waiting for 1 second sample...

# DISK STATISTICS (/sec)
#          <---------reads---------><---------writes---------><--------averages--------> Pct
#Name       KBytes Merged  IOs Size  KBytes Merged  IOs Size  RWSize  QLen  Wait SvcTim Util
sdb              0      0    0    0     336      0   52    6       6     0     0      0    1
sdb             16      0    1   16     389      1   52    7       7     0     0      0    3
sdb              0      0    0    0    1236      9  109   11      11     0     0      0    0
sdb             16      0    1   16     676      3  140    5       4     0     1      1   14
sdb              0      0    0    0      64      1   16    4       4     0     2      1    2

답변2

bash에서 래퍼를 생성해 보는 것은 어떨까요?

한 줄짜리 버전은 다음과 같습니다.

iostat 1 2 | grep -w sda | tail -1 | awk {'print $7'}

그러면 iostat가 두 번 실행되고 올바른 wait 값(7번째 열)이 반환됩니다.

전체 CPU iowait를 얻기 위해 awk에 올바른 열을 전달하면 vmstat에서도 동일한 작업을 수행할 수 있습니다. 예를 들어 :

vmstat 1 2 | tail -1 | awk {'print $16'}

iostat와 vmstat는 Linux 배포판마다 다르므로 올바른 열을 선택해야 합니다.

답변3

이는 무닌, 그래파이트 등으로 모니터링할 수 있어야 할 것으로 보입니다.

편집하다: 시스템에 가 있는 경우 watch실행 사이에 지정된 간격을 두고 주어진(또는 무한 반복) 횟수만큼 자동으로 실행되도록 iostat를 설정할 수 있습니다! awk당신이 실제로 원하는 분야에서!

답변4

작성자가 실시간 정보를 찾고 있다면 원래 질문을 다시 읽으면 Collectl이 좋은 방법이라는 데 동의합니다. 그게 내가 쓴 이유야. ;)

데이터를 사용하여 수행하려는 특정 작업이 있는 경우 도움을 드릴 수 있지만 더 많은 정보가 필요합니다. 원하는 실시간 상태에 관해서는 원하는 1초 미만 모니터링 간격을 선택할 수 있습니다.

-표시

관련 정보