문서
원본 보기2 Agent
개요
Zabbix 에이전트는 로컬 리소스와 애플리케이션(하드 드라이브, 메모리, 프로세서 통계 등)을 능동적으로 모니터링하기 위해 모니터링 대상에 배포됩니다.
에이전트는 로컬에서 운영 정보를 수집하고 추가 처리를 위해 Zabbix 서버에 데이터를 보고합니다. 장애가 발생한 경우(하드 디스크 공간 부족이나 서비스 프로세스 충돌 등), Zabbix 서버는 장애를 보고한 특정 시스템의 관리자에게 능동적으로 경고할 수 있습니다.
Zabbix 에이전트는 통계 정보 수집을 위해 네이티브 시스템 호출을 사용하기 때문에 매우 효율적입니다.
호스트에서 에이전트의 여러 인스턴스를 실행하는 것이 가능합니다.
수동 및 능동 검사
Zabbix 에이전트는 수동 및 능동 검사를 수행할 수 있습니다:
- 수동 검사 - Zabbix 에이전트가 Zabbix 서버(또는 프록시)의 요청에 응답합니다. 예를 들어, 서버가 데이터(예: CPU 로드)를 요청하면 에이전트가 결과를 반환합니다.
- 능동 검사 - Zabbix 에이전트가 Zabbix 서버(또는 프록시)의 요청을 기다리지 않고 데이터를 수집하고 전송합니다. 먼저 서버로부터 모니터링 항목 목록(CPU 로드, 사용 가능한 메모리 등)을 검색한 다음, 필요한 데이터를 수집하고 주기적으로 새로운 값을 다시 전송합니다.
에이전트 검사 유형은 해당 모니터링 항목 유형을 선택하여 구성됩니다. Zabbix 에이전트는 Zabbix agent 또는 Zabbix agent (active) 유형의 항목을 처리합니다.
지원되는 플랫폼
지원되는 플랫폼에 대해서는 요구사항 페이지를 참조하세요.
Unix 계열 시스템의 Agent
Unix 계열 시스템의 Zabbix agent는 모니터링되는 호스트에서 실행됩니다.
설치
Zabbix agent는 다음 방법 중 하나를 사용하여 Linux 기반 시스템에 설치할 수 있습니다:
- Zabbix 패키지 - Agent 구성 요소를 선택하고 (Zabbix 버전, OS 배포판, OS 버전을 선택한 후) 제공된 지침을 따르세요;
- Zabbix 소스 - 소스 파일을 다운로드하고
--enable-agent옵션으로 소스를 구성하여 Zabbix agent를 컴파일하세요.
일반적으로 32비트 Zabbix agent는 64비트 시스템에서 작동하지만, 일부 경우에는 실패할 수 있습니다.
미리 컴파일된 Zabbix agent 바이너리는 macOS, IBM AIX, FreeBSD, OpenBSD, Solaris용으로 다운로드 가능합니다. 현재 Zabbix server/proxy 버전과 호환되는 레거시 바이너리는 NetBSD와 HP-UX용으로 제공됩니다.
패키지로 설치한 경우
Zabbix 에이전트는 데몬 프로세스로 실행됩니다. 에이전트는 다음 명령어로 시작할 수 있습니다:
systemctl start zabbix-agent
이 명령어는 대부분의 GNU/Linux 시스템에서 작동합니다. 다른 시스템에서는 다음 명령어를 실행해야 할 수도 있습니다:
/etc/init.d/zabbix-agent start
Zabbix 에이전트를 중지, 재시작 또는 상태 확인을 하려면 다음 명령어를 사용하세요:
systemctl stop zabbix-agent
systemctl restart zabbix-agent
systemctl status zabbix-agent
수동으로 시작하기
zabbix_agentd 바이너리를 찾아서 직접 실행하여 Zabbix 에이전트를 시작할 수 있습니다. 예를 들어:
zabbix_agentd
Windows 시스템의 에이전트
Windows에서 Zabbix 에이전트는 Windows 서비스로 실행됩니다.
설치
Zabbix 에이전트는 다음 방법 중 하나를 사용하여 Windows에 설치할 수 있습니다:
- 사전 컴파일된 Zabbix 에이전트 바이너리 - Zabbix 에이전트 MSI 설치 패키지를 다운로드하고 MSI를 통한 Windows 에이전트 설치 페이지의 지침을 따르세요;
- Zabbix 소스 - 소스 파일을 다운로드하고 Windows에서 Zabbix 에이전트 빌드하기 페이지의 지침을 따르세요.
Zabbix 에이전트를 (ZIP 아카이브에서) Windows 서비스로 설치하는 것에 대한 추가 세부 사항은 Microsoft Windows의 Zabbix 에이전트 페이지를 참조하세요.
옵션
다음 명령행 매개변수들을 Zabbix agent와 함께 사용할 수 있습니다:
| 매개변수 | 설명 |
|---|---|
| UNIX 및 Windows agent | |
-c --config <config-file> |
구성 파일의 경로. 이 옵션을 사용하여 기본값이 아닌 구성 파일을 지정할 수 있습니다. |
-f --foreground |
Zabbix agent를 포그라운드에서 실행 (기본값: true). |
-p --print |
알려진 아이템들을 출력하고 종료. 사용자 매개변수 결과도 반환하려면 구성 파일을 지정해야 합니다 (기본 위치에 있지 않은 경우). |
-t --test <item key> |
지정된 아이템을 테스트하고 종료. 사용자 매개변수 결과도 반환하려면 구성 파일을 지정해야 합니다 (기본 위치에 있지 않은 경우). |
-T --test-config |
구성 파일을 검증하고 종료. |
-h --help |
도움말 정보 표시. |
-V --version |
버전 번호 표시. |
| UNIX agent만 | |
-R --runtime-control <option> |
관리 기능 수행. 런타임 제어 참조. |
| Windows agent만 | |
-m --multiple-agents |
다중 agent 인스턴스 사용 (-i, -d, -s, -x 옵션과 함께).인스턴스의 서비스 이름을 구별하기 위해, 각 서비스 이름에는 지정된 구성 파일의 Hostname 값이 포함됩니다. |
-S --startup-type <value> |
Zabbix Windows agent 서비스의 시작 유형을 설정. 허용되는 값:automatic - (기본값) Windows 시작 시 서비스를 자동으로 시작;delayed - 자동으로 시작된 서비스들이 시작을 완료한 후 서비스 시작 지연 (Windows Server 2008/Vista 이상 버전에서 사용 가능);manual - 서비스를 수동으로 시작 (사용자 또는 애플리케이션에 의해);disabled - 서비스를 비활성화하여 사용자나 애플리케이션이 시작할 수 없도록 함.이 옵션은 -i 옵션과 함께 사용하거나, 이미 설치된 서비스의 시작 유형을 수정하기 위해 별도로 사용할 수 있습니다. |
-i --install |
Zabbix Windows agent를 서비스로 설치. |
-d --uninstall |
Zabbix Windows agent 서비스 제거. |
-s --start |
Zabbix Windows agent 서비스 시작. |
-x --stop |
Zabbix Windows agent 서비스 중지. |
명령행 매개변수 사용의 구체적인 예시:
- 모든 내장 agent 아이템들을 값과 함께 출력.
- 지정된 구성 파일에 정의된
mysql.ping키로 사용자 매개변수 테스트. - 기본 구성 파일 경로
C:\\Program Files\\Zabbix Agent\\zabbix_agentd.conf를 사용하여 Windows용 Zabbix Agent 서비스 설치. - agent 실행 파일과 같은 폴더에 있는 구성 파일
zabbix_agentd.conf를 사용하여 Windows용 Zabbix Agent [Hostname] 서비스를 설치하고, 구성 파일의 Hostname 값으로 확장하여 서비스 이름을 고유하게 만들기. - agent 실행 파일과 같은 폴더에 있는 구성 파일
zabbix_agentd.conf를 사용하여 설치된 Windows용 Zabbix Agent 서비스의 시작 유형 수정.
zabbix_agentd --print
zabbix_agentd -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agentd.exe -i
zabbix_agentd.exe -i -m -c zabbix_agentd.conf
zabbix_agentd.exe -c zabbix_agentd.conf -S delayed
런타임 제어
런타임 제어 옵션을 사용하여 에이전트 프로세스의 로그 레벨을 변경할 수 있습니다.
| 옵션 | 설명 | 대상 |
|---|---|---|
log_level_increase[=<target>] |
로그 레벨을 증가시킵니다. 대상이 지정되지 않으면 모든 프로세스가 영향을 받습니다. |
대상은 다음과 같이 지정할 수 있습니다: 프로세스 타입 - 지정된 타입의 모든 프로세스 (예: listener)모든 에이전트 프로세스 타입을 참조하세요. 프로세스 타입,N - 프로세스 타입과 번호 (예: listener,3)pid - 프로세스 식별자 ( 1부터 65535까지). 더 큰 값의 경우 '프로세스 타입,N'으로 대상을 지정하세요. |
log_level_decrease[=<target>] |
로그 레벨을 감소시킵니다. 대상이 지정되지 않으면 모든 프로세스가 영향을 받습니다. |
|
userparameter_reload |
현재 구성 파일에서 UserParameter와 Include 옵션의 값을 다시 로드합니다. |
예시:
- 모든 프로세스의 로그 레벨 증가
- 세 번째 listener 프로세스의 로그 레벨 증가
- PID 1234 프로세스의 로그 레벨 증가
- 모든 액티브 체크 프로세스의 로그 레벨 감소
zabbix_agentd -R log_level_increase
zabbix_agentd -R log_level_increase=listener,3
zabbix_agentd -R log_level_increase=1234
zabbix_agentd -R log_level_decrease="active checks"
런타임 제어는 OpenBSD, NetBSD, Windows에서 지원되지 않습니다.
에이전트 프로세스 유형
에이전트 프로세스 유형은 다음과 같습니다:
active checks- 능동 검사를 수행하는 프로세스;collector- 데이터 수집을 위한 프로세스;listener- 수동 검사를 수신하는 프로세스.
에이전트 로그 파일을 사용하여 이러한 프로세스 유형을 관찰할 수 있습니다.
Zabbix 7.0.22부터는 에이전트 로그 파일이 파일 소유자만 읽기-쓰기 권한으로 생성됩니다. 또한 파일은 소유자 그룹에서 읽을 수 있습니다. 다른 모든 권한은 거부됩니다.
프로세스 사용자
UNIX의 Zabbix 에이전트는 non-root 사용자로 실행되도록 설계되었습니다. 시작할 때 설정된 non-root 사용자로 실행됩니다. 따라서 어떤 non-root 사용자로든 문제없이 에이전트를 실행할 수 있습니다.
'root'로 실행하려고 하면, 시스템에 반드시 있어야 하는 하드코딩된 'zabbix' 사용자로 전환됩니다.
에이전트 구성 파일에서 AllowRoot 매개변수를 적절히 수정한 경우에만 'root'로 에이전트를 실행할 수 있습니다.
설정 파일
설정 파일의 기본 경로는 다음과 같습니다:
- UNIX에서는 기본적으로
/usr/local/etc/zabbix_agentd.conf이거나 컴파일 타임 변수--sysconfdir또는--prefix로 설정된 경로입니다. - Windows에서는 기본적으로
C:\\Program Files\\Zabbix Agent\\zabbix_agentd.conf입니다.
호스트에서 에이전트의 단일 인스턴스가 실행되는 경우, 기본 설정 파일이나 명령줄에서 지정된 설정 파일을 사용할 수 있습니다. 여러 인스턴스의 경우, 각 에이전트 인스턴스는 고유한 설정 파일을 가져야 합니다(인스턴스 중 하나는 기본 설정 파일을 사용할 수 있습니다).
Zabbix 에이전트 구성에 대한 자세한 내용은 Unix Zabbix 에이전트 또는 Windows Zabbix 에이전트의 설정 파일 옵션을 참조하세요.
로케일
에이전트가 일부 텍스트 에이전트 항목에서 예상된 콘텐츠를 반환할 수 있도록 UTF-8 로케일이 필요합니다. 대부분의 최신 Unix 계열 시스템은 기본적으로 UTF-8 로케일을 사용하지만, 일부 시스템에서는 이를 구체적으로 설정해야 할 수도 있습니다.
종료 코드
Zabbix agent는 성공적인 종료의 경우 0을 반환하고 실패의 경우 1을 반환합니다.