네트워크 모니터링 소프트웨어 cacti와 플러그인 사용하기

좀 더 가다듬고 공개하려 했는데 귀찮아서.. cacti 짱!

이 글은 cacti를 통해 모니터링을 할 때 각종 plugin을 붙여서 사용할 경우에 대해 적었습니다만, 저도 아직 완전히 설정한게 아니라서요.

1. http://cacti.net/
2. http://cactiusers.org/

cacti에 대한 모든 것이 저 두 곳에 있다.

일단 간략히 적으면

1. 압축풀면 땡, 패키지를 쓰는 것도 좋지만 페도라 패키지를 사용해 설치했더니 보안상의 문제인지 뭔지 모르겠으나 host alive를 ping 때려서 확인하는 기능이 삭제되어있다. 소스 설치 하자. 어차피 이런 소프트웨어는 소프트웨어로 설치하나 패키지로 설치하나 큰 차이 없다.

2. mysql 설정 알아서 하시고. 나는 phpMyAdmin에서 cacti 사용자를 만들면서 같은 이름의 데이타베이스를 만들었고, 인코딩은 페도라 5의 기본값인 latin1_swedish_ci로 했는데 utf8_general_ci로 해도 상관 없는듯(아니 더 권장되려나?)

2.5 rra 디렉토리를 777로 맞추니까 그래프 생성 잘 된다. cacti 권한으로 파일을 못 써서 일일이 debug 모드로 확인해가며 rra 수동으로 생성했던 굴욕의 나날..

3. 보면 rrd 그래프에서 한글이 깨지는데
include/config.php 에

putenv(“LANG=ko_KR.UTF-8”);

를 추가하면 된다.

4. 한글 폰트를 업로드 해야한다. /usr/shaare/rrdtool/fonts/ 에 업로드하자. 참고로 윈도 XP에서 돋움체 등을 쓰는데, 이 폰트는 폰트 모임인 ttc라는 확장자이고, 이걸 프로그램을 써서 ttf로 나눈 다음에 업로드해서 쓰면 되기도.. 하지만 저작권 문제가 걸리니까 백묵 폰트와 같은 공개 ttf를 받아다 쓰자.;

5. 그래도 한글 깨지는 부분이 있다. data source 메뉴등은 깨진다. 어쩔 수 없다 대충 살아라. Devices나 다른 메뉴는 안 깨지는데 왜 저기만 저러는지..

6. 플러그인 사용. 그냥 플러그인 받아다 쓰면 안된다. PIA (Plugin Architecture)라는 패치를 써야한다. 문제는

    2008/03/13 11:10:50 현재, cacti 0.87b에 PIA 2.0 적용 후 include/plugins.php를 수정해야함.

— include/plugins.php.orig 2008-02-25 09:47:35.000000000 -0800

+++ include/plugins.php 2008-02-25 09:48:12.000000000 -0800

@@ -32,13 +32,7 @@

}

}

-if (isset($_SERVER[‘DOCUMENT_ROOT’]) && isset($_SERVER[‘REMOTE_ADDR’])) {


$config[‘url_path’] = substr(__FILE__,
strlen($_SERVER[‘DOCUMENT_ROOT’]), strlen(__FILE__) –
strlen($_SERVER[‘DOCUMENT_ROOT’]) – strlen(‘include/plugins.php’));

– db_execute(“REPLACE INTO settings (name, value) VALUES (‘url_path’, ‘” . $config[‘url_path’] . “‘)”);

-} else {

– $config[‘url_path’] = db_fetch_cell(“SELECT value FROM settings WHERE name = ‘url_path’”);

-}

+$config[‘url_path’] = ‘/cacti/’;

define(‘URL_PATH’, $config[‘url_path’]);

7. 패치 깔고 나면 이전에 없던 plugins 디렉토리가 있을거다 거기 플러그인을 디렉토리채로 풀어놓는다.

8. include/config.php에 plugins 변수에 배열로 디렉토리 이름을 넣는다

$plugins = array();
$plugins[] = ‘manage’;
$plugins[] = ‘monitor’;

9. User Management에서 사용자명을 눌러서 권한 설정에서 좀 전에 설치한 플러그인을 볼 수 있도록 체크한다.

10. 그리고 해피엔딩.. 이면 좋겠지만 monitor 이외의 플러그인이 한 번에 설치되는 꼴을 못 봤다. 대표적으로 어떤 측정값이 하향 상향을 넘으면 메일로 경고해주는 플러그인인 thold는 소스 수정을 해줘야 했다. 안 그러면 poller..어쩌고.. ran 어쩌고란 메시지가 나온다.
plugins/thold/check-thold.php
plugins/thold/thold-functions.php
에 보면 logger 란 함수가 똑같이 선언되어있다. 어느 한쪽을 주석처리하든, 지워라.

그러면 cacti의 poller가 실행되고 check-thold.php가 실행되는데.. 안되면 걍 crond에 넣던지;

11. 그리고.. plugins/thold/check-thold.php 를 잘 보면 exit가 소스 가장 위에 있다. 이거 왜 이런지 모르겠는데 파일 끝 부분으로 옮겨주자.;

cacti의 플러그인을 덕지덕지 붙여넣으면 nagios 부럽잖다는 사실을 깨달았는데, 삽질을 좀 많이 해야한다.

12. thold 사용할 때는, thold에 등록할 템플릿을 먼저 만들고, 관련된 템플릿으로 그래프 그리고 있는 디바이스로 가서 그래프 만들기 –  자동으로 만들기를 하면 대충 된다..

Threshold Templates – Devices – Create Graphs for this Host – Auto-create thresholds


게시됨

카테고리

작성자

태그:

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.