본문 바로가기

Monitoring Tools

Monitoring Tools - Zabbix 웹 시나리오를 통해 웹 사이트 모니터링하기

728x90

Zabbix 웹 시나리오란?

Zabbix 웹 시나리오는 HTTP 요청을 통해 특정 웹사이트의 상태를 주기적으로 모니터링하는 기능입니다. 기본적으로 웹사이트의 응답 시간을 측정하거나 상태 코드(예: 200 OK, 404 Not Found 등)를 확인하는 방식으로 동작합니다. 또한 웹 페이지 내 특정 텍스트가 포함되어 있는지, 리다이렉트 여부 등을 확인할 수 있어 웹사이트의 핵심 기능 감시에 유용합니다.


웹 시나리오 설정 방법

Zabbix의 웹 시나리오 기능을 통해 웹사이트를 모니터링하려면 다음과 같은 과정을 따라 설정을 진행해야 합니다.

1. Zabbix 웹 콘솔에 로그인

Zabbix 웹 인터페이스에 관리자 계정으로 로그인합니다.

웹 시나리오를 추가하려면 호스트 설정 페이지로 이동해야 하므로, Zabbix의 관리자 권한이 필요합니다.

2. 호스트 선택 및 시나리오 추가

웹 시나리오는 특정 호스트에 종속되어 있으므로 모니터링할 웹사이트의 호스트를 먼저 선택해야 합니다.

  1. Configuration -> Hosts 메뉴로 이동합니다.
  2. 웹 시나리오를 설정할 호스트를 선택합니다.
  3. 상단의 Web 탭을 클릭한 다음 Create scenario 버튼을 눌러 웹 시나리오 설정을 시작합니다.

3. 웹 시나리오의 기본 정보 입력

웹 시나리오의 주요 설정을 입력합니다. 이는 전체적인 웹 시나리오의 동작 방식을 결정합니다.

  • Name(이름): 웹 시나리오 이름을 지정합니다. [http code check]
  • Application(어플리케이션): 웹 시나리오와 관련된 어플리케이션을 선택합니다. [비워둬도 됩니다.]
  • Agent(에이전트): HTTP 에이전트를 지정하여 웹사이트에 특정 브라우저나 기기에서 접속하는 것처럼 설정합니다.
    [기본값으로 설정하거나 필요에 따라 특정 브라우저 에이전트를 지정할 수 있습니다.]
  • Interval(갱신 간격): 웹 시나리오의 실행 주기를 설정합니다. [5m]
  • Attempts(시도 횟수): 시나리오 실행에 실패했을 경우 다시 시도할 횟수를 설정합니다. [1]

4. Step(단계) 추가

웹 시나리오의 핵심은 단계(Step) 설정에 있습니다.
단계는 웹사이트의 특정 URL에 접근하여 HTTP 요청을 보내고 결과를 확인하는 과정입니다.

  • Step Name: 각 단계를 쉽게 식별할 수 있도록 이름을 지정합니다. [티스토리테스트]
  • URL: 모니터링할 URL을 입력합니다. [https://samso.tistory.com]
  • Timeout: 응답을 기다리는 최대 시간을 지정합니다. 응답이 이 시간을 초과하면 타임아웃으로 간주합니다. [15s]
  • Required status code: 정상적인 응답으로 간주할 HTTP 상태 코드를 입력합니다. 
  • Post method: 로그인이 같이 데이터를 서버에 제출할 때 POST 메서드를 설정할 수 있습니다. [사용 X]
  • Follow redirects: 리다이렉트가 발생할 경우 이를 따를 것인지 여부를 지정합니다. [사용 X]

5. Step의 성공/실패 조건 설정

단계별로 성공 또는 실패를 판별할 조건을 설정할 수 있습니다.

  • Required string: 응답 내용에 특정 문자열이 포함되어 있는지 확인합니다.
    예를 들어, 로그인 성공 페이지라면 "로그인 성공" 또는 "환영합니다" 등의 문구가 있는지를 확인합니다.
  • Required status codes: 단계의 응답이 정상으로 간주될 상태 코드를 입력합니다.
    기본적으로 200을 입력하여 정상적인 HTTP 응답을 확인할 수 있습니다.

트리거 설정으로 자동 알림 받기

웹 시나리오 설정이 완료되면, 웹사이트의 문제가 발생할 경우 자동으로 알림을 받을 수 있도록 트리거를 설정하는 것이 좋습니다. 트리거는 지정된 조건이 만족될 때 경고를 생성하여 문제를 신속히 파악할 수 있게 해 줍니다.

  1. Configuration -> Hosts로 이동하여 웹 시나리오가 설정된 호스트를 선택합니다.
  2. 상단의 Triggers 탭을 클릭한 후 Create trigger 버튼을 클릭합니다.
  3. 트리거 조건을 설정합니다. 
    • 조건 예시: web.test.rspcode[<Scenario>,<Step>]가 200이 아닐 때 트리거 발생

      web.test.rspcode[http code check,티스토리테스트].last()}<>200


 

이렇게 설정해 두면 웹사이트의 상태가 비정상일 때 Zabbix가 즉시 경고를 보내주어, 빠르게 문제를 해결할 수 있습니다.

 

 


Zabbix 5.0 기준

모니터링 - 최근데이터 - 호스트 선택 - Response code for step 확인 할 수 있습니다.

 

 

728x90
반응형