1 Zabbix 에이전트

개요

이 섹션에서는 데이터 수집을 위해 Zabbix agent와의 통신을 사용하는 아이템 키에 대한 세부 정보를 제공합니다.

수동형과 능동형 agent 검사가 있습니다. 아이템을 구성할 때 필요한 유형을 선택할 수 있습니다:

  • Zabbix agent - 수동형 검사용
  • Zabbix agent (active) - 능동형 검사용

Zabbix agent에서 지원하는 모든 아이템 키는 신세대 Zabbix agent 2에서도 지원됩니다. agent 2에서만 사용할 수 있는 추가 아이템 키를 참조하세요.

지원되는 아이템 키

Zabbix 에이전트와 함께 사용할 수 있는 아이템 키들이 아래에 나열되어 있습니다.

아이템 키들은 매개변수와 추가 정보 없이 나열되어 있습니다. 전체 세부 정보를 보려면 아이템 키를 클릭하세요.

아이템 키 설명 아이템 그룹
kernel.maxfiles OS에서 지원하는 최대 열린 파일 수입니다. Kernel
kernel.maxproc OS에서 지원하는 최대 프로세스 수입니다.
kernel.openfiles 현재 열려 있는 파일 디스크립터의 수입니다.
log 로그 파일의 모니터링입니다. 로그 모니터링
log.count 모니터링되는 로그 파일에서 일치하는 라인의 수입니다.
logrt 순환되는 로그 파일의 모니터링입니다.
logrt.count 순환되는 모니터링 로그 파일에서 일치하는 라인의 수입니다.
modbus.get Modbus 데이터를 읽습니다. Modbus
net.dns DNS 서비스의 상태를 확인합니다. Network
net.dns.perf DNS 서비스의 성능을 확인합니다.
net.dns.record DNS 쿼리를 수행합니다.
net.if.collisions 윈도우 밖 충돌 수입니다.
net.if.discovery 네트워크 인터페이스 목록입니다.
net.if.in 네트워크 인터페이스의 수신 트래픽 통계입니다.
net.if.out 네트워크 인터페이스의 송신 트래픽 통계입니다.
net.if.total 네트워크 인터페이스의 수신 및 송신 트래픽 통계의 합입니다.
net.tcp.listen 이 TCP 포트가 LISTEN 상태인지 확인합니다.
net.tcp.port 지정된 포트로 TCP 연결이 가능한지 확인합니다.
net.tcp.service 서비스가 실행 중이고 TCP 연결을 수락하는지 확인합니다.
net.tcp.service.perf TCP 서비스의 성능을 확인합니다.
net.tcp.socket.count 매개변수와 일치하는 TCP 소켓의 수를 반환합니다.
net.udp.listen 이 UDP 포트가 LISTEN 상태인지 확인합니다.
net.udp.service 서비스가 실행 중이고 UDP 요청에 응답하는지 확인합니다.
net.udp.service.perf UDP 서비스의 성능을 확인합니다.
net.udp.socket.count 매개변수와 일치하는 UDP 소켓의 수를 반환합니다.
proc.cpu.util 프로세스 CPU 사용률 백분율입니다. Processes
proc.get OS 프로세스와 그 매개변수들의 목록입니다.
proc.mem 프로세스가 사용하는 메모리(바이트)입니다.
proc.num 프로세스의 수입니다.
sensor 하드웨어 센서 읽기입니다. Sensors
system.boottime 시스템 부팅 시간입니다. System
system.cpu.discovery 감지된 CPU/CPU 코어의 목록입니다.
system.cpu.intr 장치 인터럽트입니다.
system.cpu.load CPU 로드입니다.
system.cpu.num CPU의 수입니다.
system.cpu.switches 컨텍스트 전환 수입니다.
system.cpu.util CPU 사용률 백분율입니다.
system.hostname 시스템 호스트 이름입니다.
system.hw.chassis 섀시 정보입니다.
system.hw.cpu CPU 정보입니다.
system.hw.devices PCI 또는 USB 장치의 목록입니다.
system.hw.macaddr MAC 주소의 목록입니다.
system.localtime 시스템 시간입니다.
system.run 호스트에서 지정된 명령을 실행합니다.
system.stat 시스템 통계입니다.
system.sw.arch 소프트웨어 아키텍처 정보입니다.
system.sw.os 운영 체제 정보입니다.
system.sw.os.get 운영 체제에 대한 세부 정보(버전, 타입, 배포판 이름, 부 버전 및 주 버전 등)입니다.
system.sw.packages 설치된 패키지의 목록입니다.
system.sw.packages.get 설치된 패키지의 상세 목록입니다.
system.swap.in 스왑 인(장치에서 메모리로) 통계입니다.
system.swap.out 스왑 아웃(메모리에서 장치로) 통계입니다.
system.swap.size 스왑 공간 크기(바이트 또는 전체 대비 백분율)입니다.
system.uname 시스템의 식별 정보입니다.
system.uptime 시스템 업타임(초)입니다.
system.users.num 로그인한 사용자 수입니다.
vfs.dev.discovery 블록 장치와 그 타입의 목록입니다. Virtual file systems
vfs.dev.read 디스크 읽기 통계입니다.
vfs.dev.write 디스크 쓰기 통계입니다.
vfs.dir.count 디렉토리 엔트리 수입니다.
vfs.dir.get 디렉토리 엔트리 목록입니다.
vfs.dir.size 디렉토리 크기입니다.
vfs.file.cksum UNIX cksum 알고리즘으로 계산된 파일 체크섬입니다.
vfs.file.contents 파일의 내용을 검색합니다.
vfs.file.exists 파일이 존재하는지 확인합니다.
vfs.file.get 파일에 대한 정보를 반환합니다.
vfs.file.md5sum 파일의 MD5 체크섬입니다.
vfs.file.owner 파일의 소유자를 검색합니다.
vfs.file.permissions UNIX 권한을 가진 8진수가 포함된 4자리 문자열을 반환합니다.
vfs.file.regexp 파일에서 문자열을 검색합니다.
vfs.file.regmatch 파일에서 문자열을 찾습니다.
vfs.file.size 파일 크기입니다.
vfs.file.time 파일 시간 정보입니다.
vfs.fs.discovery 타입과 마운트 옵션이 포함된 마운트된 파일시스템의 목록입니다.
vfs.fs.get 타입, 사용 가능한 디스크 공간, inode 통계 및 마운트 옵션이 포함된 마운트된 파일시스템의 목록입니다.
vfs.fs.inode inode의 수 또는 백분율입니다.
vfs.fs.size 디스크 공간(바이트 또는 전체 대비 백분율)입니다.
vm.memory.size 메모리 크기(바이트 또는 전체 대비 백분율)입니다. Virtual memory
web.page.get 웹 페이지의 내용을 가져옵니다. Web monitoring
web.page.perf 전체 웹 페이지의 로딩 시간입니다.
web.page.regexp 웹 페이지에서 문자열을 찾습니다.
agent.hostmetadata 에이전트 호스트 메타데이터입니다. Zabbix
agent.hostname 에이전트 호스트 이름입니다.
agent.ping 에이전트 가용성 확인입니다.
agent.variant Zabbix 에이전트의 변종(Zabbix agent 또는 Zabbix agent 2)입니다.
agent.version Zabbix 에이전트의 버전입니다.
zabbix.stats Zabbix 서버 또는 프록시 내부 메트릭 세트를 반환합니다. ipport가 지정된 경우, 원격 인스턴스에서 메트릭을 검색하고, 그렇지 않으면 로컬 인스턴스에서 검색합니다.
zabbix.stats (queue) Zabbix 서버 또는 프록시에서 지연되고 있는 큐의 모니터링 아이템 수를 반환합니다. ipport가 지정된 경우, 원격 인스턴스에서 메트릭을 검색하고, 그렇지 않으면 로컬 인스턴스에서 검색합니다.

지원되는 플랫폼

항목 세부사항에서 달리 명시되지 않는 한, 에이전트 항목들(및 모든 매개변수)은 다음에서 지원됩니다:

  • Linux
  • FreeBSD
  • Solaris
  • HP-UX
  • AIX
  • MacOS X
  • OpenBSD
  • NetBSD

많은 에이전트 항목들은 Windows에서도 지원됩니다. 자세한 내용은 Windows 에이전트 항목 페이지를 참조하세요.

아이템 키 세부사항

꺾쇠 괄호 없는 매개변수는 필수입니다. 꺾쇠 괄호 < >로 표시된 매개변수는 선택사항입니다.

kernel.maxfiles


OS에서 지원하는 최대 열린 파일 수입니다.
반환 값: 정수.
지원 플랫폼: Linux, FreeBSD, MacOS X, OpenBSD, NetBSD.

kernel.maxproc


OS에서 지원하는 최대 프로세스 수입니다.
반환 값: 정수.
지원 플랫폼: Linux 2.6 이상, FreeBSD, Solaris, MacOS X, OpenBSD, NetBSD.

kernel.openfiles


현재 열려 있는 파일 디스크립터의 수.
반환 값: 정수.
지원 플랫폼: Linux (이 항목은 다른 UNIX 유사 플랫폼에서도 작동할 수 있습니다).

log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>]


로그 파일의 모니터링.
반환 값: Log.
지원 플랫폼을 참조하세요.

매개변수:

  • file - 로그 파일의 전체 경로와 이름;
  • regexp - 필요한 패턴을 설명하는 정규 표현식;
  • encoding - 코드 페이지 식별자;
  • maxlines - 에이전트가 Zabbix 서버 또는 프록시로 전송할 초당 최대 새 라인 수. 이 매개변수는 zabbix_agentd.conf의 'MaxLinesPerSecond' 값을 재정의합니다;
  • mode - 가능한 값: all (기본값) 또는 skip - 이전 데이터 처리 건너뛰기 (새로 생성된 아이템에만 영향);
  • output - 선택적 출력 포맷팅 템플릿. \0 이스케이프 시퀀스는 일치된 텍스트 부분으로 대체되며 (일치가 시작되는 첫 번째 문자부터 일치가 끝나는 문자까지), \N (여기서 N=1...9) 이스케이프 시퀀스는 N번째 일치된 그룹으로 대체됩니다 (또는 N이 캡처된 그룹 수를 초과하면 빈 문자열);
  • maxdelay - 최대 지연 시간(초). 타입: float. 값: 0 - (기본값) 로그 파일 라인을 절대 무시하지 않음; > 0.0 - "maxdelay" 초 내에 가장 최근의 라인이 분석되도록 오래된 라인을 무시. 사용하기 전에 maxdelay 참고사항을 읽어보세요!
  • options - 추가 옵션:
    mtime-noreread - 고유하지 않은 레코드, 파일 크기가 변경될 때만 다시 읽기 (수정 시간 변경 무시). (이 매개변수는 5.0.2부터 더 이상 사용되지 않습니다. 이제 mtime이 무시되기 때문입니다.)
  • persistent dir (Unix 시스템의 zabbix_agentd에서만 사용; Zabbix agent 2에서는 지원되지 않음) - 영구 파일을 저장할 디렉토리의 절대 경로명. 영구 파일에 대한 추가 참고사항도 참조하세요.

주석:

  • 아이템은 능동 검사로 구성되어야 합니다;
  • 파일이 누락되었거나 권한이 액세스를 허용하지 않으면 아이템이 지원되지 않음으로 전환됩니다;
  • output이 비어있으면 - 일치된 텍스트가 포함된 전체 라인이 반환됩니다. 'Result is TRUE'를 제외한 모든 글로벌 정규 표현식 유형은 항상 일치된 전체 라인을 반환하며 output 매개변수는 무시됩니다.
  • output 매개변수를 사용한 내용 추출은 에이전트에서 수행됩니다.

예시:

log[/var/log/syslog]
log[/var/log/syslog,error]
log[/home/zabbix/logs/logfile,,,100]

로그 레코드에서 숫자를 추출하기 위한 output 매개변수 사용 예시:

log[/app1/app.log,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] #이 아이템은 로그 레코드 "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors"에 일치하고 서버로 '6080'만 전송합니다. 숫자 값이 전송되므로 이 아이템의 "정보 유형"을 "숫자(부호 없음)"로 설정하고 그래프, 트리거 등에서 값을 사용할 수 있습니다.

서버로 전송하기 전에 로그 레코드를 재작성하기 위한 output 매개변수 사용 예시:

log[/app1/app.log,"([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"\1 RECORDS: \3, ERRORS: \4, DURATION: \2"] #이 아이템은 로그 레코드 "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors"에 일치하고 수정된 레코드 "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08"을 서버로 전송합니다.
log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>]


모니터링되는 로그 파일에서 매칭된 라인의 개수.
반환값: 정수.
지원되는 플랫폼을 참조하세요.

매개변수:

  • file - 로그 파일의 전체 경로와 이름;
  • regexp - 필요한 패턴을 설명하는 정규 표현식;
  • encoding - 코드 페이지 식별자;
  • maxproclines - 에이전트가 분석할 초당 새로운 라인의 최대 개수 (10000을 초과할 수 없음). 기본값은 zabbix_agentd.conf의 'MaxLinesPerSecond'의 10배입니다.
  • mode - 가능한 값: all (기본값) 또는 skip - 오래된 데이터 처리 건너뛰기 (새로 생성된 항목에만 영향).
  • maxdelay - 초 단위의 최대 지연시간. 타입: float. 값: 0 - (기본값) 로그 파일 라인을 무시하지 않음; > 0.0 - "maxdelay" 초 내에 분석되는 최신 라인을 얻기 위해 오래된 라인을 무시함. 사용하기 전에 maxdelay 참고사항을 읽어보세요!
  • options - 추가 옵션:
    mtime-noreread - 고유하지 않은 레코드, 파일 크기가 변경된 경우에만 다시 읽기 (수정 시간 변경 무시). (이 매개변수는 5.0.2부터 더 이상 사용되지 않습니다. 현재는 mtime이 무시되기 때문입니다.)
  • persistent dir (Unix 시스템의 zabbix_agentd에서만; Zabbix agent 2에서는 지원되지 않음) - 지속적 파일을 저장할 디렉토리의 절대 경로명. 지속적 파일에 대한 추가 참고사항도 참조하세요.

주석:

  • 항목은 능동 확인으로 구성되어야 합니다;
  • 매칭되는 라인은 에이전트의 마지막 로그 확인 이후 새로운 라인에서 계산되므로, 항목 업데이트 간격에 따라 달라집니다;
  • 파일이 없거나 권한으로 인해 접근할 수 없는 경우, 항목은 지원되지 않음 상태가 됩니다.
logrt[file regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>]


로테이션되는 로그 파일의 모니터링.
반환 값: Log.
지원 플랫폼을 참조하세요.

매개변수:

  • file regexp - 파일의 절대 경로로, 파일명은 정규 표현식을 사용하여 지정됩니다. 정규 표현식은 파일명에만 적용되며 전체 이름과 일치할 필요는 없습니다 (예: /path/to/agent는 zabbix_agentd.log와 일치함).
  • regexp - 필요한 콘텐츠 패턴을 설명하는 정규 표현식.
  • encoding - 코드 페이지 식별자.
  • maxlines - 에이전트가 Zabbix 서버나 프록시로 전송할 초당 최대 새 줄 수. 이 매개변수는 zabbix_agentd.conf의 'MaxLinesPerSecond' 값을 재정의합니다.
  • mode - 가능한 값: all (기본값) 또는 skip - 오래된 데이터의 처리를 건너뜀 (새로 생성된 아이템에만 영향).
  • output - 선택적 출력 형식 템플릿. \0 이스케이프 시퀀스는 일치하는 텍스트 부분으로 대체되고 (일치가 시작하는 첫 번째 문자부터 일치가 끝나는 문자까지), \N (N=1...9) 이스케이프 시퀀스는 N번째 일치하는 그룹으로 대체됩니다 (N이 캡처된 그룹 수를 초과하면 빈 문자열).
  • maxdelay - 최대 지연 시간(초). 유형: float. 값: 0 - (기본값) 로그 파일 줄을 무시하지 않음; > 0.0 - "maxdelay" 초 내에 가장 최근 줄이 분석되도록 오래된 줄을 무시. 사용하기 전에 maxdelay 참고사항을 읽어보세요!
  • options - 로그 파일 로테이션 유형 및 기타 옵션. 가능한 값:
    rotate (기본값),
    copytruncate - copytruncatemaxdelay와 함께 사용할 수 없습니다. 이 경우 maxdelay는 0이어야 하거나 지정하지 않아야 합니다; copytruncate 참고사항을 참조하세요,
    mtime-reread - 고유하지 않은 레코드, 수정 시간 또는 크기가 변경되면 다시 읽음 (mtime-* 옵션이 명시적으로 설정되지 않은 경우 기본값으로 사용),
    mtime-noreread - 고유하지 않은 레코드, 크기가 변경될 때만 다시 읽음 (수정 시간 변경 무시).
  • persistent dir (Unix 시스템의 zabbix_agentd에서만 사용; Zabbix agent 2에서는 지원되지 않음) - 지속 파일을 저장할 디렉터리의 절대 경로명. 지속 파일에 대한 추가 참고사항도 참조하세요.

주석:

  • 아이템은 액티브 체크로 구성되어야 합니다;
  • 로그 로테이션은 파일의 마지막 수정 시간을 기반으로 합니다;
  • logrt는 현재 활성화된 하나의 로그 파일과 로테이션된 여러 개의 일치하는 비활성 파일과 함께 작동하도록 설계되었습니다. 예를 들어, 디렉터리에 많은 활성 로그 파일이 있는 경우 각각에 대해 별도의 logrt 아이템을 생성해야 합니다. 그렇지 않으면 하나의 logrt 아이템이 너무 많은 파일을 처리하게 되어 메모리 고갈과 모니터링 충돌이 발생할 수 있습니다.
  • output이 비어 있으면 일치하는 텍스트가 포함된 전체 줄이 반환됩니다. '결과가 TRUE'를 제외한 모든 전역 정규 표현식 유형은 항상 일치하는 전체 줄을 반환하고 output 매개변수는 무시됩니다.
  • output 매개변수를 사용한 콘텐츠 추출은 에이전트에서 수행됩니다.
  • file regexp 매개변수에서 로그 디렉터리 경로와 로그 파일 정규 표현식은 올바른 디렉터리 구분자로 구분되어야 합니다:
    • Windows에서는 구분자가 백슬래시(\)여야 합니다; 슬래시는 로그 디렉터리 경로와 로그 파일 정규 표현식을 구분하는 위치를 제외한 다른 위치에서는 허용될 수 있습니다 (아래 예제 참조).
    • 다른 시스템에서는 슬래시(/)여야 합니다.

Windows 예제:

logrt["c:/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #이 아이템은 "c:/dir1/dir2/dir3"에서 파일명이 "filename"으로 시작하고 ".log"와 일치하는 확장자로 끝나는 로그 파일의 데이터를 수집합니다.
logrt["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #이 아이템은 네트워크 공유 "//example.com/share/dir1/dir2/dir3"에서 파일명이 "filename"으로 시작하고 ".log"와 일치하는 확장자로 끝나는 로그 파일의 데이터를 수집합니다.

다른 시스템 예제:

logrt["/home/zabbix/logs/^logfile[0-9]{1,3}$",,,100] #이 아이템은 "logfile1"과 같은 파일과 일치합니다 (".logfile1"과는 일치하지 않음).
logrt["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] #이 아이템은 "logfile_abc_1" 또는 "logfile__001"과 같은 파일에서 데이터를 수집합니다.

로그 레코드에서 숫자를 추출하기 위한 output 매개변수 사용 예제:

logrt[/app1/^test.*log$,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] #이 아이템은 로그 레코드 "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors"와 일치하고 서버로 '6080'만 전송합니다. 숫자 값이 전송되므로 이 아이템의 "정보 유형"을 "숫자 (부호 없음)"으로 설정할 수 있고 그래프, 트리거 등에서 값을 사용할 수 있습니다.

서버로 전송하기 전에 로그 레코드를 재작성하기 위한 output 매개변수 사용 예제:

logrt[/app1/^test.*log$,"([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"\1 RECORDS: \3, ERRORS: \4, DURATION: \2"] #이 아이템은 로그 레코드 "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors"와 일치하고 수정된 레코드 "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08"을 서버로 전송합니다.
logrt.count[file regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>]


회전되는 모니터링 로그 파일에서 일치하는 라인의 수입니다.
반환 값: 정수.
지원되는 플랫폼을 참조하세요.

매개변수:

  • file regexp - 파일의 절대 경로로, 파일명이 정규 표현식을 사용하여 지정됩니다. 정규 표현식은 파일명에만 적용되며 전체 이름과 일치할 필요는 없습니다(예: /path/to/agent는 zabbix_agentd.log와 일치함).
  • regexp - 필요한 패턴을 설명하는 정규 표현식.
  • encoding - 코드 페이지 식별자.
  • maxproclines - 에이전트가 분석할 초당 최대 새 라인 수(10000을 초과할 수 없음). 기본값은 zabbix_agentd.conf의 10*'MaxLinesPerSecond'입니다.
  • mode - 가능한 값: all(기본값) 또는 skip - 오래된 데이터 처리 건너뛰기(새로 생성된 항목에만 영향).
  • maxdelay - 최대 지연시간(초). 유형: float. 값: 0 - (기본값) 로그 파일 라인을 무시하지 않음; > 0.0 - "maxdelay"초 내에서 가장 최근 라인을 분석하기 위해 오래된 라인을 무시. 사용하기 전에 maxdelay 주의사항을 읽어보세요!
  • options - 로그 파일 회전 유형 및 기타 옵션. 가능한 값:
    rotate(기본값),
    copytruncate - copytruncatemaxdelay와 함께 사용할 수 없습니다. 이 경우 maxdelay는 0이거나 지정하지 않아야 합니다; copytruncate 주의사항을 참조하세요,
    mtime-reread - 고유하지 않은 레코드, 수정 시간 또는 크기가 변경되면 다시 읽기(기본값),
    mtime-noreread - 고유하지 않은 레코드, 크기가 변경될 때만 다시 읽기(수정 시간 변경 무시).
  • persistent dir(Unix 시스템의 zabbix_agentd에서만 사용; Zabbix agent 2에서는 지원되지 않음) - 지속적인 파일을 저장할 디렉토리의 절대 경로명. 지속적인 파일에 대한 추가 주의사항도 참조하세요.

주석:

  • 항목은 능동 검사로 구성되어야 합니다;
  • 일치하는 라인은 에이전트에 의한 마지막 로그 검사 이후의 새 라인에서 카운트되므로 항목 업데이트 간격에 따라 달라집니다;
  • 로그 회전은 파일의 마지막 수정 시간을 기반으로 합니다;
  • file regexp 매개변수에서 로그 디렉토리 경로와 로그 파일 정규 표현식은 올바른 디렉토리 구분자로 분리되어야 합니다:
    • Windows에서는 구분자가 백슬래시(\)여야 합니다; 로그 디렉토리 경로와 로그 파일 정규 표현식을 분리하는 것을 제외한 다른 위치에서는 슬래시가 허용될 수 있습니다(아래 예제 참조).
    • 다른 시스템에서는 슬래시(/)여야 합니다.

Windows 예제:

logrt.count["c:/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #이 항목은 "c:/dir1/dir2/dir3"에 있는 로그 파일에서 "pattern_to_match" 패턴의 일치 수를 카운트합니다.
logrt.count["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #이 항목은 네트워크 공유 "//example.com/share/dir1/dir2/dir3"의 로그 파일에서 "pattern_to_match" 패턴의 일치 수를 카운트합니다.

다른 시스템 예제:

logrt.count["/home/zabbix/logs/.*","^logfile[0-9]{1,3}$",,100] #이 항목은 "/home/zabbix/logs" 디렉토리의 로그 파일에서 "^logfile[0-9]{1,3}$" 패턴의 일치 수를 카운트합니다.
logrt.count["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] #이 항목은 "/home/user"에 있는 로그 파일에서 "pattern_to_match" 패턴의 발생 횟수를 카운트합니다.
modbus.get[endpoint,<slave id>,<function>,<address>,<count>,<type>,<endianness>,<offset>]


Modbus 데이터를 읽습니다.
반환 값: JSON 객체.
지원 플랫폼: Linux, Windows.

매개변수:

  • endpoint - protocol://connection_string으로 정의된 엔드포인트;
  • slave id - 슬레이브 ID;
  • function - Modbus 함수;
  • address - 첫 번째 레지스트리, 코일 또는 입력의 주소;
  • count - 읽을 레코드 수;
  • type - 데이터 타입;
  • endianness - 엔디안 설정;
  • offset - 'address'부터 시작하여 결과가 폐기될 레지스터 수.

Windows에서 이 아이템은 endpoint 매개변수에서 UNC 경로를 따르며, 이는 보안 위험이 될 수 있습니다.

매개변수의 상세한 설명을 참조하세요.

net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>]


DNS 서비스의 상태를 확인합니다.
반환 값: 0 - DNS 해석 실패 (DNS 서버가 응답하지 않았거나 오류를 반환함); 1 - DNS 해석 성공.
지원되는 플랫폼을 참조하세요.

매개변수:

  • ip (Zabbix agent 2를 사용하지 않는 한 Windows에서는 무시됨) - DNS 서버의 IP 주소 (기본 DNS 서버의 경우 공백으로 둠);
  • name - 쿼리할 DNS 이름;
  • type - 쿼리할 레코드 타입 (기본값은 SOA);
  • timeout (Zabbix agent 2를 사용하지 않는 한 Windows에서는 무시됨) - 요청의 시간 제한(초) (기본값은 1초);
  • count (Zabbix agent 2를 사용하지 않는 한 Windows에서는 무시됨) - 요청 시도 횟수 (기본값은 2);
  • protocol - DNS 쿼리를 수행하는 데 사용되는 프로토콜: udp (기본값) 또는 tcp.

참고사항:

  • type의 가능한 값은 다음과 같습니다: ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (Windows의 Zabbix agent, 모든 OS의 Zabbix agent 2에서는 지원되지 않음), HINFO, MINFO, TXT, SRV
  • 역방향 DNS 조회의 경우 (typePTR로 설정된 경우), 역순과 비역순 형식 모두로 DNS 이름을 제공할 수 있습니다 (아래 예제 참조). PTR 레코드가 요청될 때 DNS 이름은 실제로 IP 주소입니다.
  • 국제화 도메인 이름은 지원되지 않으므로 대신 IDNA 인코딩된 이름을 사용하세요.

예제:

net.dns[198.51.100.1,example.com,MX,2,1]

net.dns[,198.51.100.1,PTR]
net.dns[,1.100.51.198.in-addr.arpa,PTR]

net.dns[,2a00:1450:400f:800::200e,PTR]
net.dns[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.dns.perf[<ip>,name,<type>,<timeout>,<count>,<protocol>]


DNS 서비스의 성능을 확인합니다.
반환값: Float (0 - 서비스가 다운됨; 초 - 서비스로부터 응답을 기다리는 데 소요된 초 수).
지원되는 플랫폼을 참조하세요.

매개변수:

  • ip (Zabbix agent 2를 사용하지 않는 한 Windows에서는 무시됨) - DNS 서버의 IP 주소 (기본 DNS 서버의 경우 비워 둠);
  • name - 쿼리할 DNS 이름;
  • type - 쿼리할 레코드 유형 (기본값은 SOA);
  • timeout (Zabbix agent 2를 사용하지 않는 한 Windows에서는 무시됨) - 요청에 대한 타임아웃(초) (기본값은 1초);
  • count (Zabbix agent 2를 사용하지 않는 한 Windows에서는 무시됨) - 요청에 대한 시도 횟수 (기본값은 2);
  • protocol - DNS 쿼리를 수행하는 데 사용되는 프로토콜: udp (기본값) 또는 tcp.

주석:

  • type에 가능한 값들:
    ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (Windows의 Zabbix agent, 모든 OS의 Zabbix agent 2에서는 지원되지 않음), HINFO, MINFO, TXT, SRV
  • 역방향 DNS 조회의 경우 (typePTR로 설정된 경우), 역순 및 정순 형식 모두로 DNS 이름을 제공할 수 있습니다 (아래 예제 참조). PTR 레코드가 요청될 때 DNS 이름은 실제로 IP 주소임에 주의하세요.
  • 국제화 도메인 이름은 지원되지 않으므로 대신 IDNA 인코딩된 이름을 사용하세요.
  • Zabbix 7.0.1부터, DNS 서버가 오류 코드(예: NXDOMAIN 또는 SERVFAIL)로 응답할 때 항목은 0 대신 응답 시간을 반환합니다.

예제:

net.dns.perf[198.51.100.1,example.com,MX,2,1]

net.dns.perf[,198.51.100.1,PTR]
net.dns.perf[,1.100.51.198.in-addr.arpa,PTR]

net.dns.perf[,2a00:1450:400f:800::200e,PTR]
net.dns.perf[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.dns.record[<ip>,name,<type>,<timeout>,<count>,<protocol>]


DNS 쿼리를 수행합니다.

Zabbix agent 2는 더 많은 레코드 유형과 DNS 모니터링에 대한 향상된 제어와 같은 추가 기능을 제공하는 net.dns.get도 제공합니다. 반환값: 요구되는 유형의 정보를 담은 문자열.
지원되는 플랫폼을 참조하세요.

매개변수:

  • ip (Zabbix agent 2를 사용하지 않는 한 Windows에서는 무시됨) - DNS 서버의 IP 주소 (기본 DNS 서버의 경우 비워둠);
  • name - 쿼리할 DNS 이름;
  • type - 쿼리할 레코드 유형 (기본값은 SOA);
  • timeout (Zabbix agent 2를 사용하지 않는 한 Windows에서는 무시됨) - 요청의 타임아웃 시간(초) (기본값은 1초);
  • count (Zabbix agent 2를 사용하지 않는 한 Windows에서는 무시됨) - 요청의 시도 횟수 (기본값은 2);
  • protocol - DNS 쿼리를 수행하는 데 사용하는 프로토콜: udp (기본값) 또는 tcp.

주석:

  • type의 가능한 값들:
    ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (Windows의 Zabbix agent, 모든 OS의 Zabbix agent 2에서는 지원되지 않음), HINFO, MINFO, TXT, SRV
  • 역방향 DNS 조회의 경우 (typePTR로 설정된 경우), DNS 이름을 역순 또는 정순 형식으로 제공할 수 있습니다 (아래 예제 참조). PTR 레코드가 요청될 때, DNS 이름은 실제로 IP 주소입니다.
  • 국제화된 도메인 이름은 지원되지 않으므로 대신 IDNA 인코딩된 이름을 사용하세요.

예제:

net.dns.record[198.51.100.1,example.com,MX,2,1]

net.dns.record[,198.51.100.1,PTR]
net.dns.record[,1.100.51.198.in-addr.arpa,PTR]

net.dns.record[,2a00:1450:400f:800::200e,PTR]
net.dns.record[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.if.collisions[if]


윈도우 밖 충돌 수입니다.
반환값: 정수.
지원되는 플랫폼: Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD. NetBSD에서는 루트 권한이 필요합니다.

매개변수:

  • if - 네트워크 인터페이스 이름
net.if.discovery


네트워크 인터페이스 목록입니다. 저수준 검색에 사용됩니다.
반환 값: JSON 객체.
지원되는 플랫폼: Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD, Windows.

net.if.in[if,<mode>]


네트워크 인터페이스의 수신 트래픽 통계입니다.
반환 값: 정수.
지원되는 플랫폼: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows. NetBSD에서는 관리자 권한이 필요합니다.

매개변수:

  • if - 네트워크 인터페이스 이름 (Unix); 네트워크 인터페이스 전체 설명 또는 IPv4 주소; 또는 중괄호 안에 있는 경우 네트워크 인터페이스 GUID (Windows);
  • mode - 가능한 값:
    bytes - 바이트 수 (기본값)
    packets - 패킷 수
    errors - 오류 수
    dropped - 드롭된 패킷 수
    overruns (fifo) - FIFO 버퍼 오류 수
    frame - 패킷 프레임 오류 수
    compressed - 장치 드라이버가 수신한 압축 패킷 수
    multicast - 장치 드라이버가 수신한 멀티캐스트 프레임 수

주석:

  • 초당 바이트 통계를 얻기 위해 이 키를 Change per second 전처리 단계와 함께 사용할 수 있습니다;
  • dropped 모드는 Linux, FreeBSD, HP-UX, MacOS X, OpenBSD, NetBSD에서만 지원됩니다;
  • overruns, frame, compressed, multicast 모드는 Linux에서만 지원됩니다;
  • HP-UX에서 이 항목은 루프백 인터페이스(예: lo0)에 대한 세부 정보를 제공하지 않습니다.

예제:

net.if.in[eth0]
net.if.in[eth0,errors]
net.if.out[if,<mode>]


네트워크 인터페이스의 나가는 트래픽 통계.
반환 값: 정수.
지원 플랫폼: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows. NetBSD에서는 루트 권한이 필요합니다.

매개변수:

  • if - 네트워크 인터페이스 이름 (Unix); 네트워크 인터페이스 전체 설명 또는 IPv4 주소; 또는 중괄호로 묶인 경우 네트워크 인터페이스 GUID (Windows);
  • mode - 가능한 값:
    bytes - 바이트 수 (기본값)
    packets - 패킷 수
    errors - 오류 수
    dropped - 삭제된 패킷 수
    overruns (fifo) - FIFO 버퍼 오류 수
    collisions (colls) - 인터페이스에서 감지된 충돌 수
    carrier - 디바이스 드라이버에서 감지된 캐리어 손실 수
    compressed - 디바이스 드라이버에서 전송한 압축된 패킷 수

코멘트:

  • 초당 바이트 통계를 얻으려면 이 키를 초당 변화량 전처리 단계와 함께 사용할 수 있습니다;
  • dropped 모드는 Linux, HP-UX에서만 지원됩니다;
  • overruns, collision, carrier, compressed 모드는 Linux에서만 지원됩니다;
  • HP-UX에서는 이 항목이 루프백 인터페이스(예: lo0)에 대한 세부 정보를 제공하지 않습니다.

예시:

net.if.out[eth0]
net.if.out[eth0,errors]
net.if.total[if,<mode>]


네트워크 인터페이스에서 수신 및 송신 트래픽 통계의 합계입니다.
반환 값: 정수.
지원 플랫폼: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows. NetBSD에서는 루트 권한이 필요합니다.

매개변수:

  • if - 네트워크 인터페이스 이름 (Unix); 네트워크 인터페이스 전체 설명 또는 IPv4 주소; 또는 중괄호 안에 있는 경우 네트워크 인터페이스 GUID (Windows);
  • mode - 가능한 값:
    bytes - 바이트 수 (기본값)
    packets - 패킷 수
    errors - 오류 수
    dropped - 드롭된 패킷 수
    overruns (fifo) - FIFO 버퍼 오류 수
    collisions (colls) - 인터페이스에서 감지된 충돌 수
    compressed - 디바이스 드라이버에 의해 전송되거나 수신된 압축 패킷 수

주석:

  • 초당 바이트 통계를 얻기 위해 이 키를 초당 변화량 전처리 단계와 함께 사용할 수 있습니다;
  • dropped 모드는 Linux, HP-UX에서만 지원됩니다. 드롭된 패킷은 플랫폼에서 드롭된 패킷에 대해 net.if.innet.if.out이 모두 작동하는 경우에만 지원됩니다.
  • overruns, collision, compressed 모드는 Linux에서만 지원됩니다;
  • HP-UX에서는 이 항목이 루프백 인터페이스(예: lo0)에 대한 세부정보를 제공하지 않습니다.

예시:

net.if.total[eth0]
net.if.total[eth0,errors]
net.tcp.listen[port]


이 TCP 포트가 LISTEN 상태인지 확인합니다.
반환값: 0 - LISTEN 상태가 아님; 1 - LISTEN 상태임.
지원 플랫폼: Linux, FreeBSD, Solaris, MacOS X, Windows.

매개변수:

  • port - TCP 포트 번호

Linux 커널 2.6.14 이상에서는 가능한 경우 커널의 NETLINK 인터페이스로부터 수신 대기 중인 TCP 소켓에 대한 정보를 가져옵니다. 그렇지 않은 경우에는 /proc/net/tcp 및 /roc/net/tcp6 파일에서 정보를 검색합니다.

예제:

net.tcp.listen[80]
net.tcp.port[<ip>,port]


지정된 포트에 TCP 연결을 만들 수 있는지 확인합니다.
반환 값: 0 - 연결할 수 없음; 1 - 연결할 수 있음.
지원되는 플랫폼을 참조하세요.

매개변수:

  • ip - IP 주소 또는 DNS 이름 (기본값은 127.0.0.1);
  • port - 포트 번호.

주석:

  • 간단한 TCP 성능 테스트에는 net.tcp.service.perf[tcp,<ip>,<port>]를 사용하세요;
  • 이러한 확인으로 인해 시스템 데몬 로그 파일에 추가 메시지가 기록될 수 있습니다(일반적으로 SMTP 및 SSH 세션이 로그됨).

예제:

net.tcp.port[,80] #이 아이템은 포트 80에서 실행 중인 웹 서버 가용성을 테스트하는 데 사용할 수 있습니다
net.tcp.service[service,<ip>,<port>]


서비스가 실행 중이고 TCP 연결을 수락하는지 확인합니다.
반환 값: 0 - 서비스가 중단됨; 1 - 서비스가 실행 중.
지원 플랫폼을 참조하세요.

매개변수:

  • service - ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, 또는 telnet (세부사항 참조);
  • ip - IP 주소 또는 DNS 이름 (기본값은 127.0.0.1);
  • port - 포트 번호 (기본적으로 표준 서비스 포트 번호가 사용됨).

주석:

  • 이러한 확인은 시스템 데몬 로그 파일에 추가 메시지를 발생시킬 수 있습니다 (일반적으로 SMTP 및 SSH 세션이 기록됨);
  • 암호화된 프로토콜 확인 (포트 993의 IMAP 또는 포트 995의 POP 등)은 현재 지원되지 않습니다. 해결 방법으로 이런 확인에는 net.tcp.port[]를 사용하시기 바랍니다.
  • Windows에서 LDAP 및 HTTPS 확인은 Zabbix agent 2에서만 지원됩니다;
  • telnet 확인은 로그인 프롬프트 (끝에 ':')를 찾습니다.

예제:

net.tcp.service[ftp,,45] #이 아이템은 TCP 포트 45에서 FTP 서버의 가용성을 테스트하는 데 사용할 수 있습니다
net.tcp.service.perf[service,<ip>,<port>]


TCP 서비스의 성능을 확인합니다.
반환 값: Float (0 - 서비스 다운; 초 - 서비스로부터 응답을 기다리는 데 소요된 시간(초)).
지원되는 플랫폼을 참조하세요.

매개변수:

  • service - ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, 또는 telnet (자세한 내용 참조);
  • ip - IP 주소 또는 DNS 이름 (기본값은 127.0.0.1);
  • port - 포트 번호 (기본적으로 표준 서비스 포트 번호가 사용됨).

주의사항:

  • 암호화된 프로토콜(포트 993의 IMAP이나 포트 995의 POP 등)의 확인은 현재 지원되지 않습니다. 해결 방법으로, 이런 확인에는 net.tcp.service.perf[tcp,<ip>,<port>]를 사용하시기 바랍니다.
  • telnet 확인은 로그인 프롬프트(끝에 ':')를 찾습니다.

예제:

net.tcp.service.perf[ssh] #이 아이템은 SSH 서버로부터 초기 응답 속도를 테스트하는 데 사용할 수 있습니다
net.tcp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]


매개변수와 일치하는 TCP 소켓의 개수를 반환합니다.
반환값: Integer.
지원 플랫폼: Linux, Windows.

매개변수:

  • laddr - 로컬 IPv4/6 주소 또는 CIDR 서브넷;
  • lport - 로컬 포트 번호 또는 서비스 이름;
  • raddr - 원격 IPv4/6 주소 또는 CIDR 서브넷;
  • rport - 원격 포트 번호 또는 서비스 이름;
  • state - 연결 상태 (established, syn_sent, syn_recv, fin_wait1, fin_wait2, time_wait, close, close_wait, last_ack, listen, closing).

예시:

net.tcp.socket.count[,80,,,established] #established 상태의 로컬 TCP 포트 80에 대한 연결 수
net.udp.listen[port]


이 UDP 포트가 LISTEN 상태인지 확인합니다.
반환 값: 0 - LISTEN 상태가 아님; 1 - LISTEN 상태임.
지원되는 플랫폼: Linux, FreeBSD, Solaris, MacOS X.

매개변수:

  • port - UDP 포트 번호

예시:

net.udp.listen[68]
net.udp.service[service,<ip>,<port>]


서비스가 실행 중이고 UDP 요청에 응답하는지 확인합니다.
반환 값: 0 - 서비스 중지; 1 - 서비스 실행 중.
지원되는 플랫폼을 참조하세요.

매개변수:

  • service - ntp (세부사항 참조);
  • ip - IP 주소 또는 DNS 이름 (기본값은 127.0.0.1);
  • port - 포트 번호 (기본적으로 표준 서비스 포트 번호가 사용됨).

예제:

net.udp.service[ntp,,45] #이 항목은 UDP 포트 45에서 NTP 서비스의 가용성을 테스트하는 데 사용할 수 있습니다
net.udp.service.perf[service,<ip>,<port>]


UDP 서비스의 성능을 확인합니다.
반환 값: Float (0 - 서비스가 다운됨; 초 - 서비스로부터 응답을 기다리는 데 소요된 시간(초)).
지원되는 플랫폼을 참조하세요.

매개변수:

  • service - ntp (세부사항 참조);
  • ip - IP 주소 또는 DNS 이름 (기본값은 127.0.0.1);
  • port - 포트 번호 (기본적으로 표준 서비스 포트 번호가 사용됨).

예제:

net.udp.service.perf[ntp] #이 아이템은 NTP 서비스로부터의 응답 시간을 테스트하는 데 사용할 수 있습니다
net.udp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]


매개변수와 일치하는 UDP 소켓의 수를 반환합니다.
반환 값: 정수.
지원 플랫폼: Linux, Windows.

매개변수:

  • laddr - 로컬 IPv4/6 주소 또는 CIDR 서브넷;
  • lport - 로컬 포트 번호 또는 서비스명;
  • raddr - 원격 IPv4/6 주소 또는 CIDR 서브넷;
  • rport - 원격 포트 번호 또는 서비스명;
  • state - 연결 상태 (established, unconn).

예제:

net.udp.socket.count[,,,,established] #연결된 상태의 UDP 소켓 수를 반환
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]


프로세스 CPU 사용률 백분율.
반환값: Float.
지원 플랫폼: Linux, Solaris6.

매개변수:

  • name - 프로세스 이름 (기본값: 모든 프로세스);
  • user - 사용자 이름 (기본값: 모든 사용자);
  • type - CPU 사용률 유형: total (기본값), user, 또는 system;
  • cmdline - 명령행으로 필터링 (정규 표현식);
  • mode - 데이터 수집 모드: avg1 (기본값), avg5, 또는 avg15;
  • zone - 대상 영역: current (기본값) 또는 all. 이 매개변수는 Solaris에서만 지원됩니다.

설명:

  • 반환되는 값은 단일 CPU 코어 사용률 백분율을 기준으로 합니다. 예를 들어, 두 개의 코어를 완전히 사용하는 프로세스의 CPU 사용률은 200%입니다.
  • 프로세스 CPU 사용률 데이터는 최대 1024개의 고유한 (이름, 사용자, 명령행 기준) 쿼리를 지원하는 수집기에 의해 수집됩니다. 지난 24시간 동안 접근되지 않은 쿼리는 수집기에서 제거됩니다.
  • Solaris에서 zone 매개변수를 current (또는 기본값)로 설정할 때, 에이전트가 zone 지원이 없는 Solaris에서 컴파일되었지만 zone이 지원되는 새로운 Solaris에서 실행되는 경우, 에이전트는 NOTSUPPORTED를 반환합니다 (에이전트가 현재 zone으로만 결과를 제한할 수 없습니다). 그러나 이 경우 all은 지원됩니다.

예시:

proc.cpu.util[,root] #"root" 사용자 하에서 실행되는 모든 프로세스의 CPU 사용률
proc.cpu.util[zabbix_server,zabbix] #zabbix 사용자 하에서 실행되는 모든 zabbix_server 프로세스의 CPU 사용률
proc.get[<name>,<user>,<cmdline>,<mode>]


OS 프로세스 및 해당 매개변수의 목록입니다. 저수준 발견에 사용할 수 있습니다.
반환 값: JSON 객체.
지원되는 플랫폼: Linux, FreeBSD, Windows, OpenBSD, NetBSD.

매개변수:

  • name - 프로세스 이름 (기본값: 모든 프로세스);
  • user - 사용자 이름 (기본값: 모든 사용자);
  • cmdline - 명령줄로 필터링 (정규 표현식입니다). 이 매개변수는 Windows에서 지원되지 않으며, 다른 플랫폼에서는 모드가 'summary'로 설정된 경우 지원되지 않습니다.
  • mode - 가능한 값:
    process (기본값), thread (NetBSD에서 지원되지 않음), summary. 각 모드 및 OS에 대해 반환되는 프로세스 매개변수 목록을 참조하세요.

주석:

  • 값을 검색할 수 없는 경우(예: 오류로 인해 프로세스가 이미 종료되었거나 권한이 부족하거나 시스템 호출 실패), -1이 반환됩니다;
  • namecmdline 매개변수로 프로세스를 선택하는 방법에 대한 주의사항을 참조하세요(Linux 전용).

예시:

proc.get[zabbix_server,zabbix,,process] #zabbix 사용자로 실행 중인 모든 zabbix_server 프로세스 목록, PID당 하나의 항목 반환
proc.get[java,,,thread] #모든 Java 프로세스 목록, 스레드당 하나의 항목 반환
proc.get[,zabbix,,summary] #zabbix 사용자로 실행 중인 각 유형별 프로세스의 결합 데이터, 프로세스 이름당 하나의 항목 반환
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]


프로세스가 사용하는 메모리 바이트 수입니다.
반환 값: Integer - modemax, min, sum인 경우; Float - modeavg인 경우
지원 플랫폼: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

매개변수:

  • name - 프로세스 이름 (기본값은 모든 프로세스);
  • user - 사용자 이름 (기본값은 모든 사용자);
  • mode - 가능한 값: avg, max, min, 또는 sum (기본값);
  • cmdline - 명령행으로 필터링 (정규 표현식);
  • memtype - 프로세스가 사용하는 메모리 유형

주석:

  • memtype 매개변수는 Linux, FreeBSD, Solaris6, AIX에서만 지원됩니다;
  • 여러 프로세스가 공유 메모리를 사용하는 경우, 프로세스들이 사용하는 메모리의 합계는 크고 비현실적인 값을 초래할 수 있습니다.

    namecmdline 매개변수로 프로세스를 선택하는 참고사항을 확인하세요 (Linux 특화).

    이 아이템이 명령행에서 호출되고 명령행 매개변수를 포함하는 경우 (예: 에이전트 테스트 모드 사용: zabbix_agentd -t proc.mem[,,,apache2]), 에이전트가 자기 자신을 계산하므로 하나의 추가 프로세스가 계산됩니다.

예시:

proc.mem[,root] #"root" 사용자 하에서 실행되는 모든 프로세스가 사용하는 메모리
proc.mem[zabbix_server,zabbix] #zabbix 사용자 하에서 실행되는 모든 zabbix_server 프로세스가 사용하는 메모리
proc.mem[,oracle,max,oracleZABBIX] #명령행에 oracleZABBIX가 포함된 Oracle 하에서 실행되는 가장 메모리를 많이 사용하는 프로세스가 사용하는 메모리
proc.num[<name>,<user>,<state>,<cmdline>,<zone>]


프로세스 개수입니다.
반환값: 정수.
지원 플랫폼: Linux, FreeBSD, Solaris6, HP-UX, AIX, OpenBSD, NetBSD, Windows.

매개변수:

  • name - 프로세스 이름 (기본값은 모든 프로세스);
  • user - 사용자 이름 (기본값은 모든 사용자);
  • state - 가능한 값:
    all (기본값),
    disk - 인터럽트 불가능한 대기,
    run - 실행 중,
    sleep - 인터럽트 가능한 대기,
    trace - 정지됨,
    zomb - 좀비;
  • cmdline - 명령줄로 필터링 (이것은 정규 표현식입니다);
  • zone - 대상 영역: current (기본값), 또는 all. 이 매개변수는 Solaris에서만 지원됩니다.

주석:

  • disktrace 상태 매개변수는 Linux, FreeBSD, OpenBSD, NetBSD에서만 지원됩니다;
  • Windows에서는 nameuser 매개변수만 지원됩니다;
  • 이 항목이 명령줄에서 호출되고 명령줄 매개변수를 포함할 때 (예: 에이전트 테스트 모드 사용: zabbix_agentd -t proc.num[,,,apache2]), 에이전트가 자기 자신을 계산하므로 하나의 추가 프로세스가 계산됩니다;
  • zone 매개변수를 current (또는 기본값)로 설정할 때, 에이전트가 영역 지원 없이 Solaris에서 컴파일되었지만 영역이 지원되는 최신 Solaris에서 실행되는 경우, 에이전트는 NOTSUPPORTED를 반환합니다 (에이전트는 현재 영역으로만 결과를 제한할 수 없습니다). 하지만 이 경우에는 all이 지원됩니다.
  • namecmdline 매개변수로 프로세스를 선택하는 것에 대한 참고사항을 확인하세요 (Linux 전용).

예시:

proc.num[,mysql] #mysql 사용자로 실행되는 프로세스의 개수
proc.num[apache2,www-data] #www-data 사용자로 실행되는 apache2 프로세스의 개수
proc.num[,oracle,sleep,oracleZABBIX] #명령줄에 oracleZABBIX를 포함하고 Oracle로 실행되는 대기 상태 프로세스의 개수
sensor[device,sensor,<mode>]


하드웨어 센서 값 읽기.
반환 값: Float.
지원 플랫폼: Linux, OpenBSD.

매개변수:

  • device - 장치 이름;
  • sensor - 센서 이름;
  • mode - 가능한 값: avg, max, 또는 min.

주석:

  • Linux 2.4에서는 /proc/sys/dev/sensors를 읽음;
  • Linux 2.6+에서는 /sys/class/hwmon을 읽음. Linux에서 sensor 아이템에 대한 더 자세한 설명을 참조;
  • OpenBSD에서는 hw.sensors MIB를 읽음;
  • Linux 2.4에서 mode를 지정하면 device와 sensor는 정규 표현식으로 처리됨;
  • Linux 2.6+와 OpenBSD에서는 mode가 생략된 경우 device와 sensor가 문자 그대로 처리됨.

예시:

sensor[w83781d-i2c-0-2d,temp1]
sensor[cpu0,temp0] #하나의 CPU 온도
sensor["cpu[0-2]$",temp,avg] #처음 세 개 CPU의 평균 온도
system.boottime


시스템 부팅 시간.
반환 값: 정수 (Unix 타임스탬프).
지원되는 플랫폼: Linux, FreeBSD, Solaris, MacOS X, OpenBSD, NetBSD.

system.cpu.discovery


감지된 CPU/CPU 코어의 목록입니다. 저수준 탐지에 사용됩니다.
반환 값: JSON 객체.
지원되는 플랫폼을 참조하세요.

system.cpu.intr


장치 인터럽트.
반환 값: Integer.
지원 플랫폼: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

system.cpu.load[<cpu>,<mode>]


CPU 로드입니다.
반환 값: Float.
지원되는 플랫폼을 참조하세요.

매개변수:

  • cpu - 가능한 값: all (기본값) 또는 percpu (온라인 CPU 수로 나눈 총 로드);
  • mode - 가능한 값: avg1 (1분 평균, 기본값), avg5, 또는 avg15.

예시:

system.cpu.load[,avg5]
system.cpu.num[<type>]


CPU의 개수입니다.
반환값: Integer.
지원되는 플랫폼: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.

매개변수:

  • type - 가능한 값: online (기본값) 또는 max

max 타입 매개변수는 Linux, FreeBSD, Solaris, MacOS X에서만 지원됩니다.

예시:

system.cpu.num
system.cpu.switches


컨텍스트 스위치의 수입니다.
반환 값: 정수.
지원 플랫폼: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

system.cpu.util[<cpu>,<type>,<mode>,<logical or physical>]


CPU 사용률 백분율.
반환 값: Float.
지원 플랫폼: Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD, Windows.

매개변수:

  • cpu - <CPU number> 또는 all (기본값);
  • type - 가능한 값: user (기본값), idle, nice, system, iowait, interrupt, softirq, steal, guest (Linux 커널 2.6.24 이상), 또는 guest_nice (Linux 커널 2.6.33 이상);
  • mode - 가능한 값: avg1 (1분 평균, 기본값), avg5, 또는 avg15;
  • logical or physical - 가능한 값: logical (기본값) 또는 physical. 이 매개변수는 AIX에서만 지원됩니다.

주석:

  • nice 타입 매개변수는 Linux, FreeBSD, HP-UX, OpenBSD, NetBSD에서만 지원됩니다.
  • iowait 타입 매개변수는 Linux 2.6 이상, Solaris, AIX에서만 지원됩니다.
  • interrupt 타입 매개변수는 Linux 2.6 이상, FreeBSD, OpenBSD에서만 지원됩니다.
  • softirq, steal, guest, guest_nice 타입 매개변수는 Linux 2.6 이상에서만 지원됩니다.
  • avg5avg15 모드 매개변수는 Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD에서 지원됩니다.

예시:

system.cpu.util[0,user,avg5]
system.hostname[<type>,<transform>]


시스템 호스트 이름.
반환 값: String.
지원되는 플랫폼을 참조하세요.

매개변수:

  • type - 가능한 값: netbios (Windows에서 기본값), host (Linux에서 기본값), shorthost (첫 번째 점 이전의 호스트명 부분을 반환, 점이 없는 이름의 경우 전체 문자열), fqdn (Fully Qualified Domain Name 반환);
  • transform - 가능한 값: none (기본값) 또는 lower (소문자로 변환).

값은 uname() 시스템 API 출력에서 nodename을 가져와서 획득됩니다.

반환 값 예시:

system.hostname → linux-w7x1
system.hostname → example.com
system.hostname[shorthost] → example
system.hostname → WIN-SERV2008-I6
system.hostname[host] → Win-Serv2008-I6LonG
system.hostname[host,lower] → win-serv2008-i6long
system.hostname[fqdn,lower] → blog.zabbix.com
system.hw.chassis[<info>]


섀시 정보입니다.
반환 값: String.
지원되는 플랫폼: Linux.

매개변수:

  • info - 가능한 값: full (기본값), model, serial, type, 또는 vendor

주석:

  • 이 아이템 키는 SMBIOS 테이블의 가용성에 의존합니다;
  • sysfs에서 DMI 테이블을 읽으려고 시도하며, sysfs 접근이 실패하면 메모리에서 직접 읽으려고 시도합니다;
  • 값이 sysfs 또는 메모리에서 읽어서 획득되기 때문에 루트 권한이 필요합니다.

예시:

system.hw.chassis[full] → Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop
system.hw.cpu[<cpu>,<info>]


CPU 정보.
반환 값: String 또는 Integer.
지원되는 플랫폼: Linux.

매개변수:

  • cpu - <CPU 번호> 또는 all (기본값);
  • info - 가능한 값: full (기본값), curfreq, maxfreq, model 또는 vendor.

참고사항:

  • /proc/cpuinfo/sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq에서 정보를 수집합니다;
  • CPU 번호와 curfreq 또는 maxfreq가 지정된 경우, 숫자 값(Hz)이 반환됩니다.

예제:

system.hw.cpu[0,vendor] → AuthenticAMD
system.hw.devices[<type>]


PCI 또는 USB 장치 목록입니다.
반환값: Text.
지원되는 플랫폼: Linux.

매개변수:

  • type - pci (기본값) 또는 usb

lspci 또는 lsusb 유틸리티의 출력을 반환합니다 (매개변수 없이 실행됨).

예제:

system.hw.devices → 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
system.hw.macaddr[<interface>,<format>]


MAC 주소 목록입니다.
반환 값: String.
지원되는 플랫폼: Linux.

매개변수:

  • interface - all (기본값) 또는 정규 표현식;
  • format - full (기본값) 또는 short

주석:

  • 이름이 주어진 interface 정규 표현식과 일치하는 인터페이스의 MAC 주소를 나열합니다 (all은 모든 인터페이스를 나열합니다);
  • formatshort로 지정된 경우, 인터페이스 이름과 동일한 MAC 주소는 나열되지 않습니다.

예제:

system.hw.macaddr["eth0$",full] → [eth0] 00:11:22:33:44:55
system.localtime[<type>]


시스템 시간입니다.
반환값: 정수 - typeutc인 경우; 문자열 - typelocal인 경우.
지원 플랫폼을 참조하세요.

매개변수:

  • type - 가능한 값: utc - (기본값) Epoch(1970년 1월 1일 00:00:00 UTC) 이후의 시간을 초 단위로 측정한 값 또는 local - 'yyyy-mm-dd,hh:mm:ss.nnn,+hh:mm' 형식의 시간

Zabbix agent에서 패시브 검사로 사용해야 합니다. Zabbix agent 2에서는 액티브 검사로 구성할 수 있습니다.

예시:

system.localtime[local] #이 키를 사용하여 아이템을 생성한 다음 *Clock* 대시보드 위젯에서 호스트 시간을 표시하는 데 사용합니다.
system.run[command,<mode>]


호스트에서 지정된 명령을 실행합니다.
반환값: 명령의 텍스트 결과 또는 1 - modenowait일 때 (명령 결과에 관계없이).
지원되는 플랫폼을 참조하세요.

매개변수:

  • command - 실행할 명령;
  • mode - 가능한 값: wait - 실행 종료까지 대기 (기본값) 또는 nowait - 대기하지 않음.

주석:

  • 이 항목은 기본적으로 비활성화되어 있습니다. 활성화하는 방법을 알아보세요;
  • 항목의 반환값은 명령에 의해 생성된 표준 출력과 표준 오류를 함께 포함합니다. 종료 코드 확인은 수행되지 않습니다;
  • 올바르게 처리되려면 명령의 반환값이 text 데이터 타입이어야 합니다. 빈 결과도 허용됩니다;
  • 반환값은 16MB로 제한됩니다 (잘려나가는 뒷부분 공백 포함); 데이터베이스 제한도 적용됩니다;
  • 참조: 명령 실행.

예시:

system.run[ls -l /] #루트 디렉토리의 상세한 파일 목록 반환
system.stat[resource,<type>]


시스템 통계입니다.
반환 값: 정수 또는 실수.
지원 플랫폼: AIX.

매개변수:

  • ent - 이 파티션이 받을 자격이 있는 프로세서 단위의 수 (실수);
  • kthr,<type> - 커널 스레드 상태에 대한 정보:
    r - 실행 가능한 커널 스레드의 평균 개수 (실수)
    b - Virtual Memory Manager 대기 큐에 배치된 커널 스레드의 평균 개수 (실수)
  • memory,<type> - 가상 메모리와 실제 메모리 사용에 대한 정보:
    avm - 활성 가상 페이지 (정수)
    fre - 자유 목록 크기 (정수)
  • page,<type> - 페이지 오류와 페이징 활동에 대한 정보:
    fi - 초당 파일 페이지 입력 수 (실수)
    fo - 초당 파일 페이지 출력 수 (실수)
    pi - 페이징 공간에서 페이지 입력된 페이지 수 (실수)
    po - 페이징 공간으로 페이지 출력된 페이지 수 (실수)
    fr - 해제된 페이지 수 (페이지 교체) (실수)
    sr - 페이지 교체 알고리즘에 의해 스캔된 페이지 수 (실수)
  • faults,<type> - 트랩과 인터럽트 비율:
    in - 디바이스 인터럽트 (실수)
    sy - 시스템 호출 (실수)
    cs - 커널 스레드 컨텍스트 스위치 (실수)
  • cpu,<type> - 프로세서 시간 사용률의 백분율 분석:
    us - 사용자 시간 (실수)
    sy - 시스템 시간 (실수)
    id - 유휴 시간 (실수)
    wa - 시스템에 미완료된 디스크/NFS I/O 요청이 있는 동안의 유휴 시간 (실수)
    pc - 소비된 물리적 프로세서 수 (실수)
    ec - 소비된 할당 용량의 백분율 (실수)
    lbusy - 사용자 및 시스템 레벨에서 실행되는 동안 발생한 논리적 프로세서 사용률의 백분율 (실수)
    app - 공유 풀에서 사용 가능한 물리적 프로세서 (실수)
  • disk,<type> - 디스크 통계:
    bps - 드라이브로 전송된(읽기 또는 쓰기) 데이터의 양을 초당 바이트로 나타냄 (정수)
    tps - 물리적 디스크/테이프에 발행된 초당 전송 횟수 (실수)

주석:

  • 이러한 항목의 다음 제한사항에 유의하세요:
    system.stat[cpu,app] - "Shared" 유형의 AIX LPAR에서만 지원
    system.stat[cpu,ec] - "Shared" 및 "Dedicated" 유형의 AIX LPAR에서 지원 ("Dedicated"는 항상 100(퍼센트) 반환)
    system.stat[cpu,lbusy] - "Shared" 유형의 AIX LPAR에서만 지원
    system.stat[cpu,pc] - "Shared" 및 "Dedicated" 유형의 AIX LPAR에서 지원
    system.stat[ent] - "Shared" 및 "Dedicated" 유형의 AIX LPAR에서 지원
system.sw.arch


소프트웨어 아키텍처 정보입니다.
반환 값: String.
지원되는 플랫폼을 참조하세요.

정보는 uname() 함수에서 획득됩니다.

예시:

system.sw.arch → i686
system.sw.os[<info>]


운영체제 정보.
반환값: String.
지원 플랫폼: Linux, Windows.

매개변수:

  • info - 가능한 값: full (기본값), short, 또는 name

정보는 다음에서 획득됩니다 (모든 배포판에 모든 파일과 옵션이 존재하지는 않음):

  • Linux에서 /proc/version (full);
  • Linux에서 /proc/version_signature (short);
  • 이를 지원하는 Linux 시스템에서 /etc/os-release의 PRETTY_NAME 매개변수 또는 /etc/issue.net (name);
  • Windows에서 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion 레지스트리 키.

예시:

system.sw.os[short] → Ubuntu 2.6.35-28.50-generic 2.6.35.11
system.sw.os[full] → [s|Windows 10 Enterprise 22621.1.asd64fre.ni_release.220506-1250 Build 22621.963]
system.sw.os.get


운영 체제에 대한 상세 정보(버전, 유형, 배포 이름, 주 버전 및 부 버전 등).
반환 값: JSON 객체.
지원 플랫폼: Linux, Windows.

system.sw.packages[<regexp>,<manager>,<format>]


설치된 패키지 목록.
반환 값: Text.
지원되는 플랫폼: Linux.

매개변수:

  • regexp - all (기본값) 또는 정규 표현식;
  • manager - all (기본값) 또는 패키지 관리자;
  • format - full (기본값) 또는 short.

설명:

  • 주어진 정규 표현식과 일치하는 이름을 가진 설치된 패키지를 (알파벳순으로) 나열합니다 (all은 모든 패키지를 나열함);
  • 지원되는 패키지 관리자 (실행되는 명령어):
    dpkg (dpkg --get-selections)
    pkgtool (ls /var/log/packages)
    rpm (rpm -qa)
    pacman (pacman -Q)
    portage
  • formatfull로 지정되면, 패키지는 패키지 관리자별로 그룹화됩니다 (각 관리자는 대괄호 안에 이름이 표시된 별도의 줄에 나타남);
  • formatshort로 지정되면, 패키지는 그룹화되지 않고 한 줄에 나열됩니다.

예제:

system.sw.packages[mini,dpkg,short] → python-minimal, python2.6-minimal, ubuntu-minimal
system.sw.packages.get[<regexp>,<manager>]


설치된 패키지의 상세 목록입니다.
반환 값: JSON 객체.
지원되는 플랫폼: Linux.

매개변수:

  • regexp - all (기본값) 또는 정규 표현식;
  • manager - all (기본값) 또는 패키지 관리자 (가능한 값: rpm, dpkg, pkgtool, pacman, 또는 portage).

주석:

  • 주어진 정규 표현식과 일치하는 이름을 가진 설치된 패키지들의 형식화되지 않은 JSON을 반환합니다;
  • 출력은 각각 다음 키들을 포함하는 객체들의 배열입니다: name, manager, version, size, architecture, buildtime 및 installtime (자세한 내용 참조).
system.swap.in[<device>,<type>]


스왑-인 (디바이스에서 메모리로) 통계입니다.
반환 값: Integer.
지원되는 플랫폼: Linux, FreeBSD, OpenBSD.

매개변수:

  • device - 스와핑에 사용되는 디바이스를 지정 (Linux만 해당) 또는 all (기본값);
  • type - 가능한 값: count (스왑인 횟수, 비-Linux 플랫폼의 기본값), sectors (스왑인된 섹터), 또는 pages (스왑인된 페이지, Linux의 기본값).

주석:

  • 이 정보의 출처는:
    /proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
    /proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
  • pages는 디바이스가 지정되지 않은 경우에만 동작한다는 점에 주의하십시오;
  • sectors 타입 매개변수는 Linux에서만 지원됩니다.

예제:

system.swap.in[,pages]
system.swap.out[<device>,<type>]


스왑-아웃 (메모리에서 장치로) 통계입니다.
반환 값: Integer.
지원되는 플랫폼: Linux, FreeBSD, OpenBSD.

매개변수:

  • device - 스와핑에 사용되는 장치 지정 (Linux 전용) 또는 all (기본값);
  • type - 가능한 값: count (스왑아웃 횟수, 비Linux 플랫폼 기본값), sectors (스왑아웃된 섹터), 또는 pages (스왑아웃된 페이지, Linux 기본값).

주석:

  • 이 정보의 소스는 다음과 같습니다:
    /proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
    /proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
  • pages는 장치가 지정되지 않은 경우에만 작동함에 주의하세요;
  • sectors 타입 매개변수는 Linux에서만 지원됩니다.

예시:

system.swap.out[,pages]
system.swap.size[<device>,<type>]


스왑 공간 크기를 바이트 단위로 또는 전체에서 백분율로 반환합니다.
반환 값: Integer - 바이트의 경우; Float - 백분율의 경우.
지원 플랫폼: Linux, FreeBSD, Solaris, AIX, OpenBSD, Windows.

매개변수:

  • device - 스왑에 사용되는 장치 지정 (FreeBSD만 해당) 또는 all (기본값);
  • type - 사용 가능한 값: free (여유 스왑 공간, 기본값), pfree (여유 스왑 공간, 백분율), pused (사용된 스왑 공간, 백분율), total (전체 스왑 공간), 또는 used (사용된 스왑 공간).

참고사항:

  • 스왑 크기가 0인 경우 Windows에서 pfree, pused는 지원되지 않습니다;
  • 장치가 지정되지 않은 경우 Zabbix 에이전트는 스왑 장치(파일)만 고려하고, 물리 메모리는 무시됩니다. 예를 들어, Solaris 시스템에서 swap -s 명령어는 물리 메모리의 일부와 스왑 장치를 포함합니다(swap -l과 달리).

예시:

system.swap.size[,pfree] → 여유 스왑 공간 백분율
system.uname


시스템 식별.
반환 값: String.
지원 플랫폼을 참조하세요.

주석:

  • UNIX에서 이 항목의 값은 uname() 시스템 호출로 얻어집니다;
  • Windows에서는 항목이 OS 아키텍처를 반환하는 반면, UNIX에서는 CPU 아키텍처를 반환합니다.

예시:

system.uname → FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386
system.uname → Windows ZABBIX-WIN 6.0.6001 Microsoft® Windows Server® 2008 Standard Service Pack 1 x86
system.uptime


시스템 가동 시간(초).
반환 값: Integer.
지원 플랫폼: Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD, Windows.

아이템 설정에서는 읽기 쉬운 값을 얻기 위해 s 또는 uptime 단위를 사용하세요.

system.users.num


로그인한 사용자 수입니다.
반환 값: 정수.
지원되는 플랫폼을 참조하세요.

값을 얻기 위해 에이전트 측에서 who 명령이 사용됩니다.

vfs.dev.discovery


블록 장치와 해당 유형의 목록입니다. 로우 레벨 탐지에 사용됩니다.
반환값: JSON object.
지원 플랫폼: Linux.

vfs.dev.read[<device>,<type>,<mode>]


디스크 읽기 통계.
반환 값: Integer - typesectors, operations, bytes인 경우; Float - typesps, ops, bps인 경우.
지원 플랫폼: Linux, FreeBSD, Solaris, AIX, OpenBSD.

매개변수:

  • device - 디스크 장치 (기본값은 all 3);
  • type - 가능한 값: sectors, operations, bytes, sps, ops, 또는 bps (sps, ops, bps는 각각 초당 섹터, 작업, 바이트를 의미함);
  • mode - 가능한 값: avg1 (1분 평균, 기본값), avg5, 또는 avg15. 이 매개변수는 type이 sps, ops, bps일 때만 지원됩니다.

주석:

  • 업데이트 간격이 3시간 이상인 경우2, 이 항목은 항상 '0'을 반환합니다;
  • sectorssps 타입 매개변수는 Linux에서만 지원됩니다;
  • ops 타입 매개변수는 Linux와 FreeBSD에서만 지원됩니다;
  • bps 타입 매개변수는 FreeBSD에서만 지원됩니다;
  • bytes 타입 매개변수는 FreeBSD, Solaris, AIX, OpenBSD에서만 지원됩니다;
  • mode 매개변수는 Linux, FreeBSD에서만 지원됩니다;
  • 상대적 장치명(예: sda)과 선택적 /dev/ 접두사(예: /dev/sda)를 모두 사용할 수 있습니다;
  • LVM 논리 볼륨이 지원됩니다;
  • 다양한 OS별 'type' 매개변수의 기본값:
    AIX - operations
    FreeBSD - bps
    Linux - sps
    OpenBSD - operations
    Solaris - bytes
  • 지원되는 플랫폼에서 sps, opsbps는 1024개 장치로 제한됩니다(개별 1023개와 all용 1개).

예제:

vfs.dev.read[,operations]
vfs.dev.write[<device>,<type>,<mode>]


디스크 쓰기 통계입니다.
반환 값: 정수 - typesectors, operations, bytes인 경우; 실수 - typesps, ops, bps인 경우.
지원 플랫폼: Linux, FreeBSD, Solaris, AIX, OpenBSD.

매개변수:

  • device - 디스크 장치 (기본값은 all 3);
  • type - 가능한 값: sectors, operations, bytes, sps, ops, 또는 bps (sps, ops, bps는 각각 초당 섹터, 연산, 바이트를 의미함);
  • mode - 가능한 값: avg1 (1분 평균, 기본값), avg5, 또는 avg15. 이 매개변수는 type이 sps, ops, bps인 경우에만 지원됩니다.

주석:

  • 3시간 이상의 업데이트 간격을 사용하는 경우2, 이 항목은 항상 '0'을 반환합니다;
  • sectorssps 타입 매개변수는 Linux에서만 지원됩니다;
  • ops 타입 매개변수는 Linux와 FreeBSD에서만 지원됩니다;
  • bps 타입 매개변수는 FreeBSD에서만 지원됩니다;
  • bytes 타입 매개변수는 FreeBSD, Solaris, AIX, OpenBSD에서만 지원됩니다;
  • mode 매개변수는 Linux, FreeBSD에서만 지원됩니다;
  • 상대 장치 이름(예: sda)과 선택적 /dev/ 접두사(예: /dev/sda)를 모두 사용할 수 있습니다;
  • LVM 논리 볼륨이 지원됩니다;
  • 서로 다른 OS에 대한 'type' 매개변수의 기본값:
    AIX - operations
    FreeBSD - bps
    Linux - sps
    OpenBSD - operations
    Solaris - bytes
  • 지원되는 플랫폼에서 sps, ops, bps는 1024개 장치로 제한됩니다 (개별 1023개와 all에 대한 1개).

예제:

vfs.dev.write[,operations]
vfs.dir.count[dir,<regex incl>,<regex excl>,<types incl>,<types excl>,<max depth>,<min size>,<max size>,<min age>,<max age>,<regex excl dir>]


디렉토리 항목 수입니다.
반환 값: Integer.
지원되는 플랫폼을 참조하세요.

매개변수:

  • dir - 디렉토리의 절대 경로;
  • regex incl - 포함할 엔터티(파일, 디렉토리, 심볼릭 링크)의 이름 패턴을 설명하는 정규 표현식; 비어있으면 모두 포함 (기본값);
  • regex excl - 제외할 엔터티(파일, 디렉토리, 심볼릭 링크)의 이름 패턴을 설명하는 정규 표현식; 비어있으면 아무것도 제외하지 않음 (기본값);
  • types incl - 카운트할 디렉토리 항목 유형, 가능한 값: file - 일반 파일, dir - 하위 디렉토리, sym - 심볼릭 링크, sock - 소켓, bdev - 블록 장치, cdev - 문자 장치, fifo - FIFO, dev - "bdev,cdev"와 동의어, all - 모든 유형 (기본값), 즉 "file,dir,sym,sock,bdev,cdev,fifo". 여러 유형은 쉼표로 구분하고 따옴표로 묶어야 합니다.
  • types excl - 카운트하지 않을 디렉토리 항목 유형 (types incl 참조). 일부 항목 유형이 types incltypes excl 모두에 있는 경우, 이 유형의 디렉토리 항목은 카운트되지 않습니다.
  • max depth - 탐색할 하위 디렉토리의 최대 깊이:
    -1 (기본값) - 무제한,
    0 - 하위 디렉토리로 내려가지 않음.
  • min size - 카운트할 파일의 최소 크기(바이트 단위). 더 작은 파일은 카운트되지 않습니다. 메모리 접미사를 사용할 수 있습니다.
  • max size - 카운트할 파일의 최대 크기(바이트 단위). 더 큰 파일은 카운트되지 않습니다. 메모리 접미사를 사용할 수 있습니다.
  • min age - 카운트할 디렉토리 항목의 최소 나이(초 단위). 더 최근의 항목은 카운트되지 않습니다. 시간 접미사를 사용할 수 있습니다.
  • max age - 카운트할 디렉토리 항목의 최대 나이(초 단위). 이 나이 이상으로 오래된 항목은 카운트되지 않습니다 (수정 시간). 시간 접미사를 사용할 수 있습니다.
  • regex excl dir - 제외할 디렉토리의 이름 패턴을 설명하는 정규 표현식. 디렉토리의 모든 내용이 제외됩니다 (regex_excl과 달리)

주석:

  • Windows에서 이 항목은 UNC 경로를 따르며, 이는 보안 위험이 될 수 있습니다;
  • 환경 변수, 예: %APP_HOME%, $HOME, %TEMP%는 지원되지 않습니다;
  • 의사 디렉토리 "."와 ".."는 절대 카운트되지 않습니다;
  • 심볼릭 링크는 디렉토리 탐색에서 절대 따라가지 않습니다;
  • regex inclregex excl 모두 항목 수를 계산할 때 파일과 디렉토리에 적용되지만, 탐색할 하위 디렉토리를 선택할 때는 무시됩니다 (regex incl이 "(?i)\^.+\.zip$"이고 max depth가 설정되지 않은 경우, 모든 하위 디렉토리가 탐색되지만 zip 유형의 파일만 카운트됩니다).
  • 실행 시간은 에이전트 구성의 타임아웃 값(3초)으로 제한됩니다. 큰 디렉토리 탐색은 그보다 오래 걸릴 수 있으므로 데이터가 반환되지 않고 항목이 지원되지 않게 됩니다. 부분 카운트는 반환되지 않습니다.
  • 크기로 필터링할 때 일반 파일만 의미 있는 크기를 가집니다. Linux와 BSD에서는 디렉토리도 0이 아닌 크기를 가집니다 (일반적으로 몇 KB). 장치는 크기가 0입니다. 예를 들어 /dev/sda1의 크기는 해당 파티션 크기를 반영하지 않습니다. 따라서 <min_size><max_size>를 사용할 때는 예상치 못한 결과를 피하기 위해 <types_incl>을 "file"로 지정하는 것이 좋습니다.

예시:

vfs.dir.count[/dev] #/dev의 장치 수를 모니터링 (Linux)
vfs.dir.count["C:\Users\ADMINI~1\AppData\Local\Temp"] #임시 디렉토리의 파일 수를 모니터링
vfs.dir.get[dir,<regex incl>,<regex excl>,<types incl>,<types excl>,<max depth>,<min size>,<max size>,<min age>,<max age>,<regex excl dir>]


디렉터리 항목 목록.
반환 값: JSON 객체.
지원되는 플랫폼을 참조하세요.

매개변수:

  • dir - 디렉터리의 절대 경로;
  • regex incl - 포함할 엔터티(파일, 디렉터리, 심볼릭 링크)의 이름 패턴을 설명하는 정규 표현식; 비어있으면 모두 포함 (기본값);
  • regex excl - 제외할 엔터티(파일, 디렉터리, 심볼릭 링크)의 이름 패턴을 설명하는 정규 표현식; 비어있으면 제외하지 않음 (기본값);
  • types incl - 나열할 디렉터리 항목 유형, 가능한 값: file - 일반 파일, dir - 하위 디렉터리, sym - 심볼릭 링크, sock - 소켓, bdev - 블록 장치, cdev - 문자 장치, fifo - FIFO, dev - "bdev,cdev"와 동의어, all - 모든 유형 (기본값), 즉 "file,dir,sym,sock,bdev,cdev,fifo". 여러 유형은 쉼표로 구분하고 인용부호로 묶어야 합니다.
  • types excl - 나열하지 않을 디렉터리 항목 유형(types incl 참조). 어떤 항목 유형이 types incltypes excl에 모두 있으면, 이 유형의 디렉터리 항목은 나열되지 않습니다.
  • max depth - 탐색할 하위 디렉터리의 최대 깊이:
    -1 (기본값) - 무제한,
    0 - 하위 디렉터리로 내려가지 않음.
  • min size - 나열할 파일의 최소 크기(바이트). 더 작은 파일은 나열되지 않습니다. 메모리 접미사를 사용할 수 있습니다.
  • max size - 나열할 파일의 최대 크기(바이트). 더 큰 파일은 나열되지 않습니다. 메모리 접미사를 사용할 수 있습니다.
  • min age - 나열할 디렉터리 항목의 최소 수명(초). 더 최근의 항목은 나열되지 않습니다. 시간 접미사를 사용할 수 있습니다.
  • max age - 나열할 디렉터리 항목의 최대 수명(초). 이보다 오래되고 더 오래된 항목은 나열되지 않습니다(수정 시간). 시간 접미사를 사용할 수 있습니다.
  • regex excl dir - 제외할 디렉터리의 이름 패턴을 설명하는 정규 표현식. 디렉터리의 모든 내용이 제외됩니다(regex excl과 대조적으로).

주석:

  • Windows에서 이 항목은 UNC 경로를 따르므로 보안 위험이 될 수 있습니다;
  • 환경 변수, 예를 들어 %APP_HOME%, $HOME 및 %TEMP%는 지원되지 않습니다;
  • 의사 디렉터리 "."과 ".."는 절대 나열되지 않습니다;
  • 디렉터리 탐색을 위해 심볼릭 링크를 절대 따르지 않습니다;
  • regex inclregex excl 모두 항목 목록을 생성할 때 파일과 디렉터리에 적용되지만, 탐색할 하위 디렉터리를 선택할 때는 무시됩니다(regex incl이 "(?i)\^.+\.zip$"이고 max depth가 설정되지 않은 경우, 모든 하위 디렉터리가 탐색되지만 zip 유형의 파일만 계산됩니다).
  • 실행 시간은 에이전트 설정의 타임아웃 값으로 제한됩니다. 큰 디렉터리 탐색은 그보다 오래 걸릴 수 있으므로 데이터가 반환되지 않고 항목이 지원되지 않게 됩니다. 부분 목록은 반환되지 않습니다.
  • 크기로 필터링할 때 일반 파일만 의미있는 크기를 가집니다. Linux와 BSD에서 디렉터리도 0이 아닌 크기를 가집니다(일반적으로 몇 KB). 장치는 크기가 0입니다. 예를 들어 /dev/sda1의 크기는 해당 파티션 크기를 반영하지 않습니다. 따라서 min sizemax size를 사용할 때는 놀라는 일을 피하기 위해 types incl을 "file"로 지정하는 것이 좋습니다.

예시:

vfs.dir.get[/dev] #/dev에서 장치 목록을 검색합니다 (Linux)
vfs.dir.get["C:\Users\ADMINI~1\AppData\Local\Temp"] #임시 디렉터리에서 파일 목록을 검색합니다
vfs.dir.size[dir,<regex incl>,<regex excl>,<mode>,<max depth>,<regex excl dir>]


디렉토리 크기(바이트 단위).
반환 값: Integer.
지원되는 플랫폼: Linux, Windows. 이 아이템은 다른 UNIX 계열 플랫폼에서도 작동할 수 있습니다.

매개변수:

  • dir - 디렉토리의 절대 경로;
  • regex incl - 포함할 개체(파일, 디렉토리, 심볼릭 링크)의 이름 패턴을 설명하는 정규 표현식; 비어있으면 모든 것을 포함 (기본값);
  • regex excl - 제외할 개체(파일, 디렉토리, 심볼릭 링크)의 이름 패턴을 설명하는 정규 표현식; 비어있으면 아무것도 제외하지 않음 (기본값);
  • mode - 가능한 값: apparent (기본값) - 디스크 사용량보다는 표면적 파일 크기를 가져옴 (du -sb dir처럼 작동), disk - 디스크 사용량을 가져옴 (du -s -B1 dir처럼 작동). du 명령어와 달리 vfs.dir.size 아이템은 디렉토리 크기를 계산할 때 숨겨진 파일을 고려합니다 (dir 내에서 du -sb .[^.]* *처럼 작동).
  • max depth - 탐색할 하위 디렉토리의 최대 깊이: -1 (기본값) - 무제한, 0 - 하위 디렉토리로 내려가지 않음.
  • regex excl dir - 제외할 디렉토리의 이름 패턴을 설명하는 정규 표현식. 디렉토리의 모든 내용이 제외됩니다 (regex excl과는 대조적);

주석:

  • Windows에서 이 아이템은 UNC 경로를 따르며, 이는 보안 위험이 될 수 있습니다;
  • zabbix 사용자에게 최소한 읽기 권한이 있는 디렉토리만 계산됩니다. 읽기 권한만 있는 디렉토리의 경우 디렉토리 자체의 크기가 계산됩니다. 읽기 및 실행 권한이 있는 디렉토리는 내용을 포함하여 계산됩니다.
  • 큰 디렉토리나 느린 드라이브의 경우 에이전트서버/프록시 구성 파일의 Timeout 설정으로 인해 이 아이템이 시간 초과될 수 있습니다. 필요에 따라 시간 초과 값을 증가시키십시오.
  • 파일 크기 제한은 대용량 파일 지원에 따라 다릅니다.

예시:

vfs.dir.size[/tmp,log] #이름에 'log'가 포함된 /tmp의 모든 파일 크기를 계산
vfs.dir.size[/tmp,log,^.+\.old$] #이름에 'log'가 포함된 /tmp의 모든 파일 크기를 계산하되, 이름이 '.old'로 끝나는 파일은 제외
vfs.file.cksum[file,<mode>]


UNIX cksum 알고리즘으로 계산된 파일 체크섬입니다.
반환값: Integer - modecrc32인 경우, String - modemd5, sha256인 경우.
지원 플랫폼을 참조하세요.

매개변수:

  • file - 파일의 전체 경로;
  • mode - crc32 (기본값), md5, 또는 sha256.

주석:

예시:

vfs.file.cksum[/etc/passwd]

반환값 예시 (각각 crc32/md5/sha256):

675436101
9845acf68b73991eb7fd7ee0ded23c44
ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc
vfs.file.contents[file,<encoding>]


파일의 내용 조회7.
반환 값: Text.
지원되는 플랫폼 참조.

매개변수:

  • file - 파일의 전체 경로;
  • encoding - 코드 페이지 식별자.

주석:

  • Windows에서 이 항목은 UNC 경로를 따르며, 이는 보안 위험이 될 수 있습니다;
  • 반환 값은 16MB로 제한됩니다(잘려나가는 후행 공백 포함); 데이터베이스 제한도 적용됩니다;
  • 파일이 비어있거나 LF/CR 문자만 포함하는 경우 빈 문자열이 반환됩니다;
  • 바이트 순서 표시(BOM)는 출력에서 제외됩니다.

예시:

vfs.file.contents[/etc/passwd]
vfs.file.exists[file,<types incl>,<types excl>]


파일이 존재하는지 확인합니다.
반환 값: 0 - 찾을 수 없음; 1 - 지정된 유형의 파일이 존재함.
지원되는 플랫폼을 참조하세요.

매개변수:

  • file - 파일의 전체 경로;
  • types incl - 포함할 파일 유형 목록, 가능한 값: file (일반 파일, 기본값 (types_excl이 설정되지 않은 경우)), dir (디렉터리), sym (심볼릭 링크), sock (소켓), bdev (블록 장치), cdev (문자 장치), fifo (FIFO), dev ("bdev,cdev"와 동의어), all (언급된 모든 유형, types_excl이 설정된 경우 기본값).
  • types excl - 제외할 파일 유형 목록, 가능한 값은 types_incl을 참조 (기본적으로 제외되는 유형 없음)

주석:

  • Windows에서 이 아이템은 UNC 경로를 따르므로 보안 위험이 될 수 있습니다;
  • 여러 유형은 쉼표로 구분하고 전체 집합을 따옴표 ""로 묶어야 합니다;
  • 동일한 유형이 <types_incl>과 <types_excl> 모두에 있으면 이 유형의 파일은 제외됩니다;
  • 파일 크기 제한은 대용량 파일 지원에 따라 달라집니다.

예제:

vfs.file.exists[/tmp/application.pid]
vfs.file.exists[/tmp/application.pid,"file,dir,sym"]
vfs.file.exists[/tmp/application_dir,dir]
vfs.file.get[file]


파일에 대한 정보를 반환합니다.
반환값: JSON 객체.
지원되는 플랫폼을 참조하세요.

매개변수:

  • file - 파일의 전체 경로

주석:

  • Windows에서 이 항목은 UNC 경로를 따르며, 이는 보안 위험이 될 수 있습니다;
  • UNIX 계열 시스템에서 지원되는 파일 유형: 일반 파일, 디렉토리, 심볼릭 링크, 소켓, 블록 장치, 문자 장치, FIFO.
  • 파일 크기 제한은 대용량 파일 지원에 따라 달라집니다.

예시:

vfs.file.get[/etc/passwd] #/etc/passwd 파일에 대한 정보(유형, 사용자, 권한, SID, uid 등)가 포함된 JSON을 반환
vfs.file.md5sum[file]


파일의 MD5 체크섬입니다.
반환 값: 문자열 (파일의 MD5 해시).
지원되는 플랫폼을 참조하세요.

매개변수:

  • file - 파일의 전체 경로

주석:

예제:

vfs.file.md5sum[/usr/local/etc/zabbix_agentd.conf]

반환 값 예제:

b5052decb577e0fffd622d6ddc017e82
vfs.file.owner[file,<ownertype>,<resulttype>]


파일의 소유자를 검색합니다.
반환 값: String.
지원 플랫폼을 참조하세요.

매개변수:

  • file - 파일의 전체 경로;
  • ownertype - user (기본값) 또는 group (Unix만 해당);
  • resulttype - name (기본값) 또는 id; id의 경우 - Unix에서는 uid/gid를 반환하고, Windows에서는 SID를 반환합니다.

설명:

예시:

vfs.file.owner[/tmp/zabbix_server.log] #/tmp/zabbix_server.log의 파일 소유자를 반환
vfs.file.owner[/tmp/zabbix_server.log,,id] #/tmp/zabbix_server.log의 파일 소유자 ID를 반환
vfs.file.permissions[file]


UNIX 권한을 포함하는 8진수 4자리 문자열을 반환합니다.
반환 값: 문자열.
지원 플랫폼: Linux. 이 아이템은 다른 UNIX 계열 플랫폼에서도 작동할 수 있습니다.

매개변수:

  • file - 파일의 전체 경로

파일 크기 제한은 대용량 파일 지원에 따라 달라집니다.

예제:

vfs.file.permissions[/etc/passwd] #/etc/passwd의 권한을 반환합니다. 예: '0644'
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]


파일에서 문자열을 검색합니다7.
반환값: 일치하는 문자열이 포함된 줄 또는 선택적 output 매개변수로 지정된 형식.
지원 플랫폼을 참조하세요.

매개변수:

  • file - 파일의 전체 경로;
  • regexp - 필요한 패턴을 설명하는 정규 표현식;
  • encoding - 코드 페이지 식별자;
  • start line - 검색할 첫 번째 줄 번호 (기본값은 파일의 첫 번째 줄);
  • end line - 검색할 마지막 줄 번호 (기본값은 파일의 마지막 줄);
  • output - 선택적 출력 형식 템플릿. \0 이스케이프 시퀀스는 일치하는 텍스트 부분 (일치가 시작되는 첫 번째 문자부터 일치가 끝나는 문자까지)으로 대체되고, \N (N=1...9) 이스케이프 시퀀스는 N번째 일치하는 그룹으로 대체됩니다 (N이 캡처된 그룹 수를 초과하면 빈 문자열).

참고사항:

  • Windows에서 이 아이템은 UNC 경로를 따르며, 이는 보안 위험이 될 수 있습니다;
  • 파일 크기 제한은 대용량 파일 지원에 따라 다릅니다.
  • 첫 번째로 일치하는 줄만 반환됩니다;
  • 표현식과 일치하는 줄이 없으면 빈 문자열이 반환됩니다;
  • 바이트 순서 표시(BOM)는 출력에서 제외됩니다;
  • output 매개변수를 사용한 콘텐츠 추출은 에이전트에서 수행됩니다.

예제:

vfs.file.regexp[/etc/passwd,zabbix]
vfs.file.regexp[/path/to/some/file,"([0-9]+)$",,3,5,\1]
vfs.file.regexp[/etc/passwd,"^zabbix:.:([0-9]+)",,,,\1] → *zabbix* 사용자의 ID 가져오기
vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>]


파일에서 문자열을 찾습니다7.
반환값: 0 - 일치하는 항목을 찾지 못함; 1 - 찾음.
지원되는 플랫폼을 참조하세요.

매개변수:

  • file - 파일의 전체 경로;
  • regexp - 필요한 패턴을 설명하는 정규 표현식;
  • encoding - 코드 페이지 식별자;
  • start line - 검색할 첫 번째 줄의 번호 (기본값은 파일의 첫 번째 줄);
  • end line - 검색할 마지막 줄의 번호 (기본값은 파일의 마지막 줄).

주석:

  • Windows에서 이 항목은 UNC 경로를 따라가며, 이는 보안 위험이 될 수 있습니다;
  • 파일 크기 제한은 대용량 파일 지원에 따라 달라집니다.
  • 바이트 순서 표시(BOM)는 무시됩니다.

예시:

vfs.file.regmatch[/var/log/app.log,error]
vfs.file.size[file,<mode>]


파일 크기(바이트 단위).
반환값: Integer.
지원되는 플랫폼을 참조하세요.

매개변수:

  • file - 파일의 전체 경로;
  • mode - 가능한 값: bytes(기본값) 또는 lines(빈 줄도 포함하여 계산됨).

주석:

  • Windows에서 이 항목은 UNC 경로를 따르므로 보안 위험이 될 수 있습니다;
  • 파일은 사용자 zabbix에 대해 읽기 권한이 있어야 합니다;
  • 파일 크기 제한은 큰 파일 지원에 따라 달라집니다.

예제:

vfs.file.size[/var/log/syslog]
vfs.file.time[file,<mode>]


파일 시간 정보입니다.
반환 값: Integer (Unix 타임스탬프).
지원 플랫폼을 참조하세요.

매개변수:

  • file - 파일의 전체 경로;
  • mode - 가능한 값:
    modify (기본값) - 파일 내용의 마지막 수정 시간,
    access - 파일의 마지막 읽기 시간,
    change - 파일 속성의 마지막 변경 시간

주석:

예제:

vfs.file.time[/etc/passwd,modify]
vfs.fs.discovery


타입 및 마운트 옵션과 함께 마운트된 파일시스템 목록입니다. Low-level discovery에 사용됩니다.
반환 값: JSON 객체.
지원 플랫폼: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.

vfs.fs.get


마운트된 파일시스템의 목록과 함께 해당 유형, 사용 가능한 디스크 공간, inode 통계 및 마운트 옵션을 제공합니다. 저수준 검색에 사용할 수 있습니다.
반환 값: JSON 객체.
지원 플랫폼: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.

주석:

vfs.fs.inode[fs,<mode>]


inode의 개수 또는 백분율.
반환 값: Integer - 개수; Float - 백분율.
지원 플랫폼을 참조하세요.

매개변수:

  • fs - 파일 시스템;
  • mode - 가능한 값: total (기본값), free, used, pfree (사용 가능, 백분율), 또는 pused (사용됨, 백분율).

동적 inode를 가진 파일 시스템(예: btrfs)의 경우처럼 inode 개수가 0과 같을 경우, pfree/pused 값은 각각 "100"과 "0"으로 보고됩니다.

예제:

vfs.fs.inode[/,pfree]
vfs.fs.size[fs,<mode>]


디스크 공간을 바이트 단위 또는 전체 대비 백분율로 반환합니다.
반환 값: Integer - 바이트의 경우; Float - 백분율의 경우.
지원되는 플랫폼을 참조하세요.

매개변수:

  • fs - 파일시스템;
  • mode - 가능한 값: total (기본값), free, used, pfree (여유 공간, 백분율), 또는 pused (사용 공간, 백분율).

주의사항:

  • 파일시스템이 마운트되지 않은 경우, 마운트 지점이 위치한 로컬 파일시스템의 크기를 반환합니다;
  • 파일시스템의 예약 공간은 고려되며 free 모드 사용 시 포함되지 않습니다.

예제:

vfs.fs.size[/tmp,free]
vm.memory.size[<mode>]


메모리 크기를 바이트 또는 전체에서의 백분율로 반환합니다.
반환값: Integer - 바이트의 경우; Float - 백분율의 경우.
지원되는 플랫폼을 참조하세요.

매개변수:

  • mode - 가능한 값: total (기본값), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired, used, pused (사용됨, 백분율), available, 또는 pavailable (사용 가능, 백분율).

주석:

  • 이 항목은 세 가지 매개변수 범주를 허용합니다:
    • total - 총 메모리 양;
    • 플랫폼별 메모리 유형: active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired;
    • 얼마나 많은 메모리가 사용되고 사용 가능한지에 대한 사용자 수준 추정치: used, pused, available, pavailable;
  • active 모드 매개변수는 FreeBSD, HP-UX, MacOS X, OpenBSD, NetBSD에서만 지원됩니다;
  • anon, exec, file 모드 매개변수는 NetBSD에서만 지원됩니다;
  • buffers 모드 매개변수는 Linux, FreeBSD, OpenBSD, NetBSD에서만 지원됩니다;
  • cached 모드 매개변수는 Linux, FreeBSD, AIX, OpenBSD, NetBSD에서만 지원됩니다;
  • inactive, wired 모드 매개변수는 FreeBSD, MacOS X, OpenBSD, NetBSD에서만 지원됩니다;
  • pinned 모드 매개변수는 AIX에서만 지원됩니다;
  • shared 모드 매개변수는 Linux 2.4, FreeBSD, OpenBSD, NetBSD에서만 지원됩니다;
  • 이 항목에 대한 추가 세부사항도 참조하세요.

예시:

vm.memory.size[pavailable]
web.page.get[host,<path>,<port>]


웹 페이지의 콘텐츠를 가져옵니다.
반환 값: 텍스트로 된 웹 페이지 소스 (헤더 포함).
지원되는 플랫폼을 참조하세요.

매개변수:

  • host - 호스트명 또는 URL (scheme://host:port/path 형식으로, host만 필수). 허용되는 URL 스키마: http, https4. 스키마가 없으면 http로 처리됩니다. URL이 지정된 경우 pathport는 비어있어야 합니다. 인증이 필요한 서버에 연결할 때 사용자명/비밀번호 지정, 예: http://user:[email protected]는 cURL 지원4이 있을 때만 가능합니다. 호스트명에서 Punycode가 지원됩니다.
  • path - HTML 문서의 경로 (기본값은 /);
  • port - 포트 번호 (HTTP의 기본값은 80)

참고사항:

  • host에 지정된 리소스가 존재하지 않거나 사용할 수 없으면 이 아이템은 지원되지 않음으로 표시됩니다;
  • host는 호스트명, 도메인명, IPv4 또는 IPv6 주소일 수 있습니다. 하지만 IPv6 주소의 경우 Zabbix 에이전트가 IPv6 지원을 활성화하여 컴파일되어야 합니다.

예제:

web.page.get[www.example.com,index.php,80]
web.page.get[https://www.example.com]
web.page.get[https://blog.example.com/?s=zabbix]
web.page.get[localhost:80]
web.page.get["[::1]/server-status"]
web.page.perf[host,<path>,<port>]


전체 웹 페이지의 로딩 시간(초).
반환 값: Float.
지원 플랫폼을 참조하세요.

매개변수:

  • host - 호스트명 또는 URL (scheme://host:port/path 형식, 여기서 host만 필수). 허용되는 URL 스키마: http, https4. 누락된 스키마는 http로 처리됩니다. URL이 지정된 경우 pathport는 비어있어야 합니다. 인증이 필요한 서버에 연결할 때 사용자 이름/패스워드 지정 예: http://user:[email protected]는 cURL 지원4이 있을 때만 가능합니다. 호스트명에서 Punycode가 지원됩니다.
  • path - HTML 문서의 경로 (기본값은 /);
  • port - 포트 번호 (HTTP의 기본값은 80)

주석:

  • 이 아이템은 host에 지정된 리소스가 존재하지 않거나 사용할 수 없는 경우 지원되지 않음 상태가 됩니다;
  • host는 호스트명, 도메인 이름, IPv4 또는 IPv6 주소가 될 수 있습니다. 하지만 IPv6 주소의 경우 Zabbix 에이전트가 IPv6 지원을 활성화하여 컴파일되어야 합니다.

예시:

web.page.perf[www.example.com,index.php,80]
web.page.perf[https://www.example.com]
web.page.regexp[host,<path>,<port>,regexp,<length>,<output>]


웹 페이지에서 문자열을 찾습니다.
반환값: 일치하는 문자열 또는 선택적 output 매개변수로 지정된 값.
지원 플랫폼을 참조하세요.

매개변수:

  • host - 호스트명 또는 URL (scheme://host:port/path 형식, 여기서 host만 필수). 허용되는 URL 스킴: http, https4. 스킴이 없으면 http로 처리됩니다. URL이 지정되면 pathport는 비어있어야 합니다. 인증이 필요한 서버에 연결할 때 사용자명/비밀번호 지정 (예: http://user:[email protected])은 cURL 지원이 있을 때만 가능합니다 4. 호스트명에서 Punycode가 지원됩니다.
  • path - HTML 문서의 경로 (기본값은 /);
  • port - 포트 번호 (HTTP의 기본값은 80)
  • regexp - 필요한 패턴을 설명하는 정규 표현식;
  • length - 반환할 최대 문자 수;
  • output - 선택적 출력 형식 템플릿. \0 이스케이프 시퀀스는 일치하는 텍스트 부분으로 대체되고 (일치가 시작되는 첫 번째 문자부터 일치가 끝나는 문자까지), \N (N=1...9) 이스케이프 시퀀스는 N번째 일치 그룹으로 대체됩니다 (N이 캡처된 그룹 수를 초과하면 빈 문자열).

주석:

  • host에 지정된 리소스가 존재하지 않거나 사용할 수 없는 경우 이 아이템은 지원되지 않음 상태가 됩니다;
  • host는 호스트명, 도메인명, IPv4 또는 IPv6 주소가 될 수 있습니다. 하지만 IPv6 주소의 경우 Zabbix 에이전트가 IPv6 지원이 활성화된 상태로 컴파일되어야 합니다.
  • output 매개변수를 사용한 콘텐츠 추출은 에이전트에서 수행됩니다.

예제:

web.page.regexp[www.example.com,index.php,80,OK,2]
web.page.regexp[https://www.example.com,,,OK,2]
agent.hostmetadata


에이전트 호스트 메타데이터.
반환값: 문자열.
지원 플랫폼을 참조하세요.

HostMetadata 또는 HostMetadataItem 매개변수의 값을 반환하거나, 정의된 것이 없으면 빈 문자열을 반환합니다.

agent.hostname


에이전트 호스트 이름.
반환값: String.
지원 플랫폼을 참조하세요.

반환값:

  • 수동 점검의 경우 - 에이전트 구성 파일의 Hostname 매개변수에 나열된 첫 번째 호스트의 이름;
  • 능동 점검의 경우 - 현재 호스트명의 이름.
agent.ping


에이전트 가용성 확인.
반환 값: Nothing - 사용 불가; 1 - 사용 가능.
지원되는 플랫폼을 참조하세요.

호스트 사용 불가 상태를 확인하려면 nodata() 트리거 함수를 사용하세요.

agent.variant


Zabbix 에이전트의 변형(Zabbix 에이전트 또는 Zabbix 에이전트 2)입니다.
반환값: 1 - Zabbix 에이전트; 2 - Zabbix 에이전트 2.
지원되는 플랫폼을 참조하세요.

agent.version


Zabbix 에이전트의 버전.
반환 값: 문자열.
지원되는 플랫폼을 참조하세요.

반환 값 예시:

6.0.3
zabbix.stats[<ip>,<port>]


Zabbix 서버 또는 프록시의 내부 메트릭 집합을 반환합니다. ipport가 지정되면 원격 인스턴스에서 메트릭을 검색하고, 그렇지 않으면 로컬 인스턴스에서 검색합니다.
반환 값: JSON 객체.
지원되는 플랫폼을 참조하세요.

매개변수:

  • ip - 원격으로 쿼리할 서버/프록시의 IP/DNS/네트워크 마스크 목록 (기본값은 127.0.0.1);
  • port - 원격으로 쿼리할 서버/프록시의 포트 (기본값은 10051)

주석:

  • 이 아이템은 선택된 내부 메트릭 집합을 반환합니다. 자세한 내용은 Zabbix 통계의 원격 모니터링을 참조하세요;
  • 통계 요청은 대상 인스턴스의 'StatsAllowedIP' 서버/프록시 매개변수에 나열된 주소에서만 수락됩니다.
zabbix.stats[<ip>,<port>,queue,<from>,<to>]


Zabbix 서버 또는 프록시에서 지연된 큐에 있는 모니터링 아이템의 수를 반환합니다. ipport가 지정된 경우 원격 인스턴스에서 메트릭을 가져오고, 그렇지 않으면 로컬 인스턴스에서 가져옵니다.
반환 값: JSON 객체.
지원 플랫폼을 참조하세요.

매개변수:

  • ip - 원격으로 쿼리할 서버/프록시의 IP/DNS/네트워크 마스크 목록 (기본값은 127.0.0.1);
  • port - 원격으로 쿼리할 서버/프록시의 포트 (기본값은 10051)
  • queue - 상수 (그대로 사용)
  • from - 최소 지연 시간 (기본값은 6초)
  • to - 최대 지연 시간 (기본값은 무한대)

통계 요청은 대상 인스턴스의 'StatsAllowedIP' 서버/프록시 매개변수에 나열된 주소에서만 허용됩니다.

각주

1Linux 관련 참고사항. Zabbix agent는 파일시스템 /proc에 대한 읽기 전용 액세스 권한이 있어야 합니다. www.grsecurity.org의 커널 패치는 비특권 사용자의 액세스 권한을 제한합니다.

2 vfs.dev.read[], vfs.dev.write[]: Zabbix agent는 항목 값이 3시간 이상 액세스되지 않으면 "유령" 장치 연결을 종료합니다. 이는 시스템에 동적으로 경로가 변경되는 장치가 있거나 장치가 수동으로 제거된 경우 발생할 수 있습니다. 또한 이러한 항목들은 업데이트 간격이 3시간 이상인 경우 항상 '0'을 반환한다는 점을 참고하세요.

3 vfs.dev.read[], vfs.dev.write[]: 첫 번째 매개변수에 기본값 all을 사용하면 키는 sda, sdb와 같은 모든 블록 장치와 해당 파티션(sda1, sda2, sdb3...)과 해당 블록 장치/파티션을 기반으로 한 다중 장치(MD raid) 및 해당 블록 장치/파티션을 기반으로 한 논리 볼륨(LVM)을 포함한 요약 통계를 반환합니다. 이러한 경우 반환된 값은 절대값이 아닌 상대값(시간에 따른 동적 값)으로만 고려해야 합니다.

4 SSL (HTTPS)은 agent가 cURL 지원으로 컴파일된 경우에만 지원됩니다. 그렇지 않으면 항목이 지원되지 않음으로 변경됩니다.

5 byteserrors 값은 바이트, 오류 및 사용률 통계가 커널에 의해 저장 및/또는 보고되지 않기 때문에 Solaris 10 6/06까지 포함한 Solaris 시스템의 루프백 인터페이스에서는 지원되지 않습니다. 그러나 net-snmp를 통해 Solaris 시스템을 모니터링하는 경우, net-snmp가 1997년으로 거슬러 올라가는 cmu-snmp의 레거시 코드를 포함하고 있어 인터페이스 통계에서 바이트 값 읽기에 실패하면 루프백 인터페이스에 존재하는 패킷 카운터에 임의의 값 308을 곱한 값을 반환하기 때문에 값이 반환될 수 있습니다. 이는 패킷의 평균 길이가 308 옥텟이라는 가정을 하는 것으로, Solaris 시스템의 루프백 인터페이스 MTU 한계가 8892바이트인 점을 고려하면 매우 대략적인 추정입니다. 이러한 값들은 정확하거나 심지어 근사치로도 가정해서는 안 됩니다. 이는 추정치입니다. Zabbix agent는 어떠한 추정 작업도 수행하지 않지만, net-snmp는 이러한 필드에 대한 값을 반환합니다.

6 /proc/pid/psinfo에서 얻어진 Solaris의 명령줄은 80바이트로 제한되며 프로세스가 시작될 때의 명령줄을 포함합니다.

7 vfs.file.contents[], vfs.file.regexp[], vfs.file.regmatch[] 항목은 파일 내용을 검색하는 데 사용할 수 있습니다. 민감한 정보가 포함된 특정 파일에 대한 액세스를 제한하려면, 해당 파일을 볼 수 있는 권한이 없는 사용자로 Zabbix agent를 실행하세요.

명령줄 유틸리티와 함께 사용

명령줄에서 zabbix_agentd 또는 zabbix_get을 사용하여 아이템 키를 테스트하거나 사용할 때는 셸 문법도 고려해야 함에 주의하세요.

예를 들어, 키의 특정 매개변수가 큰따옴표로 묶여야 하는 경우 큰따옴표를 명시적으로 이스케이프해야 합니다. 그렇지 않으면 셸에서 특수 문자로 인식하여 제거되고 Zabbix 유틸리티에 전달되지 않습니다.

예시:

zabbix_agentd -t 'vfs.dir.count[/var/log,,,"file,dir",,0]'

zabbix_agentd -t vfs.dir.count[/var/log,,,\"file,dir\",,0]

인코딩 설정

획득한 데이터가 손상되지 않도록 하기 위해 encoding 매개변수에서 검사 처리를 위한 올바른 인코딩을 지정할 수 있습니다(예: 'vfs.file.contents'). 지원되는 인코딩 목록(코드 페이지 식별자)은 libiconv (GNU Project) 문서나 Microsoft Windows SDK의 "Code Page Identifiers" 문서에서 찾을 수 있습니다. Microsoft는 때때로 일부 코드 페이지를 "관리되는 애플리케이션에서만 사용 가능"으로 표시한다는 점에 유의하세요. 즉, .NET 런타임을 통해서만 노출되고 네이티브 Win32 API를 통해서는 사용할 수 없습니다. Zabbix agent는 자체 인코딩 변환 로직을 구현하므로, 네이티브 Windows 함수가 해당 코드 페이지를 제공하지 않더라도 Zabbix agent에서 지원됩니다.

encoding 매개변수에 인코딩이 지정되지 않은 경우 다음 해결 전략이 적용됩니다:

  • 인코딩이 지정되지 않은 경우(또는 빈 문자열인 경우) UTF-8로 가정하며, 데이터는 "있는 그대로" 처리됩니다;
  • BOM 분석 - 'vfs.file.contents', 'vfs.file.regexp', 'vfs.file.regmatch' 항목에 적용됩니다. 파일 시작 부분의 바이트 순서 표시(BOM)를 사용하여 올바른 인코딩을 결정하려고 시도합니다. BOM이 없는 경우 - 대신 표준 해결 방법(위 참조)이 적용됩니다.

에이전트 항목 문제 해결

패시브 체크의 경우, 서버의 에이전트 요청이 먼저 타임아웃되어 항목이 값을 가져오지 못하는 것을 방지하려면 다음 사항에 주의해야 합니다:

  • 에이전트 버전이 서버 버전보다 오래된 경우, 항목 구성(또는 전역 타임아웃)의 Timeout 값이 에이전트 구성 파일Timeout 값보다 높아야 할 수 있습니다.
  • 에이전트 버전이 서버 버전보다 새로운 경우, 서버 구성 파일Timeout 값이 에이전트 구성 파일Timeout 값보다 높아야 할 수 있습니다.