본문 바로가기

DevOps/Zabbix

자빅스에 대해서

자빅스란?

  • 엔터프라이즈급 오픈소스 분산 모니터링 시스템
  • 서버, 네트워크 장비, 애플리케이션, 데이터베이스, 서비스 등 상태와 성능을 실시간으로 모니터링하고, 문제를 감지했을 때 알림을 제공하거나 자동화된 대응 작업을 수행할 수 있습니다.

동작 방식

  • Active or Passive
  1. Active (Agent → Server)
    Zabbix Agent 설정 파일에 serverActive의 IP 지정. 해당 IP를 참조하여 데이터를 전송
    Active는 활성이라는 뜻으로, 주기적으로 결과를 전송
  2. Passive (Server → Agent)
    Zabbix 동작방식은 Passive가 기본
    요청이 있을 경우 데이터를 전송
  • 폴링은 수동적(Passive), 트래핑은 능동적(Active)으로 기능하며, 두가지 방식을 사용해서 특정 간격이나 시간에 Health Check가 가능

 

기능

  • 데이터 수집
    • 가용성 및 성능 검사
    • 사용자 정의 검사
    • 사용자 정의 간격으로 원하는 데이터 수집
    • 서버 / 프록시 및 에이전트가 수행
    • 기본적으로 30초마다 지표 수집, 인터벌을 조정할 수 있다.
  • 유연한 임계 값 정의
    • 데이터베이스로부터 트리거, 참조값이라고 하는 매우 유연한 문제 임계값을 정의할 수 있다.
  • 구성 가능한 알람
    • 에스컬레이션 일정, 받는 사람, 미디어 유형에 대한 보내는 알림을 사용자 지정할 수 있음.
    • 알림에 대해 구성을 고도화할 수 있으며, 사용자 정의 메시지를 이용해 알람 내용을 설정할 수 있다.
  • 그래프 작업/ 다양한 시각화 옵션
    • 강력한 모니터링 기능과 그래프를 하나의 도구로 결합함.
    • 사용자 정의에 따른 다양한 그래프를 지원하고 다양한 스크린을 이용해 대시보드 구현할 수 있다.
    • 모니터링 된 항목을 내장된 그래프 기능을 사용하여 즉시 그래프로 표현할 수 있음.
  • 웹 모니터링
    • 웹 사이트에서 시뮬레이션 된 마우스 클릭 경로를 따라 기능 및 응답시간을 확인할 수 있음.
  • 데이터 저장
    • 수집한 데이터를 MySQL 등의 데이터베이스에 저장
    • 데이터 저장 기간을 자유롭게 구성할 수 있고, 데이터베이스 백업 기능이 지원됨.
  • 쉬운 구성
    • 모니터링 된 장치 추가
  • 템플릿 사용
    • 템플릿을 사용해 검사 시간을 절약할 수 있음.
    • 다른 템플릿을 상속할 수 있는 템플릿
  • 네트워크 발견
    • 네트워크 장치를 자동 검색
    • 에이전트를 자동으로 등록하고, 파일 시스템, 네트워크 인터페이스 및 SNMP OID 발견
  • 빠른 웹 인터페이스
    • PHP 웹 기반 프론트 엔드
    • 어디서든 액세스 할 수 있는 장점.
  • Zabbix API
    • 대량 조작, 타사 소프트웨어 통합 등의 목적을 위해 Zabbix에 프로그래밍 가능 인터페이스를 제공한다.
  • 사용 권한 시스템
    • 시스템에 대한 사용자의 권한을 설정해서 특정 사용자를 특정 뷰에 한정할 수 있다.
  • 모든 기능을 갖춘, 쉽게 확장 가능한 에이전트
    • Linux와 Windonws 모두에 배포 가능
  • 복잡한 환경에 대비
    • zabbix 프록시를 사용해 원격 모니터링을 쉽게 할 수 있음.

zabbix 구조

Server + Web Interface + Proxy + Agent + Database

  • Server
    • 모니터링을 수행하는 중앙 프로세스이자 데이터 저장소
    • 통계 데이터, 설정 데이터 저장.
  • Web Interface
    • zabbix Access Interface 제공
  • Proxy
    • zabbix 서버의 부하 분산에 사용
    • 서버를 대신하여 성능/가용성 데이터 수집
      -Agent
    • 리소스와 애플리케이션 모니터링
    • 수집 데이터를 Database에 전송

  • Host: 수집 대상 서버
    서버, 네트워크 장비, 특정 네트워크 장비의 일부 아이템 등이 그 대상이 될 수 있다.
  • Item: 데이터 메트릭 수집 항목 (CPU 사용률이나 메모리 사용량 등)
  • Trigger/Event : 임계치 설정/임계치 도달 시 발생
    CPU가 90% 사용됐을 때 이벤트를 발생시켜라 등. 이런 임계치가 되면 이벤트가 발생한다.
  • Condition : 이벤트가 발생할 수 있는 조건들.
  • 템플릿 : 여러 호스트에 공통적으로 적용할 모니터링 구성 요소(아이템, 트리거, 그래프 등)를 포함
  • 전체적인 순서 : 설정해놓은 임계치가 되면 Trigger가 동작하며 Event를 발생시키고, Condition(조건)에 맞춰 Operation을 발생시킨다. mail 발송 등을 Operation을 통해 설정할 수 있다.

'DevOps > Zabbix' 카테고리의 다른 글

Asible을 통한 자빅스 설치  (0) 2025.01.01