Trans:Munin

Gentoo Korea Wiki
Darkcircle (토론 | 기여)님의 2013년 6월 21일 (금) 02:14 판 (→‎USE 플래그)
둘러보기로 가기 검색하러 가기

Munin

Munin은 리소스 상태를 분석을 돕고 성능을 저하하는 요소가 무엇인지에 대한 문제를 보여주는 네트워크 자원 감시 도구 입니다.

Munin은 상하위 노드 구조로 구현했습니다. 특정 상위 노드는 수많은 하위 노드로 구성되어 있습니다. 상위노드는 하위 노드에서 데이터를 수집하며 HTML 출력을 제공합니다. 보통 이러한 상태데이터는 웹서버에서 접근 가능한 디렉터리에 위치하며 웹 브라우저에서 볼 수 있습니다.

USE 플래그

Munin에서 사용할 USE 플래그는 특이한 방법으로 다룹니다. 대부분의 플래그는 상위 노드보다는 (약간 더 혹은 덜 명백하게 예외적으로) 하위노드에 관련되어 있습니다. 그러면서 필요한 의존성을 가지고 오도록 설계했습니다. 플래그를 비활성화 하면 플러그인을 패키지에서 제거하지 않을 것이며, 이는 Munin을 다시 빌드하지 않으면 소프트웨어를 동작하게 하는 의존성을 붙이는데 충분하지 않다는 의미가 됩니다. 이(플래그 지정 상태)는 플러그인이 보통 어떤 의존성을 지니느냐에 따라 정적인 상태를 지니기 때문에 빌드 초기에 의존성을 결정합니다.

언급 할 수 있는 예외가 있다면 java USE 플래그인데 실제로 몇가지 플러그인을 없앱니다. 간단한 이유를 대보자면 동작할 플러그인에 대해 Munin의 일부인 JAR 라이브러리가 필요하며, 이들은 java 플러그인을 활성화 했을 때만 만들어집니다. 따라서 패키지를 다시 빌드 할 때 이걸 그대로 활성화하거나 비활성화 해야 합니다.

USE 플래그 기본 추천 설명
asterisk 없음 Asterisk 를 감시하는데 필요한 패키지를 설치함. 그 어떤 플러그인 파일도 제거하지 않으려면 이 플래그를 비활성화 하십시오.
doc Yes Yes 전체 소프트웨어에서 출력하는 로컬 복사본 HTML 문서를 만들고 설치합니다. 문서 원본을 처리하는데 dev-python/sphinx 가 필요합니다
irc No IRC를 감시하는데 필요한 패키지를 설치합니다. 그 어떤 플러그인 파일도 제거하지 않으려면 비활성화 하십시오.
java No JMX 호환 프로그램을 감시하려 자바 기반 플러그인을 만듭니다. jmx 모니터링 플러그인을 제거하려면 비활성화 하십시오
memcached No memcached를 감시하는데 필요한 패키지를 설치합니다. 그 어떤 플러그인 파일도 제거하지 않으려면 비활성화 하십시오.
minimal No munin-node와 플러그인만을 설치합니다. 웹페이지와 그래프를 생성하는 스크립트는 제외합니다.
mysql No MtySQL을 감시하는데 필요한 패키지를 설치합니다. 그 어떤 플러그인 파일도 제거하지 않으려면 비활성화하십시오.
postgres No PostgreSQL을 감시하는데 필요한 패키지를 설치합니다. 그 어떤 플러그인 파일도 제거하지 않으려면 비활성화하십시오
ssl No No 보안 소켓 계층(SSL) 연결 지원을 추가합니다.
cgi Yes No 실시간으로 웹페이지와 그래프를 생성하는 CGI 호환 스크립트를 설치합니다. minimal USE 플래그를 비활성화 했을때만 의미가 있습니다.
ipv6 No Yes munin-node에 IPv6지원을 추가합니다. 상위 노드로의 IPv6 지원은 항상 활성화 상태입니다. 그러나 하위 노드에 대해서는 IPv6 소켓 감청을 위해 dev-perl/net-server 최신 버전이 필요합니다.
ssl Yes Yes syslog에 기본적으로 로그온하는 노드를 설정합니다. virtual/perl-Sys-Syslog가 버전 2.0.2 정도 있어야 합니다. 상위 노드의 스크립트는 syslog가 아닌 파일로만 기록을 남깁니다

설치와 설정

Munin 설치는 net-analyzer/munin 패키지 하나만 설치하면 되므로 꽤 쉬우며 기본적으로 추가 플러그인 이상의 것은 들어있지 않습니다.


코드 예제 2.1: munin 설치 요소 확인
root # emerge --ask munin


그러나 munin은 기본적으로 두가지 요소 - 상위 노드와 하위 노드 - 로 구성되어 있기에 위 상자에 주어진 요소중에 설정하려는 요소가 무엇인지를 먼저 결정해야 합니다.


참고: 어떤 설정은 sudo 명령으로 실행해야 합니다. 이런 조치가 필요한 이유는 기본적으로 플러그인과 상위노드 스크립트를 munin 사용자 권한으로 실행하기 때문입니다. 적당하게 설정하면 su 명령을 실행하는 대신에 더 쉽게 처리할 수 있습니다


노드 (클라이언트)

Munin 노드는 여러가지 스크립트(플러그인이라고 칭함)의 결과를 보고하는 작업을 합니다. 갖춰진 형식으로 보고 데이터가 구성되어 있어 상위노드에서 값을 기록할 수 있고 보고서를 만들 수 있습니다. 보통 여러분이 감시하려는 대로 각각의 상자에서 하나의 상위 노드를 포함한 하나의 하위 노드를 설정 하게 됩니다.

보고서를 작성하지 않고 데이터를 가져오는 단일 노드를 설정하려면 minimal USE 플래그를 활성화 하는것을 추천합니다. 이렇게 하면 net-analyzer/rrdtool이라고 하는 것에대해 상위 노드에만 영향을 주는 수많은 추가 의존성을 막을 수 있습니다. minimal을 비활성화 하면 cgi도 비활성화 해야 하는데 이 플래그는 2.0.2버전부터 기본 플래그로 지정되어 있습니다.


코드 예제 2.1.1: /etc/portage/package.use
net-analyzer/munin minimal -cgi


이 노트는 보통 Gentoo에 한해 특정 일부 설정에 대해 필요한건 아니므로, 업스트림의 메뉴얼을 따르는 것이 좋습니다. 보통 시스템에서 사용할 수 있는 모든 플러그인알 활성화하려 munin-node-configure 명령을 사용할 수 있습니다. 어떤 데이터는 관심거리가 아닐수도 있으며 실행했을 경우 시스템에 불러와서 추가할 수 있기에 추천요소는 아닙니다.

어떤 플러그인을 활성화 했는지 확인하려면 다음 명령을 사용할 수 있습니다.


코드 예제 2.1.2: 플러그인 활성화 상태 확인
root # sudo -u munin munin-node-configure --shell


설치한 플러그인 중 어떤 플러그인은 의존성 요소가 빠져 동작하지 않을 수도 있습니다. 더 자새한 정보를 보시려면 USE 플래그 설명을 확인하십시오

선택한 요소가 맞는것 같다면 다음 명령을 사용하여 스크립트를 실행하거나, 원하는 플러그인을 직접 링크걸 수 있습니다.


코드 예제 2.1.3: 플러그인 연결
root # sudo -u munin munin-node-configure --shell


마지막으로 서비스를 시작하고 자동으로 시작하도록 설정하면 됩니다.


코드 예제 2.1.4: 서비스 시작 및 자동 시작 설정
root # /etc/init.d/munin-node start
root # rc-update add munin-node default