설치해두면 언젠가 시스템을 모니터링 해야할때가 오면 쓸모가 많습니다.

기본적으로 MySQL, Apache, PHP는 설치되어 있어야합니다. 제 블로그에 있습니다.
기준은 FreeBSD 7.2, Apache 2.2, PHP5, MySQL 5.1 UTF-8 입니다.
PHP5 설치 옵션 중에 net-snmp support 부분이 있을것입니다. 체크해주세요. (관련이 있는지는 잘 모름)
일단 cacti를 설치하도록 합니다. 의존성에 의해서 net-snmpd와 rrdtool이 함께 설치됩니다.
# cd /usr/ports/net-mgmt/cacti && make install clean
MySQL의 DB와 계정을 셋팅합니다.
# mysqladmin --user=root -p create cacti
# mysql -u root -p
mysql> GRANT ALL ON cacti.* TO cacti at localhost IDENTIFIED BY 'passwd'; FLUSH PRIVILEGES;
mysql> quit;
# mysql -u cacti -p passwd < /usr/local/share/cacti/cacti.sql
# mysql -u root -p
mysql> GRANT ALL ON cacti.* TO cacti at localhost IDENTIFIED BY 'passwd'; FLUSH PRIVILEGES;
mysql> quit;
# mysql -u cacti -p passwd < /usr/local/share/cacti/cacti.sql
cacti의 DB연결을, 위에서 세팅한 DB에 맞게 수정합니다.
# vi /usr/local/share/cacti/include/config.php
[code]$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "passwd";
$database_port = "3306";
[/code]
crontab을 수정하여 아래의 내용을 추가합니다.
# vi /etc/crontab
[code]*/5 * * * * cacti /usr/local/bin/php /usr/local/share/cacti/poller.php > /dev/null 2>&1
[/code]
net-snmpd의 접근할 계정을 만들어줍니다.
# net-snmp-config --create-snmpv3-user -ro
계정명 엔터, 패스워드 엔터, 빈칸으로 엔터
계정명 엔터, 패스워드 엔터, 빈칸으로 엔터
웹에서 접근이 가능하도록 링크를 만들어줍니다. 아파치 2.2 기준.
(링크하는 방법에 마음에 들지 않는다면, httpd.conf에 Alias를 추가해도 된다.)
# ln -s /usr/local/share/cacti /usr/local/www/apache22/data/cacti
필요한 데몬들을 활성화합니다.
# vi /etc/rc.conf
[code]snmpd_enable="YES"
snmptrapd_enable="YES"
[/code]
# /etc/rc.d/cron restart
# /usr/local/etc/rc.d/snmpd start
# /usr/local/etc/rc.d/snmptrapd start
# /usr/local/etc/rc.d/snmpd start
# /usr/local/etc/rc.d/snmptrapd start
웹브라우저로 cacti에 접근하여 로그인. 초기 계정과 비밀번호는 admin / admin
http://호스트IP/cacti
cacti는 익숙해지려면, 잠시 혼란스러울 수 있습니다.
(죄송합니다... 제 수준으로는 제대로 설명을 못하겠습니다.)

SNMP 유저네임과 패스워드는 아까 net-snmp-config 툴로 만든 계정이다.
앗!!! 깜박하고 표시를 안해두었다!! 계정 밑의 SNMP Privacy Protocol은 None으로 한다!!
스크롤을 내려 하단에 보면 모니터을 원하는 장치를 추가할 수 있다.
SNMP를 설정했기 때문에 ucd/net snmp를 이용해서 모니터링해도 된다.
나의 경우는 기본적으로 있던 목록들을 전부 삭제하고, 아래의 4개를 추가했다.
ucd/net load average
ucd/net cpu usage
linux memory usage
snmp - interface statistics
추가했으면 좌측 상단메뉴의 new graphs를 클릭하여 모니터링을 원하는 장치들의 그래프를 만들어준다.ucd/net cpu usage
linux memory usage
snmp - interface statistics
완료했으면 죄측 상단의 graphs 라는 큰 메뉴를 클릭하면 그래프가 5분 단위로 갱신되고 있다.
linux - memory usage가 마음에 드는데, 유닉스인 FreeBSD에서는 작동하지 않는다.
하지만, 따로 추가적인 작업을 해주면 리눅스처럼 사용이 가능하다.
리눅스 에뮬레이터를 설치하고, 아래의 내용을 추가한다.
# cd /usr/ports/emulators/linux_base-fc4 && make install clean
# vi /etc/rc.conf
[code]# vi /etc/rc.conf
linux_enable="YES"
[/code]
fstab에 아래의 내용을 추가한다. 오타나면 부팅 불능의 사태가 발생할 수 있다!! 협박아님!! 진짜!!
# vi /etc/fstab
[code]linproc /compat/linux/proc linprocfs rw 0 0
[/code]
cacti의 스크립트를 수정한다.
# vi /usr/local/share/cacti/scripts
[code]#!/usr/bin/perl
$mem = `cat /compat/linux/proc/meminfo | grep -w "$ARGV[0]"`;
$mem =~ s/($ARGV[0].*\s)(.*[0-9])( kB)//;
print $2;
[/code]
# reboot
참고 사이트: http://blog.pages.kr/151
댓글 없음:
댓글 쓰기