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