본문 바로가기
서버/리눅스

collectd 설치기 - CentOS

by 사악신 2013. 5. 2.


그 동안 mrtg, cacti 를 통하여 서버 모니터링을 해왔는데... 방금! 재미난 녀석을 발견했다. nginx 관련 패키지를 검색하다 딱 걸린 collectd(http://www.collectd.org/).


yum search collectd 로 검색해보니 흐믓한 이름들이 쭉 나온다.



오오~ 뭔가 별다른 설정을 안해줘도 잘 뽑아줄 것 같고... 게다가 서버를 여러대 운영할 경우 통합 모니터링 구축에도 딱이라는 듯 하다.(과연 사실일까?) 구조는 대충 이런 모양이라고 한다. @@

자세한건 차차 알아보고~ 일단 깔아봐야지~


#yum install collectd collectd-devel


계속 checksum 오류가 발생하며 이리저리 미러 사이트들을 바꿔가며 filelists_db 를 다운로드 받는다. 일단...


#yum clean metadata


한방 먹여주고... 재실행하니, 설치해준단다.



자... 설치는 끝났고... 일단, 닥치고 실행부터 해보자.


#/etc/init.d/collectd restart


그냥 불평없이 실행이 된다. 그리고 rrd 파일들이 생성된다.(껌이네 껌;;)



그리고 필요해보이는 패키지들을 마저 설치할 요량으로 collectd-rrdtool 패키지를 설치하려하니, 의존성 에러가 발생하며  librrd_th.so.2 를 요구한다. 대충 구글링해보니 예전 패키지(http://packages.express.org/rrdtool/)가 필요해보여 1.2.30 버전을 구한 후, 패키지 안의 파일들을 살펴보았다.


#rpm -qpl rrdtool-1.2.30-1.el5.wrl.i386.rpm 


의존성 오류를 발생시킨 librrd_th.so.2 가 확인된다.



cpio 를 사용하여 필요한 파일만 추출한다.


#rpm2cpio rrdtool-1.2.30-1.el5.wrl.i386.rpm | cpio -idv ./usr/lib/librrd.so.2 ./usr/lib/librrd.so.2.0.15 ./usr/lib/librrd_th.so.2 ./usr/lib/librrd_th.so.2.0.13


현재 디렉토리 아래 usr 디렉토리가 생성되며 관련 파일이 생성된다. 이를 /usr/lib 로 이동시킨 후 다시 collectd-rrdtool 설치를 시도~ 헉 그래도 안된다;; 아무래도 강제로 설치해야할 것 같다. 문제의 패키지를 다운로드하였다.


#yumdownloader collectd-rrdtool


강제 설치~


#rpm -ivh --nodeps collectd-rrdtool-4.10.9-1.el5.i386.rpm 


이번엔 rrdtool.so 와 충돌이 발생하였다. 아무래도 뭔가 이상하다... 설치된 collectd 버전을 확인해보니...



혼자 4.9.1 버전이다. 이런...;; 일단 4.10.9-1 버전(http://dl.fedoraproject.org/pub/epel/5/i386/collectd-4.10.9-1.el5.i386.rpm)의 collectd 패키지를 찾아 다운로드하였다. 그리고 설치된 collectd 를 제거하고 이 놈을 설치~ 그러자 python 2.6 버전 이상을 요구한다. 그래 너도 깔아주마~


#yum install python26


그런후 다시 collectd-rrdtool 을 강제설치하니 이번엔 무사히 설치된다. 이어서 collectd-web 을 설치하고,


#yum install collectd-web


외부에서 접근할 수 있도록 설정파일(/etc/httpd/conf.d/collectd.conf)을 수정해준다.(.htaccess 를 사용하려면 AllowOverride 를 추가해준다.)


# Configuration for collectd.


ScriptAlias /collectd/bin/ /usr/share/collectd/collection3/bin/

Alias /collectd/ /usr/share/collectd/collection3/


<Directory /usr/share/collectd/>

    AllowOverride FileInfo AuthConfig Limit Indexes

    AddHandler cgi-script .cgi

    DirectoryIndex bin/index.cgi

    Order Allow,Deny

    Allow from all

</Directory>


그리고 웹브라우저에서 확인~


이제 .htaccess 설정잡아주고, 나머지 모듈들을 설치해주면 될 듯~


이하 내용 추가>>


/usr/share/collectd 디렉토리에 .htaccess 파일 생성한 후... 이하 서브 디렉토리에 생성되어있는 모든 .htaccess 파일들을 삭제해주었음.


.htaccess 설정 파일을 대충 다음과 같음...


AuthName   "SakSin's Server Monitoring"

AuthType   Basic


AuthUserFile /usr/share/collectd/.htpasswd

AuthGroupFile /dev/null


<Limit GET POST>

        require valid-user

</Limit>


반응형

댓글