안녕하세요, 디무브입니다.
기업에서 자주 사용하는 웹 서버 제품들의 경우 사용에 문제가 없도록 미리 준비하는 것이 중요합니다. Zabbix를 활용하면 특정 웹의 상태(접속 가능 여부, 응답 시간 등)를 확인하고 혹시 모를 상황들에 대비할 수 있습니다.
오늘 포스트에서는 Zabbix Server를 활용한 웹 서버 모니터링의 구조를 먼저 살펴보고, 많은 기업에서 사용 중인 Atlassian Cloud 제품을 모니터링하는 방법에 대해 알아보겠습니다. 오늘 다룰 사례의 경우, 별도의 에이전트 없이(Agentless) 모니터링이 가능합니다.
📊 웹 서버 모니터링을 위한 필수 사항
✔ cURL 관련 패키지
Zabbix Server는 웹 서버 모니터링을 위하여 Zabbix Server와 Zabbix Proxy 내부에서 cURL 명령어를 통하여 웹 서버 모니터링을 수행합니다. 따라서, 서버 내부에 반드시 cURL 관련 패키지가 설치되어 있어야 합니다.
📊 웹 서버 모니터링을 위한 아이템 수집 방식
해당 포스트에서 다루는 웹 서버 모니터링의 경우 Web Scenario Monitoring과 HTTP Agent Monitoring 두 가지 방식으로 아이템을 수집합니다. 각각 자세히 살펴보겠습니다.
1. Web Scenario Monitoring

Web Scenario Monitoring 은 다음과 같은 항목을 수집합니다.
모니터링 항목 | 설명 |
Download speed | 다운로드 속도 (bps) |
Response time | 응답 시간 (bps) |
Response code | 응답 코드 ex) 200 OK, 302 Redirect, 401 Unauthorized, 404 Not Found |
아래는 Web Scenario Monitoring 방식으로 수집한 항목들을 활용하여 Atlassian Cloud 제품 중 Jira Software와 Confluence를 모니터링하고 있는 화면입니다.
▶ Response Time

해당 그래프를 확인해 보았을 때 최근 1시간 내의 각 제품별 응답 속도를 확인할 수 있습니다.
▶ Response Code

해당 그래프를 확인해 보았을 때 최근 1시간 내의 Jira sofware와 Confluence의 접속 장애가 없었음을 확인할 수 있습니다. (200 OK)
응답 속도가 늦어지거나, Status Code가 200(정상 접속)이 아닌 경우와 같이 Web Scenario에서 설정한 모니터링 아이템을 기반으로 장애가 발생했을 때를 위한 경고(Alert)를 생성하고 관리할 수 있습니다. 하지만 이러한 모니터링 방식만으로는 SaaS의 정확한 상태를 확인할 수 없는데요. 이때, 아틀라시안의 Statuspage를 활용하면 단점을 보완할 수 있습니다.

Statuspage는 Atlassian뿐만이 아닌 수많은 SaaS에서 활용되고 있습니다. 현재 널리 이용되고 있는 SaaS의 Statuspage의 예시는 다음과 같습니다.
(1) Github Statuspage - GitHub Status

(2) Discord Statuspage - Discord Status
(3) X (Twtitter) Statuspage - Twtitter Status

위 모니터링 방식들의 경우, 제공되는 Statuspage에서 API 관련 페이지가 제공되어야 합니다.
2. HTTP Agent Monitoring
Atlassian Cloud의 상태를 정확하게 모니터링하기 위해 status.atlassian.com의 Statuspage를 활용할 수 있습니다. Atlassian statuspage에서는 모니터링을 위한 API를 제공하고 있습니다.
Zabbix에서는 Atlassian statuspage의 Rest API들을 활용할 수 있도록 HTTP Agent를 제공하고 있습니다. HTTP Agent의 경우 별도의 Agent를 필요로 하지 않으며, cURL 명령어를 통해 웹 서버 모니터링을 수행합니다.
이렇게 호출한 값에 대한 응답을 Zabbix에서 수집합니다. API에서 지원하는 범위 내의 원하는 데이터를 수집하고 SaaS의 현재 상태를 모니터링할 수 있으며, 경고를 생성하고 관리할 수 있습니다.
생성된 장애를 기반으로 미디어(Telegram, Email, Mattermost) 등으로 알림을 전송할 수 있습니다.

해당 모니터링을 통하여, 최근 Atlassian Cloud의 Atlassian Developer Center에 Minor 장애가 발생했음을 확인할 수 있습니다.

Atlassian Statuspage 내부에서도 동일한 내용을 상세히 확인할 수 있습니다.
이러한 모니터링에서 멈추지 않고 더 나아가 Grafana를 통한 시각화를 진행하여 Atlassian Cloud에 대한 상태를 보다 시각적으로 확인할 수 있도록 구성할 수 있습니다.

지금까지 Zabbix와 Confluence Statuspage를 활용하여 Atlassian SaaS 웹 서버의 상태를 모니터링하는 방법에 대해 살펴보았습니다. 사용하고 계시는 SaaS 서비스의 모니터링이 필요하시거나, 구축하신 웹 서비스의 모니터링에 대하여 상세한 설정이 필요하시다면 디무브에 문의하세요. 😉
'자빅스 > Case Study' 카테고리의 다른 글
Case Study- Ansible 기반의 Zabbix 에이전트 배포 (0) | 2024.04.05 |
---|---|
Case Study- Zabbix를 통한 TCP/UDP 포트 상태 확인 (0) | 2024.02.28 |
Case Study- Zabbix를 활용한 쿠버네티스 모니터링 (2) | 2023.12.08 |
Case Study- Zabbix에서 수집한 데이터를 Grafana를 통해 시각적으로 구성하기 (1) | 2023.10.26 |
Case Study- Zabbix에서 수집한 데이터를 커스텀 대시보드로 만드는 법 (0) | 2023.09.25 |