와탭 블로그

전체보기

Telegraf 데이터 기반의 모니터링-알림 설정

2020년 02월 14일

code splitting

Telegraf와 와탭 연동

Telegraf는 원하는 지표들을 수집하고 프로세싱하여 지정한 곳으로 전송해주는 에이전트 입니다. Telegraf는 최소한의 메모리 공간 점유를 목표로 개발되고 있는 오픈소스 프로젝트이며 현재 기준(1.13버전 기준) Telegraf로 지표를 수집할 수 있는 시스템 또는 서비스의 개수가 172개 (Telegraf Input Plugin 리스트)입니다. 와탭 SaaS 모니터링 서비스를 통해 Telegraf에서 전송하는 모든 데이터를 수집할 수 있고 이를 기반으로 와탭에서 데이터 조회, 모니터링 알림을 설정, 커스텀 대시보드를 생성을 할 수 있습니다.

telegraf and WhaTap telegraf 와탭 연동 구조

Telegraf 설치, 설정 방법에 관한 것은 Apache, Nginx 웹서버 모니터링 (Telegraf, Whatap)글에서 확인할 수 있습니다. 와탭과 Telegraf 연동이 끝난 후 수집된 데이터를 기반으로 하는 모니터링 알림 설정 방법을 알아보겠습니다.

태그 카운트 조회

Telegraf를 와탭과 연동하면 와탭은 태그 카운트라는 이름의 Key:Value 테이터 구조로 데이터를 수집, 관리 합니다.
Telegraf로 수집되는 데이터들을 조회 하려면 와탭의 프로젝트에서 사이트맵 > 태그 카운트 조회 페이지로 가면 태그 카운트를 조회할 수 있습니다.

tagcount 태그 카운트 조회

태그 카운트 조회 페이지에서 Telegraf로부터 수집된 데이터의 시간을 정해 조회할 수 있습니다. 와탭은 태그 카운트 구조로 수집된 데이터는 카테고리라는 이름으로 1차 분류를 하는데 Telegraf를 통해 수집된 데이터의 경우 input plugin의 Measurement name을 기반으로 Telegraf_{Measurement name}이라는 이름으로 카테고리를 생성합니다. 생성된 카테고리에는 Telegraf의 태그와 필드가 있습니다. 태그의 경우 Metric을 구분하기 위한 키와 String 값이 수집되는데 와탭에서 에이전트를 구분하기 위한 고유값들을 추가해 데이터를 저장합니다.

Docker input plugin-list Docker input plugin을 설정 했을 때 나타나는 카테고리 목록

카테고리를 선택하고 검색 버튼을 클릭하면 telegraf로부터 수집된 데이터 전체를 조회할 수 있습니다.

이제 이 데이터를 기반으로 알림 설정하는 방법을 알아보겠습니다.

태그 카운트 알림

사이트맵 > 태그 카운트 알림 페이지로 이동하면 태그 카운트 알림을 생성할 수 있습니다. 태그 카운트 알림은 기존의 와탭 알림 정책보다 좀 더 세부적인 알림을 생성할 수 있습니다. 알림 규칙 추가 버튼을 눌러 아래와 같은 순서로 알림을 생성할 수 있습니다.

tagcount_notification 태그 카운트 알림 설정 화면
  • 태그 카운트 카테고리를 정한다.
  • 알림 수준을 설정한다.
  • 알림의 제목과 메세지를 설정한다.
    • 알림 메세지에는 태그 카운트의 값들을 삽입할 수 있는데 ${태그 또는 필드의 key}를 넣으면 알림이 발생한 시점의 key에 해당 하는 값이 메세지 내용에 들어가고 문자나 메일 등으로 전송됩니다.
  • 알림 대상을 필터링한다.
    • 태그 카운트의 태그 값을 기준으로 알림 대상을 정할 수 있는데 입력란 아래의 입력 도움 기능을 누르면 쉽게 지정할 수 있습니다. 도움 기능을 누르면 태그의 키 값들이 나오고 키를 누르면 여러 조건문들 예시를 보여줍니다.
    • host 이름으로 알림 대상을 지정하고 싶을 때는 host == 'test-server-ubuntu' 와 같은 방식으로 비교 연산자를 사용할 수 있으며 특정 문자로 시작하는 host 이름을 지정할 때는 startsWith(host,'test-')와 같은 방식으로 정할수 있습니다. 여러 조건으로 필터링을 하길 원한다면 추가로 논리 연산자 AND(&&)와 OR(||)을 사용할 수 있습니다.
  • 알림 발생 조건을 정한다.
    • 필드 값들을 기준으로 알림 발생 조건을 정할 수 있습니다. 괄호와 비교 연산자, 논리 연산자를 이용해 세부적인 조건으로 알림을 정할 수 있습니다.
  • 알림 발생에 관한 세부 설정을 한다.
    • 최초 알림이 발생한 시점으로부터 지정한 시간내에 같은 알림이 몇 번 발생 했을 때 알림을 보낼지 설정합니다.
    • 위 알림 조건으로 알림 발생시 지정한 시간동안 알림을 보내지 않도록 할 수 있습니다.

위와 같은 방식으로 Telegraf Docker input plugin을 이용한 컨테이너 개수 모니터링 알림을 설정하면 아래와 같이 됩니다.

tagcount_notification Docker container 개수 모니터링 알림

telegraf docker input plugin을 이용하여 컨테이너 개수가 10개 미만일때 현재 작동중인 컨테이너 수와 일시중지된 컨테이너 수에 대한 정보를 메세지 내용에 포함시켜 알림을 발생시키는 태그 카운트 알림을 만들었습니다. 세부 조건으로는 알림 필터링을 통해 호스트 이름이 phpdemo-test1이거나 phpdemo로 시작하는 서버만 대상으로 하였고 1분 동안 한 번만 발생해도 알림이 발생됩니다.

tagcount_notification 문자 메세지와 와탭 앱 푸쉬로 받은 알림 내역

마무리

Telegraf는 메모리 경량화된 에이전트로써 쉽게 설치할 수 있고 140여개가 넘는 플러그인들을 이용해 대부분의 Metric들을 수집할 수 있습니다. Telegraf에서 수집된 데이터를 관리하기란 쉽지 않은데 Telegraf Whatap output plugin을 이용해 와탭으로 데이터를 전송하고 관리하면 해당 데이터 기반의 대시보드, 데이터 조회, 알림 설정을 쉽게 할 수 있습니다.

텔레그래프 기반의 모니터링을 체험하고 싶으시다면?

와탭 무료로 시작하기
taehoon-kim
김태훈(taehoon@whatap.io)
Pre-sales Consulting TeamPre-sales Engineer
<  이전 글

다음 글  >

최신글