누군가가 기본 munin 그래프의“사용 사례”를 설명 할 수 있습니까?


9

munin을 설치하면 기본 플러그인 세트가 활성화됩니다 (적어도 우분투에서). 또는 munin-node-configure시스템에서 지원되는 플러그인을 파악하기 위해 간단히 실행할 수 있습니다. 이 플러그인의 대부분은 간단한 데이터를 보여줍니다. 내 질문은 하지 데이터 (음 ... 어쩌면 일부)의 성격을 설명하지만,하는 무엇을 당신이이 그래프에서 찾는 것입니다?

munin을 쉽게 설치하고 멋진 그래프를 볼 수 있습니다. 그러나 그래프를 가지고 있고 "읽을"능력이 없으면 완전히 쓸모가 없게됩니다.

시스템에서 기본적으로 활성화 된 표준 플러그인을 나열하겠습니다. 그래서 그것은 긴 목록이 될 것입니다. 완성도를 높이기 위해 내가 생각하는 플러그인을 나열하고 사용 용도에 대해 간단히 설명하겠습니다. 내가 잘못하면 탄원이 맞습니다.

이 질문을 세 부분으로 나누겠습니다.

  • 내가 데이터를 이해하지 못하는 플러그인
  • 데이터를 이해하지만 알아 두어야 할 것을 모르는 플러그인
  • 내가 생각하는 플러그인

내가 데이터를 이해하지 못하는 플러그인

여기에는 반드시 munin만을 목표로하는 것은 아닙니다. 데이터를 이해하지 못하면 일반적으로 운영 체제 / 하드웨어에 대한 기본 지식의 차이가 발생합니다. ....;) "giyf"답변으로 자유롭게 응답하십시오.

이것들은 내가 무슨 일이 일어나고 있는지 추측 할 수있는 플러그인 입니다 ... 나는이 "추측"을보고 싶지 않습니다 ...

  • 장치 당 디스크 IO (초당 IO)
    IO 란 무엇입니까? 나는 그것이 입 / 출력을 의미한다는 것을 알고 있습니다. 그러나 그것은 먼 길입니다.
  • 장치 당 디스크 대기 시간 (평균 IO 대기)
    "IO 대기"가 무엇인지 전혀 알지 못합니다 ...
  • IO 서비스 시간
    이것은 큰 혼란이며 그래프에서 무언가를 보는 것이 거의 불가능합니다.

데이터를 이해하지만 알아 두어야 할 것을 모르는 플러그인

  • IOStat (블록 / 초 읽기 / 쓰기)
    여기에서주의 할 점은 스파이크입니까? 장치가 많이 사용된다는 의미는 무엇입니까?
  • 사용 가능한 엔트로피 (바이트)
    이것이 난수 생성에 중요하다고 생각합니까? 왜 이것을 그래프로 표시합니까? 지금까지 값은 항상 일정했습니다.
  • VMStat (실행 / I / O 절전 프로세스)
    이 프로세스와 "프로세스"그래프의 차이점은 무엇입니까? 둘 다 실행 / 절전 프로세스를 표시하는 반면 "프로세스"그래프에 자세한 내용이있는 것 같습니다.
  • 장치 당 디스크 처리량 (바이트 / 초 읽기 / 쓰기)
    이 장치와 "IOStat"그래프의 차이점은 무엇입니까?
  • inode 테이블 사용법
    이 그래프에서 무엇을 찾아야합니까?

내가 생각하는 플러그인

여기 몇 가지를 추측 할 것입니다 ... 내가 틀렸다면 나를 바로 잡으십시오.

  • 디스크 사용량 (백분율)
    사용 / 잔여 디스크 공간. 이 수치가 100 %에 가까워지면 파티션 정리 또는 확장을 고려해야합니다. 이것은 루트 파티션에 매우 중요합니다.
  • 방화벽 처리량 (패킷 / 초)
    방화벽을 통과하는 패킷 수입니다. 이것이 오랫동안 스파이크 인 경우 DOS 공격의 징후 일 수 있습니다 (또는 우리는 단순히 큰 파일을 수신하고 있습니다). 방화벽 성능에 대한 아이디어를 제공 할 수도 있습니다. 수평을 맞추고 더 많은 "전력"이 필요한 경우로드 밸런싱을 고려해야합니다. 수평을 맞추고 CPU로드와 상관 관계가있는 경우 하드웨어가 충분히 빠르지 않을 수도 있습니다. 디스크 사용량과의 상관 관계는 FW 구성에서 과도한 LOG 대상을 가리킬 수 있습니다.
  • eth0 오류 (패킷 입 / 출력)
    네트워크 오류. 이 값이 증가하면 하드웨어 결함 일 수 있습니다.
  • eth0 트래픽 (비트 / 초 입출력)
    원시 네트워크 트래픽. 방화벽 처리량과 관련이 있어야합니다.
  • 스레드 수
    계속 증가하는 값은 스레드를 올바르게 닫지 않는 프로세스를 가리킬 수 있습니다. 조사하다!
  • 프로세스
    활성 프로세스의 분석 (수면 포함). 여기에서 빠른 스파이크는 포크 폭탄을 가리킬 수 있습니다. 느리지 만 계속 증가하는 값은 응용 프로그램이 하위 프로세스를 생성하지만 하위 프로세스를 올바르게 닫지 않음을 나타낼 수 있습니다. 을 사용하여 조사하십시오 ps faux.
  • 프로세스 우선 순위 프로세스 우선 순위
    의 분포를 보여줍니다. 우선 순위가 높은 프로세스 만 사용하는 것은별로 유용하지 않습니다. 우선 순위를 낮추는 것을 고려하십시오.
  • CPU 사용량
    상당히 간단합니다. 스파이크가 발생하면 공격이 진행 중이거나 프로세스가 CPU를 호그하고있는 것입니다. 정상적인 작동에서 천천히 증가하고 최대에 도달하면 하드웨어 업그레이드 (또는로드 밸런싱)를 고려해야합니다.
  • 파일 테이블 사용법 현재
    열려있는 파일 수입니다. 최대 값에 도달하면 프로세스가 열리지 만 파일이 제대로 해제되지 않을 수 있습니다.
  • 로드 평균
    시스템로드에 대한 요약 된 값을 표시합니다. CPU 사용량과 관련이 있어야합니다. 많은 소스에서 값이 증가 할 수 있습니다. 다른 그래프와의 상관 관계를 찾으십시오.
  • 메모리 사용량 메모리를
    그래픽으로 표현한 것입니다. 사용하지 않은 + 캐시 + 버퍼가 많은 한 괜찮습니다.
  • swap in / out
    스왑 파티션의 활동을 보여줍니다. 이 값은 항상 0이어야합니다.이 활동이 표시되면 시스템에 메모리를 추가해야합니다!

Cacti 및 기타 그래프 앱에 쉽게 적용 할 수있는 좋은 질문입니다. 그래프는 종종 좋아 보이지만 그 의미가 무엇인지, 그리고 더주의를 기울여야 할 것이 무엇인지 파악하기는 매우 어렵습니다.
dunxd

2
"왜 이것을 그래프로 나타내겠습니까? 지금까지 값은 항상 거의 일정했습니다." 대부분의 정보는 일반적으로 문제가있는 경우에만 가치가 있다는 점을 기억하십시오.
Steve Schnepp

답변:


11

장치 당 디스크 IO (초당 IO)

기존의 하드 드라이브에서는 매우 중요한 숫자입니다. I / O 작업은 디스크에 대한 읽기 또는 쓰기 작업입니다. 회전 스핀들을 사용하면 디스크 속도와 사용 패턴에 따라 초당 수십에서 약 200 IOPS를 얻을 수 있습니다.

현대 운영 체제에는 여러 I / O 요청을 하나로 병합하고 더 빠르게 처리하는 I / O 스케줄러가 있습니다. 또한 RAID 컨트롤러 등은 스마트 I / O 요청 재정렬을 수행합니다.

장치 당 디스크 대기 시간 (평균 IO 대기)

실제로 데이터를 받기 위해 개별 디스크에 대한 I / O 요청을 수행하는 데 걸린 시간입니다. 이것이 몇 밀리 초 정도면, 괜찮습니다. 수십 밀리 초이면 디스크 하위 시스템이 땀을 흘리기 시작합니다. 수백 밀리 초 이상이면 큰 문제가 있거나 적어도 매우, 매우 느린 시스템.

IO 서비스 시간

디스크 하위 시스템 (많은 디스크를 포함 할 수 있음)의 전반적인 성능

IOStat (블록 / 초 읽기 / 쓰기)

초당 읽기 / 쓰기 된 디스크 블록 수 스파이크와 평균을 찾으십시오. 평균이 디스크 하위 시스템의 최대 처리량에 근접하기 시작하면 성능 업그레이드를 계획해야합니다. 실제로, 그 시점 이전에 그렇게 계획하십시오.

사용 가능한 엔트로피 (바이트)

일부 응용 프로그램은 "true"임의의 데이터를 원합니다. 커널은 키보드 및 마우스 활동, 많은 마더 보드에서 발견되는 난수 생성기 또는 비디오 / 음악 파일 (비디오 엔트로피 및 오디오 엔트로피에서 가능)과 같은 여러 소스에서 '진정한'무작위성을 수집합니다.

시스템에 엔트로피가 부족하면 데이터를 얻을 때까지 해당 데이터를 원하는 응용 프로그램이 중지됩니다. 개인적으로 나는 Cyrus IMAP 데몬과 POP3 서비스에서 이런 일이 발생하는 것을 보았습니다. 각 로그인 전에 긴 임의의 문자열을 생성하고 엔트로피 풀을 매우 빠르게 소비하는 사용량이 많은 서버에서 생성했습니다.

이 문제를 해결하는 한 가지 방법은 응용 프로그램을 세미 랜덤 데이터 (/ dev / urandom) 만 사용하도록 전환하는 것이지만 더 이상이 주제에 속하지 않습니다.

VMStat (실행 / I / O 절전 프로세스)

이전에는 이것에 대해 생각하지 않았지만 이것은 프로세스 당 I / O 통계, 또는 주로 일부 I / O를 실행 중인지 여부와 I / O가 I / O 활동을 차단하는지 또는 아니.

장치 당 디스크 처리량 (바이트 / 초 읽기 / 쓰기)

이것은 순전히 초당 읽기 / 쓰기 된 바이트 수이며,보다 자주 이것은 블록 보다 사람이 읽을 수있는 형태로 다양 할 수 있습니다. 사용 된 디스크, 파일 시스템 (및 해당 설정) 등으로 인해 블록 크기가 다를 수 있습니다. 때때로 블록 크기는 512 바이트, 다른 경우는 4096 바이트, 때로는 다른 것입니다.

아이 노드 테이블 사용법

동적 inode (예 : XFS)가있는 파일 시스템에서는 아무것도 없습니다. 정적 inodes 맵 (예 : ext3)이있는 파일 시스템으로 모든 것. 정적 inode, 거대한 파일 시스템 및 수많은 디렉토리 및 작은 파일의 조합이있는 경우 이론적으로 사용 가능한 공간이 많이 남아 있어도 해당 파티션에서 더 많은 파일을 작성할 수없는 상황이 발생할 수 있습니다. 사용 가능한 inode가 없습니다 == 나쁨.


inode 사용을 고려합니다. 현재 ext4를 사용하고 있으며 해당 그래프의 최대 인도 및 오픈 아이 노드는 매우 가깝습니다 (열기 : 31.11k 테이블 크기 : 32.12k). 약 1k 아이 노드가 남게됩니다. 시스템이 새로 설치되었으므로 이것이 문제가된다고 생각하지 않습니다. ext4가 동적으로 inode를 할당합니까? 나는 구글에서 그것에 대해 아무것도 찾지 못했습니다 ...
exhuma

참조는 df -i, 그것은 당신에게 현재의 inode 사용량을보고합니다. ext4에는 고정 된 inode가 있습니다. 예를 들어 루트 파티션에 대한 Fedora 16 보고서rootfs 3276800 238083 3038717 8% /
Janne Pikkarainen

흠 ... 흥미 롭습니다. 이것은 munin 그래프가 올바르지 않음을 나타냅니다. 또한 munin 그래프에 하나의 값만 표시된다는 것을 알지 못했습니다. 파일 시스템 당 하나의 값을 표시하여 도움이되지 않아야합니까? 또한 참조 df -i스크린 샷 ( i44.tinypic.com/oixkiq.png munin - 그래프 대) ( i39.tinypic.com/dxl64z.png )
exhuma

... 그래프의 값 (25.57k)은 실제로 df출력 에 전혀 표시되지 않습니다 .
exhuma

추가 조사 결과, munin 플러그인 open_inodes이의 가치를 얻는 것으로 나타났습니다 /proc/sys/fs/inode-nr. 커널이며 파일 시스템 값이 아닙니다. 좀 더 인터넷 검색으로 나를 가리 습니다 inode-max. 그러나이 파일은 내 시스템에 없습니다. 더 이상 최신 커널에는 적합하지 않을 수 있습니까? 그러면 munin 인스턴스에서이 그래프를 제거 할 수 있습니다!
exhuma
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.