Linux에 collectd 시스템 모니터링 도구 설치

collectd는 시스템 및 애플리케이션 성능 지표를 주기적으로 수집하고 이러한 지표 값을 다양한 방식으로 저장하는 메커니즘을 제공하는 데몬 프로세스입니다. collectd는 운영 체제, 애플리케이션, 로그 파일, 외부 장치 등 다양한 소스에서 지표를 수집하여 저장하거나 네트워크를 통해 제공합니다. 이러한 통계는 시스템 모니터링, 성능 병목 현상 발견 등에 사용될 수 있습니다.

collectd 시스템 통계 수집 데몬

이다악마주기적으로 시스템 및 애플리케이션 성능 측정 항목을 수집하고 다양한 방식으로 값을 저장하는 메커니즘을 제공합니다. RRD문서가운데.

collectd는 운영 체제, 애플리케이션, 로그 파일, 외부 장치 등 다양한 소스에서 메트릭을 수집하여 저장하거나 네트워크에서 제공합니다. 이러한 통계는 시스템 모니터링, 성능 병목 현상 발견(즉, 성능 분석), 향후 시스템 부하 예측(즉, 용량 계획)에 활용할 수 있습니다. 개인 서버에 대한 멋진 그래프를 원하고 자체 개발 솔루션에 지쳤다면, 바로 이 제품이 정답입니다!

collectd란 무엇인가요?

collectd는 시스템 및 애플리케이션 성능 측정 항목을 주기적으로 수집하고 이러한 측정 항목 값을 다양한 방식으로 저장하는 메커니즘을 제공하는 데몬 프로세스입니다.

collectd는 운영 체제, 애플리케이션, 로그 파일, 외부 장치 등 다양한 소스에서 메트릭을 수집하여 저장하거나 네트워크를 통해 제공합니다. 이러한 통계는 시스템 모니터링, 성능 병목 현상 발견(예: 성능 분석), 향후 시스템 부하 예측(예: 용량 계획) 등에 사용될 수 있습니다.

  • 이 기능은 전적으로 C 언어로 작성되어 높은 성능과 뛰어난 이식성을 제공하며, 스크립팅 언어 지원이나 Cron 데몬이 없는 임베디드 시스템(예: 임베디드 시스템)에서도 실행 가능합니다. 동시에 수백 개의 데이터 세트를 최적화하고 처리할 수 있는 새로운 기능도 포함되어 있습니다.
  • collectd는 100개 이상의 플러그인을 포함하고 있습니다. 동시에, collectd는 강력한 네트워크 기능을 제공하며 다양한 방식으로 확장 가능합니다.

collectd 공식 웹사이트:https://collectd.org/

collectd 위키 주소:https://collectd.org/wiki/index.php/Main_Page

collectd 설치 방법

wget https://storage.googleapis.com/collectd-tarballs/collectd-5.12.0.tar.bz2 tar xf collectd-5.12.0.tar.bz2 cd collectd-5.12.0 ./configure make all install

다음과 같은 다른 선택 사항을 마지막에 추가할 수도 있습니다.

--prefix=/usr --sysconfdir=/etc -localstatedir=/var --libdir=/usr/lib --mandir=/usr/share/man --enable-all-plugins 모두 설치

또는 다음 명령을 직접 실행하여 설치하세요.

dnf 설치 collectd
  • 구성 파일 디렉토리: /etc/collectd/collectd.conf
  • 시작 파일 디렉토리: /etc/init.d/collectd
  • 로그 파일 디렉토리: /var/log/syslog
  • 데이터 저장 디렉토리: /var/lib/collectd/rrd/

collectd를 구성하는 방법

vim /opt/collectd/etc/collectd.conf

모니터링해야 할 시스템 항목(일반적으로 CPU, 메모리, 프로세스, 부하, 인터페이스, 디스크, 스왑 등)에 해당하는 플러그인을 활성화합니다.

일반적으로 네트워크 플러그인만 수정하면 됩니다.

네트워크 플러그인은 collectd의 원격 인스턴스(예: 데이터베이스, CSV 파일 또는 캐시)로 데이터를 보내거나 원격 서버에서 데이터를 수신할 수 있습니다.

LoadPlugin 네트워크 # 플러그인을 로드하려면 #를 제거하세요.

# # 클라이언트 설정: 서버 "10.24.106.1" "25826" # 주소 및 포트는 데이터를 수신하는 서버의 주소 및 포트입니다. 예: 데이터베이스(influxdb 등)가 설치된 서버의 주소 및 포트 #  # 암호화된 데이터를 전송해야 하는 경우 이 작은 부분을 구성하세요. # 보안 수준 암호화 # 사용자 이름 "user" # 비밀번호 "secret" # 인터페이스 "eth0" # ResolveInterval 14400 # 
# TimeToLive 128 # # # 서버 설정: # Listen "ff18::efc0:4a42" "25826" # 이 부분이 구성된 경우 다른 collectd 인스턴스에서 보낸 데이터를 수신하는 것을 의미합니다. # 
# 보안 수준 서명 # 인증 파일 "/etc/collectd/passwd" # 인터페이스 "eth0" # 
# MaxPacketSize 1452 # # # 프록시 설정(위와 같이 클라이언트 및 서버): # Forward true # # # 네트워크 플러그인 자체에 대한 통계 # ReportStats false # # # "가비지 수집" # CacheFlush 1800

collectd를 시작하는 방법

명령 실행 sudo /etc/init.d/collectd 시작

또는 systemctl start collectd 그리고 부팅을 설정하세요 systemctl enable collectd

collectd 데이터를 보는 방법

rrdtool 플러그인이 활성화되어 있으면 다음을 수행할 수 있습니다. /var/lib/collectd/rrd/ 해당 통계는 디렉토리에서 확인하세요.

다음 명령을 사용하여 특정 데이터를 볼 수 있습니다.

rrdtool fetch *.rrd 평균

*.rrd는 .rrd로 끝나는 모든 파일을 의미합니다. rrdtool 명령어에 대한 자세한 사용법은 Baidu에서 검색해 보세요.
첫 번째 열이 타임스탬프임을 알 수 있습니다. date -d @timestamp 명령을 사용하면 타임스탬프(초)를 date 명령으로 표시되는 시간 형식으로 변환할 수 있습니다. date +%s 명령은 타임스탬프 형식으로 시간을 나타냅니다.

collectd 관련 플러그인 소개

플러그인: CPU

리눅스 설치 시스템 모니터링 도구 collectd-1

  • jiffies: 단위입니다. jiffies는 시스템 시작 이후 생성된 tick 수를 기록하는 커널의 전역 변수입니다. Linux에서 tick은 대략 운영 체제 프로세스 스케줄링의 최소 시간 단위로 이해될 수 있습니다. Linux 커널마다 값이 다를 수 있으며, 일반적으로 1ms에서 10ms 사이입니다.
  • 사용자: 음수 nice 값을 가진 프로세스를 제외하고 시스템 시작부터 현재까지 사용자 모드에서 실행된 시간입니다.
  • nice: 시스템 시작부터 현재까지 음수 nice 값을 가진 프로세스가 차지한 CPU 시간.
  • 유휴(idle): 시스템 시작부터 현재까지 누적된 I/O 대기 시간을 제외한 대기 시간입니다.
  • wait-io: 시스템 시작부터 현재까지 누적된 I/O 작업 대기 시간입니다.
  • 시스템: 시스템 시작부터 현재까지 누적된 커널 상태의 실행 시간입니다.
  • softIRQ: 시스템 시작부터 현재까지 누적된 소프트 인터럽트 시간입니다.
  • IRQ: 시스템 시작부터 현재까지 누적된 하드 인터럽트 시간입니다.
  • 도용: 가상 환경에서 다른 운영 체제를 실행하는 데 소요된 시간.

플러그인: 인터페이스

인터페이스 플러그인은 트래픽(초당 옥텟), 초당 패킷, 인터페이스 오류(1초당)에 대한 정보를 수집합니다.

리눅스 설치 시스템 모니터링 도구 collectd-2

  • rxpck/s: 초당 수신된 패킷 수
  • txpck/s: 초당 전송된 데이터 패킷 수
  • rxbyt/s: 초당 수신된 바이트 수
  • txbyt/s: 초당 전송되는 바이트 수

플러그인: 프로세스

리눅스 설치 시스템 모니터링 도구 collectd-3

플러그인: 메모리

시스템의 물리적 메모리 사용량을 수집합니다.

리눅스 설치 시스템 모니터링 도구 collectd-4

플러그인: 스왑

스왑 공간 사용량 수집

리눅스 설치 시스템 모니터링 도구 collectd-5

Linux에서는 다음 명령을 통해 시스템 관련 데이터를 얻을 수 있습니다. cd /proc/ 이 디렉토리를 살펴보세요.

점수

댓글남기기

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