채널톡 아이콘

엉뚱한 녀석의 Zabbix 탐험기: Terraform과 AWS로 배우는 Zabbix 8 실전 모니터링

Terraform으로 AWS 실습 환경을 구축하고, Zabbix 8의 새로운 기능과 실전 모니터링 운영 방법을 장애 탐지·Slack 알림·복구 실습과 함께 익힙니다. Zabbix 8의 Native JSON으로 JSON 값을 저장하고, Dependent item과 JSONPath로 필요한 값을 나눕니다. 최근 데이터와 장애 현황의 표시 컬럼을 정리하고, 산점도·그래프 축 반전으로 지표를 비교합니다. 완성한 Dashboard는 YAML로 내보낸 뒤 다시 가져옵니다. 기존 Zabbix 운영에 필요한 Server·Agent 2·Item·Trigger, 장애·복구, Slack 알림, 메인터넌스, 공식 MySQL·Redis 템플릿과 Web scenario도 함께 다룹니다. CPU·디스크·Apache·HTTP 문제를 직접 만들고 복구하면서 전체 흐름을 연결합니다. AWS 실습 환경은 Terraform으로 만들고 정리합니다. 구성 파일 저장, fmt·init·validate·plan, 저장한 plan 적용, SSH 접속, state 확인과 실습 자원 정리를 실제 순서로 진행합니다.

1명 이 수강하고 있어요.

난이도 초급

수강기한 무제한

실습 중심
실습 중심
모니터링
모니터링
실습 중심
실습 중심
모니터링
모니터링

수강 후 이런걸 얻을 수 있어요

  • Terraform 구성 파일을 준비하고 fmt·init·validate·plan·apply를 거쳐 AWS 서버를 만든 뒤, SSH 접속·state 확인·destroy까지 한 흐름으로 진행할 수 있습니다.

  • Zabbix 8의 새로운 기능인 Native JSON, 표 사용자화, 산점도와 Dashboard 내보내기·가져오기를 직접 사용할 수 있습니다.

  • Zabbix History·Trend 테이블을 파티셔닝하고 Housekeeper 역할을 분리하며, 공식 Agent 2 템플릿으로 MySQL·Redis의 주요 지표와 장애·복구 흐름을 감시할 수 있습니다.

  • Zabbix Agent 2의 내장 플러그인과 로드 가능한 플러그인(loadable plugin)의 차이를 구분하고, 강의에서 사용하는 내장 MySQL·Redis 플러그인과 공식 템플릿으로 애플리케이션을 감시할 수 있습니다.

수강 후 이런 걸 얻을 수 있어요

수강을 마치면 Zabbix 7.4에서 이어지는 기존 기능과 Zabbix 8에서 달라진 기능을 구분해서 사용할 수 있습니다. Native JSON으로 JSON 값을 저장하고, 잘못된 JSON이 들어왔을 때의 동작을 확인합니다. Trigger에 필요한 숫자·문자 값은 Dependent item과 JSONPath로 나눕니다. JSON 배열은 LLD와 연결해 반복 자원이 늘거나 줄어들 때 Item과 Trigger가 자동으로 만들어지는 과정까지 실습합니다.

최근 데이터와 장애 현황에서는 필요한 컬럼만 남기고 순서와 크기를 조정합니다. 산점도로 두 지표의 관계를 확인하고, 그래프 축을 반전했을 때 값이 어떻게 보이는지도 비교합니다. 완성한 Dashboard는 YAML로 내보낸 뒤 다시 가져와 복구본을 만듭니다.

Terraform 구성 파일을 저장하고 init·validate·plan으로 설정을 점검한 뒤, 저장한 plan을 적용해 AWS 서버 두 대를 만듭니다. 출력값으로 각 서버에 SSH 접속하고 state를 확인합니다. 모든 실습이 끝나면 같은 state에서 저장한 삭제 plan을 적용해 Terraform state와 AWS 실습 자원이 비었는지 확인합니다.

실습 환경은 필요한 만큼만 작게 구성하고, 장애를 직접 재현한 뒤, 모든 실습이 끝나면 강의에서 Terraform으로 만든 AWS 실습 자원을 정리합니다.

강의 내용 소개

Zabbix 8의 새로운 기능을 실제 데이터에 적용합니다

Native JSON으로 JSON 응답을 저장하고 필요한 값을 Dependent item으로 나눕니다. 최근 데이터와 장애 현황의 표시 컬럼을 필요한 순서로 배치하고, 산점도와 그래프 축 반전으로 지표를 비교합니다. Dashboard는 YAML로 내보낸 뒤 다시 가져와 같은 구성을 복원합니다.

  • Native JSON으로 JSON 값을 독립된 자료형으로 저장하기

  • 최근 데이터와 장애 현황의 표시 컬럼을 숨기고, 순서와 크기를 바꾸기

  • 산점도로 두 지표의 관계·군집·이상치를 살펴보기

  • 그래프 축 반전과 개선된 Tooltip 동작 비교하기

  • Dashboard를 YAML로 내보내고 다시 가져오기

  • Slideshow로 여러 Dashboard 페이지를 자동 전환하기

설치부터 장애·복구까지 같은 환경에서 이어갑니다

Zabbix Server 설치 뒤 다음 작업을 같은 Main 서버와 Target 서버에서 순서대로 진행합니다.

  • Target 서버에 Agent 2를 설치하고 Passive·Active 수집 방식으로 첫 데이터 받기

  • CPU·디스크·Apache Trigger를 만들고 Problem 발생부터 Recovery까지 확인하기

  • 같은 사건의 장애 알림과 복구 알림을 Slack으로 한 번씩 받기

  • 메인터넌스 중에는 데이터와 사건 이력을 유지하면서 Slack 전송만 억제하기

  • 공식 MySQL·Redis 템플릿을 연결하고 주요 값과 문제·복구 확인하기

  • Native JSON·Dependent item·LLD로 JSON 데이터와 반복 자원 수집하기

  • Web scenario로 HTTP 500·3초 지연·요청 급증을 구분하고 각각 복구하기

  • 마지막 강의에서 Terraform state와 AWS 실습 자원이 모두 정리됐는지 확인하기

각 장애 실습에서는 문제를 직접 만들고 값의 변화를 확인합니다. Trigger가 Problem을 만들고 같은 사건이 Recovery로 바뀌는 과정까지 한 흐름으로 이어갑니다.

1. Terraform과 AWS로 실습 환경 준비

감시 대상, 환경 변화 속도, 운영 구조와 팀이 감당할 관리 부담을 기준으로 Zabbix와 Prometheus의 선택 기준을 비교합니다.

Windows는 WSL2 Ubuntu를 준비하고, macOS와 Linux는 각 운영체제의 터미널을 사용합니다. Terraform과 AWS CLI를 설치한 뒤 개인 AWS 계정을 연결합니다. 구성 파일 저장부터 fmt·init·validate·plan, 저장한 plan 적용, SSH 접속, state 확인과 destroy까지 실제 AWS 서버를 만들고 정리하는 순서로 익힙니다.

2. 공식 패키지 설치와 MySQL 파티션 운영

Zabbix 공식 다운로드 선택기에서 Zabbix 8.0, Ubuntu 26.04, Server·Frontend·Agent, MySQL, Apache 조합을 선택합니다. 공식 페이지가 안내하는 순서대로 Server, Frontend, DB와 Web UI를 설치합니다.

History 5개 테이블은 일 단위, Trend 2개 테이블은 월 단위로 나눕니다. 미래 파티션 만들기, 보관 기간이 지난 파티션 지우기, cron 실행과 로그, pMAX 보호, History·Trend와 Housekeeper의 역할 분리까지 함께 다룹니다.

Terraform으로 AWS 실습 환경을 만들고 정리합니다

Windows WSL·macOS·Linux에서 Terraform과 AWS CLI를 준비하고 개인 AWS 계정을 연결합니다. 공개된 Terraform 구성 파일을 저장한 뒤 fmt·init·validate·plan으로 먼저 확인하고, 저장한 plan을 적용해 Ubuntu 서버 두 대를 만듭니다. 이 과정에서 Terraform 명령을 따로 외우기보다 실제 생성·접속·정리 순서 안에서 반복해서 사용합니다.

Main 서버에는 Zabbix Server와 Frontend, Zabbix용 MySQL을 설치합니다. 감시 대상인 Target 서버에는 Agent 2와 Apache·PHP 상태 API, MySQL, Redis를 구성합니다. 감시 데이터가 Target 서버에서 Main 서버로 들어오면 Zabbix가 값을 저장하고 Trigger 조건을 계산합니다.

모든 실습을 마치면 같은 Terraform 폴더와 state에서 저장한 삭제 plan을 적용합니다. 빈 state와 AWS 실습 자원 0을 확인하는 데까지가 이 강의의 Terraform 실습입니다.

강의마다 영상 아래 수업노트를 확인해 주세요

각 강의를 들을 때는 영상 아래의 수업노트를 반드시 펼쳐 확인해 주세요.
실습 코드가 있는 강의에는 이번 강의 실습 코드 보기 링크가 있으며, 링크를 누르면 공개 블로그의 첫 화면이 아니라 해당 강의에서 사용하는 코드와 설명 위치로 바로 이동합니다.

코드 실습이 없는 강의에도 영상 내용을 보완하는 안내가 포함될 수 있으므로 수업노트를 빠뜨리지 말고 확인해 주세요.

영상에서는 코드를 길게 읽는 대신 명령을 실행할 위치와 순서, 정상 결과, 문제가 생겼을 때 먼저 확인할 곳을 설명합니다. 실습에 필요한 명령과 설정은 수업노트에서 복사해 사용하면 됩니다.

이런 내용을 배워요

3. Agent 2, Item, Trigger와 장애 흐름

감시 대상인 Target 서버에 Agent 2를 설치하고 Passive·Active 수집 방식의 차이를 실제 연결 방향과 설정 파일로 확인합니다. 기본 Item을 만들고 최근 값, 갱신 시각, History와 Trend, 그래프를 읽습니다.

이후 CPU·디스크·Apache 문제를 안전하게 만듭니다. Trigger 조건, 심각도, Problem, 확인 처리, 조치 메모와 Recovery가 한 사건 안에서 어떻게 이어지는지 비교합니다.

4. Slack 알림, 메인터넌스와 공식 템플릿

Slack Incoming Webhook용 Media와 전용 알림 사용자를 연결합니다. 범용 Trigger Action으로 장애 한 번, 복구 한 번이 전달되도록 설정합니다.

메인터넌스 중에는 Zabbix의 데이터와 사건 이력은 남기고 Slack 전송만 멈춥니다. MySQL과 Redis는 Zabbix Agent 2에 포함된 공식 플러그인과 공식 템플릿을 연결해 주요 값과 문제·복구를 확인합니다.

5. Zabbix 8의 Native JSON과 LLD

Zabbix 8의 Native JSON 자료형으로 JSON 값을 저장하고, 잘못된 JSON이 들어왔을 때 어떻게 처리되는지 확인합니다. Trigger에 사용할 값은 Dependent item과 JSONPath로 나눕니다.

JSON 배열과 LLD 매크로를 Discovery rule에 연결합니다. Item prototype과 Trigger prototype을 이용해 반복 자원이 늘거나 줄어도 같은 수집·판정 규칙이 자동으로 적용되는 과정을 확인합니다.

6. Zabbix 8의 표·산점도·Dashboard 기능

최근 데이터와 장애 현황에서 필요한 표시 컬럼만 남기고 순서와 크기를 바꿉니다. 산점도로 두 값의 관계를 확인하고, 그래프 축 반전과 Tooltip 동작을 비교합니다. 현재 장애·영향 대상·추세가 보이는 Dashboard를 만든 뒤 YAML로 내보내고 다시 가져옵니다. 여러 페이지는 Slideshow로 자동 전환합니다.

7. 웹 서비스 감시와 실습 환경 정리

마지막 웹 실습에서는 작은 JSON 상태 API를 만들고 HTTP agent 한 번으로 여러 값을 나눠 저장합니다. Web scenario와 전용 요청 로그를 이용해 HTTP 500, 3초 지연과 요청 급증을 서로 다른 문제로 구분하고 직접 복구합니다.

모든 실습이 끝난 뒤 같은 Terraform 폴더와 state를 확인합니다. 저장한 삭제 plan을 그대로 적용하고 빈 state와 AWS 실습 자원 0을 확인합니다.

수강 전 참고사항

실습 환경

  • 개인 AWS 계정이 필요합니다. 회사·학교 조직 계정이나 IAM Identity Center를 강의의 기본 경로로 사용하지 않습니다.

  • Windows에서는 WSL2 Ubuntu를 사용합니다. macOS는 WSL을 설치하지 않고 macOS Terminal을 사용합니다. Linux는 실제 Linux 터미널을 사용합니다.

  • 강의의 실제 로컬 화면은 Windows WSL2 Ubuntu Bash를 기준으로 촬영했습니다. macOS와 Linux용 설치 코드는 수업노트에서 따로 제공합니다.

  • 서버 실습은 Ubuntu 26.04 LTS, MySQL 8.4, Apache, PHP, Zabbix Agent 2 조합입니다.

  • Windows 10/11 또는 최근 macOS·Linux 환경, 웹 브라우저와 코드 편집기를 준비해 주세요.

필요한 기초

  • 터미널에서 cd로 폴더를 이동하고 sudo로 명령을 실행할 수 있어야 합니다.

  • vi 또는 익숙한 텍스트 편집기로 설정 파일을 열고 저장할 수 있어야 합니다.

  • systemctl로 서비스를 시작·중지하고 상태를 확인하며, journalctl로 서비스 로그를 조회하는 실습이 포함됩니다.

  • Zabbix 경험은 없어도 됩니다. 다만 Linux 명령어와 네트워크 기초부터 배우는 입문 강의는 아닙니다.

AWS 비용

강의 실습 환경은 NAT Gateway, RDS, ALB, EKS를 만들지 않고, Zabbix가 설치된 Main 서버와 감시 대상인 Target 서버 두 대의 EC2를 필요한 시간에만 사용하는 방식입니다. 강사 검증 환경은 월 10달러 미만을 목표로 설계했습니다.

실제 비용은 리전, 사용 시간, 세금, 환율, 데이터 전송과 삭제 여부에 따라 달라집니다. 10달러 이하를 보장하지는 않습니다. 인스턴스를 계속 켜 두거나 EBS를 남겨 두면 비용이 이어질 수 있으므로, 모든 실습이 끝난 뒤 정리 강의를 반드시 따라 주세요.

버전 안내

이 강의의 촬영·검증본은 Zabbix 8.0.0beta2 프리릴리스와 Ubuntu 26.04 LTS를 기준으로 제작했습니다. 강의 최종 정리를 진행하는 2026년 9월 3일 기준으로도 Zabbix 8 공식 문서는 개발 버전으로 표시되고 있습니다.

비밀정보

AWS Access Key, Secret Access Key, Slack Webhook URL과 실습 암호는 수강생 본인의 값을 사용합니다. AWS root 계정 대신 실습용 IAM 사용자를 만들어 준비해 주세요.

이런 분들께 추천드려요

  • Zabbix를 처음 설치하고 실제 서버 데이터를 받아 보고 싶은 시스템·인프라 엔지니어

  • 설치 경험은 있지만 Item·Trigger·Template을 어떻게 연결할지 막막했던 분

  • 장애 알림을 받은 뒤 원인 확인, 복구와 Recovery 확인까지 한 번에 연습하고 싶은 분

  • Zabbix History·Trend 파티셔닝, 미래 파티션 생성, 보관 기간이 지난 파티션 삭제와 Housekeeper 역할 분리를 직접 구성해 보고 싶은 분

  • MySQL·Redis 공식 템플릿과 JSON·LLD를 실제 운영 대상에 적용해 보고 싶은 분

  • Slack 알림과 Dashboard를 함께 구성해 운영 화면을 정리하고 싶은 분

  • Zabbix 7 경험을 Zabbix 8의 Native JSON, 표 사용자화, 산점도와 Dashboard 내보내기·가져오기 흐름으로 갱신하고 싶은 분

  • Terraform을 처음부터 깊게 배우기보다 실제 AWS 서버를 만들고 접속하고 정리하는 흐름에서 기본 사용법을 익히고 싶은 분

  • 작은 AWS 환경에서 서버 생성부터 장애·복구와 자원 정리까지 한 번에 연습하고 싶은 분

이런 분께는 맞지 않을 수 있어요

  • Linux 명령과 네트워크 기초부터 아주 천천히 배우고 싶은 분

  • 개인 AWS 계정이나 유료 클라우드 사용 없이 로컬 PC만으로 모든 실습을 끝내고 싶은 분

  • Grafana·Loki·Kubernetes·Ansible 구축을 이번 강의의 주목적으로 기대하는 분

  • 프리릴리스 화면이 정식판에서 일부 바뀔 가능성을 받아들이기 어려운 분

강사 소개

안녕하세요. 인프라·시스템 엔지니어와 DevOps·SRE 엔지니어로 21년 이상의 경력을 쌓으며, Zabbix 기반 모니터링 체계를 구축하고 운영해 왔습니다.

애플리케이션, 운영체제, 네트워크, 데이터베이스, 하드웨어와 전력 사용량처럼 운영 현장에서 필요한 여러 대상을 Zabbix로 수집하고 분석해 왔습니다. MySQL 파티션 구성과 성능 조정, Grafana 대시보드, Kubernetes 워크로드, SNMP 장비와 MySQL·MongoDB·Elasticsearch·Redis·Kafka 등 관련 시스템의 핵심 지표를 수집·분석하고 운영해 왔습니다.

실제 환경에 적용하고 확인한 구축 방법과 장애 대응 경험은 IT 기술 블로그 엉뚱한 녀석(Quirky Guy)에 기록하고 있습니다. 현장에서 바로 사용할 수 있는 명령, 설정 방법과 운영 중 확인할 지점을 실무자의 관점으로 정리해 공유합니다.

블로그: https://quirky-guy.com

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • Zabbix를 처음 설치하고 실제 서버 데이터를 받아 보고 싶은 시스템·인프라 엔지니어

  • 설치 경험은 있지만 Item·Trigger·Template을 어떻게 연결할지 막막했던 분

  • Zabbix Housekeeper로 인한 DB·서버 부하에 어려움을 겪고 있어 History·Trend 파티셔닝과 역할 분리를 적용하고 싶은 중급 이상 운영자

  • 반복되는 수동 설정을 줄이고 Native JSON·Dependent item·LLD를 실무 감시에 활용하고 싶은 분

선수 지식,
필요할까요?

  • 터미널에서 `cd`로 폴더를 이동하고 `sudo`로 명령을 실행할 수 있어야 합니다. Terraform 경험은 없어도 됩니다.

  • 초급·중급 이상 대상이며 Linux·AWS·네트워크 등 인프라 기초 지식이 필요합니다.

  • `vi` 또는 익숙한 텍스트 편집기로 설정 파일을 열고 저장할 수 있어야 합니다.

  • `systemctl`로 서비스를 시작·중지하고 상태를 확인하며, `journalctl`로 서비스 로그를 조회하는 실습이 포함됩니다.

  • Windows에서는 WSL2 Ubuntu를 사용합니다. macOS는 WSL을 설치하지 않고 macOS Terminal을 사용합니다. Linux는 실제 Linux 터미널을 사용합니다.

안녕하세요
엉뚱한 녀석입니다.

커리어인증

안녕하세요. 인프라·시스템 엔지니어와 DevOps·SRE 엔지니어로 21년 이상의 경력을 쌓으며, Zabbix 기반 모니터링 체계를 구축하고 운영해 왔습니다.

애플리케이션, 운영체제, 네트워크, 데이터베이스, 하드웨어와 전력 사용량처럼 운영 현장에서 필요한 여러 대상을 Zabbix로 수집하고 분석해 왔습니다. MySQL 파티션 구성과 성능 조정, Grafana 대시보드, Kubernetes 워크로드, SNMP 장비와 MySQL·MongoDB·Elasticsearch·Redis·Kafka 등 관련 시스템의 핵심 지표를 수집·분석하고 운영해 왔습니다.

실제 환경에 적용하고 확인한 구축 방법과 장애 대응 경험은 IT 기술 블로그 엉뚱한 녀석(Quirky Guy)에 기록하고 있습니다. 현장에서 바로 사용할 수 있는 명령, 설정 방법과 운영 중 확인할 지점을 실무자의 관점으로 정리해 공유합니다.

블로그: https://quirky-guy.com

더보기

커리큘럼

전체

29개 ∙ (3시간 53분)

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!

얼리버드 할인 중

₩20,790

30%

₩29,700

평생교육이용권 지원 강의