다음 설정으로 모니터링 서버를 설정했습니다.
<Plugin network>
Listen "0.0.0.0" "25826"
</Plugin>
이제 내 클라이언트가 모니터링 서버로 데이터를 보내고 있습니다(tcpdump를 통해 확인됨). 컬렉션 폴더에도 데이터가 덤프되고 있음이 표시됩니다.
/var/lib/collectd/rrd
[ec2-user at x rrd]$ ll
total 4
drwxr-xr-x 11 root root 4096 Nov 20 17:53 x-web-1.y.com
[ec2-user at x rrd]$
나는 또한 find 로 확인했습니다. -mmin 1 지속적으로 업데이트되는지 확인합니다.
[ec2-user@x rrd]$ find . -mmin 1
./x-web-1.y.com/interface-eth0/if_errors.rrd
./x-web-1.y.com/interface-eth0/if_packets.rrd
./x-web-1.y.com/interface-eth0/if_octets.rrd
./x-web-1.y.com/disk-xvda1/disk_time.rrd
./x-web-1.y.com/disk-xvda1/disk_ops.rrd
./x-web-1.y.com/disk-xvda1/disk_octets.rrd
./x-web-1.y.com/disk-xvda1/disk_merged.rrd
그런데 Collectd-web을 통해 찾아보니 클라이언트가 보이지 않네요.
내 설정에 어떤 문제가 있을 수 있나요?
답변1
게시된 이미지는 Collectd-web의 일부가 아닌 것 같습니다. 어쨌든, Firefox에는 호스트 목록을 포함하는 Collectd-web 메뉴의 재구축을 방지하는 일종의 캐시 효과가 있습니다. Firefox의 캐시를 정리하고 다시 시도하세요.
답변2
이전에 설명했듯이 전역 매개 Host
변수의 기본값을 localhost
. 클라이언트 수집기 중 하나가 동일한 전역 Host
이름을 사용하는 경우 서버 수집기가 혼동될 수 있다는 사실을 발견했습니다. 이는 일반적으로 동일한 타임스탬프에 대해 너무 많은 업데이트가 발생하고 있다는 로그 파일의 오류로 입증됩니다.
해결책은 모든 클라이언트가 고유한 전역 호스트 매개변수를 사용하고 있는지 확인하는 것입니다. 이 시점에서 수집기 서버의 rrd 폴더는 캡처된 하위 콘텐츠와 함께 개별 클라이언트 호스트 이름이 포함된 폴더로 채워져야 합니다.
답변3
나 역시 이 문제를 겪고 있었다. 내장 Python 서버(정상적으로 작동함)를 사용하는 대신 Apache를 통해 Collectd-web을 제공할 때 이런 일이 발생했습니다.
무슨 일이 일어났는지는 Apache가 Collectd-web에서 gci 파일을 처리하지 않는다는 것입니다. 이 문제를 해결하려면 mod_gci가 설치되어 있는지 확인한 다음 /etc/apache2/sites-available
아파치가 Collectd-web 폴더에서 구성 재정의를 허용하도록 파일을 편집하면 됩니다.
<Directory /var/www/collectd-web>
AllowOverride all
</Directory>
cgi-bin
그러면 apache가 cgi 스크립트 실행을 위한 지시어가 포함된 Collectd-web의 .htacccess 파일(폴더에 있음)을 로드하게 됩니다 .
이 작은 문제는 문서에 언급되어 있습니다.http://collectdweb.appspot.com/documentation/
Apache도 사용하고 있는지 확실하지 않지만 사용 중인 서버가 무엇이든: cgi 스크립트가 평가되고 있는지 확인하십시오. 그렇지 않으면 인터페이스의 동적 부분이 로드되지 않습니다.
답변4
Prometheus나 기타 최신 모니터 시스템으로 전환하는 것을 고려해 보세요.
현재 Collectd에는 우분투 22 LTS 패키지도 없습니다.
우리는 Collectd에서 Prometheus로 전환했습니다. 처리하기가 훨씬 쉽고 옵션이 더 많습니다.