Skip to content

minority opinions

Menu
  • Home
  • 꿀팁정리 & 자기계발
  • 기술 정보 & 테크 소식
  • 이슈 뉴스 정리
  • 주식 경제
  • Tags
Menu

Grafana InfluxDB Telegraf Kapacitor 설치

Posted on 3월 4, 20177월 1, 2023 by Daniel J.

서버 구성

1.모니터링 서버 : Influxdb + grafana +kapacitor  서버 1대 (같은 서버에 install / 분리도 가능)

     * Recommend Spec

     – CPU 4 Core 이상

     – Memory 8G 이상

     – HDD 50G 이상

       (influxDB 특성상 (모니터링 interval time 비례한 DB R/W 발생, 가능하다면 SSD 추천)

위 스펙은 모니터링 대상 메트릭수,대상 노드수, 일별 write 되는 data용량, 모니터링 간격, 모니터링 로그 보관주기 등에 따라 결정 되어야함   (소규모, 대규모에 따라 시스템 사이징은 천차만별)

참고 사이트 : https://docs.influxdata.com/influxdb/v0.10/guides/hardware_sizing/

2. OS : Linux (CentOS or Ubuntu)  가급적이면 최신 버전 사용 (메뉴얼은 Ubuntu 기반으로 설명 예정)

lInfluxDB 구성 (Ubuntu 14.04.2 LTS)

   1. 다운로드 : https://portal.influxdata.com/downloads

    2. 서버에서 직접 다운로드

        wget https://dl.influxdata.com/influxdb/releases/influxdb_1.2.0_amd64.deb

        sudo dpkg -i influxdb_1.2.0_amd64.deb

    3. /etc/influxdb/influxdb.conf   파일 튜닝 필요 (모니터링 대상 메트릭 개수, 모니터링 간격 관련)

    4. 시작 /etc/init.d/influxdb  start  (restart,stop 등)

    5.  iptables 사용중이라면 포트 등록

        API -> iptables -A INPUT -m state –state NEW -m tcp -p TCP -s 10.20.x.x/32 –dport 8086 -j ACCEPT

        DB 관리 web ->  iptables -A INPUT -m state –state NEW -m tcp -p TCP -s 10.20.x.x/32 –dport 8083 -j ACCEPT

    6. http://x.x.x.x:8083  접속 하면 influxdb 관리화면 (shell 에서도 가능 -> influx 실행  (mysql 과 비슷함))

    7. DB 생성은 예를들어 telegraf agent 환경파일(telegraf.conf) 에서 output 을 influxdb 로하고 DB명을 지정해주면 자동으로 DB가 create 됨

lGrafana 구성 (Ubuntu 14.04.2 LTS)

1. 다운로드 : http://grafana.org/download/

2. 서버에서 직접 다운로드

        wget https://grafanarel.s3.amazonaws.com/builds/grafana_4.1.2-1486989747_amd64.deb

        sudo apt-get install -y adduser libfontconfig

        sudo dpkg -i grafana_4.1.2-1486989747_amd64.deb

        sudo /etc/init.d/grafana-server start (stop,restart)

3. 환경설정: /etc/grafana/grafana.ini (웹으로 접속할 port 명시)

4. 시작 /etc/init.d/influxdb  start  (restart,stop 등)

5.  iptables 사용중이라면 포트 등록

웹 port -> iptables –A INPUT –m state –state NEW –m tcp –p TCP –s 10.20.x.x/32 –dport 8080 -j ACCEPT

 6. http://x.x.x.x:8080  접속 하면 grafana 화면 (디폴트 접속 정보 admin   /  admin 접속후 필히 변경 요망)

7. 그래프 생성 포인트

 datasource -> influxdb -> 사용할 DB 선택 -> graph 생성 및 커스터마이징

lTelegraf 구성 (윈도우 or 리눅스 agent 모두 가능)

1. 다운로드 : https://portal.influxdata.com/downloads

2. 서버에서 직접 다운로드

        – 리눅스

        wget https://dl.influxdata.com/telegraf/releases/telegraf_1.2.1_amd64.deb

        sudo dpkg -i telegraf_1.2.1_amd64.deb

       – 윈도우

        wget https://dl.influxdata.com/telegraf/releases/telegraf-1.2.1_windows_amd64.zip

        unzip telegraf-1.2.1_windows_amd64.zip

3. 환경설정: /etc/telegraf/telegraf.conf  (리눅스)

                     c:\telegraf\telegraf.conf   (윈도우)

4. 시작 /etc/init.d/telegraf  start  (restart,stop 등)

              services.msc -> telegraf (윈도우)

5. telegraf.conf  에서 influxdb api 8086 포트를 호출해서 모니터링 data metric 전송

모니터링 대상 메트릭은(cpu,mysql,apache등등) telegraf.conf 에서 각 섹션별 모니터링 plugin에서 설정

Input, Output Plugin Sample 은 git 에서 검색하면 다양하게 나옴.

lKapacitor (알람 설정) influxdb 로 저장되는 data metric를 실시간(stream) 감시하여 조건에 부합되면 -> mail, slack, talk 알려줌

1. 다운로드 : https://portal.influxdata.com/downloads

2. 서버에서 직접 다운로드

        wget https://dl.influxdata.com/kapacitor/releases/kapacitor_1.2.0_amd64.deb

        sudo dpkg –I kapacitor_1.2.0_amd64.deb

3. 환경설정: /etc/kapacitor/kapacitor.conf

        [[influxdb]]  <- influxdb 연결 설정

        [smtp]  ->  서버에 SMTP설치(sendmail) 되야함 / 이벤트에 부합되면 smtp사용하여 메일발송

4. 시작 /etc/init.d/kapacitor  start  (restart,stop 등)

5. TICK  스크립트(다음장에 예제)를 작성 하여 -> 선언해주고 define -> 활성화 enable 해줘야함

       예) 선언 : kapacitor define storage_cpu -type stream -dbrp public.default -tick storage_cpu.tick

            활성화 : kapacitor enable storage_cpu

            현재 등록된 알람 설정 확인 -> kapacitor list tasks

            알람 해제  ->  kapacitor disable storage_cpu

예: Hyper-V Guest CPU 사용량에 대한 tick script -> email, slack 통보

#kapacitor define host_guest_cpu -type stream -dbrp telegraf.default(DB명) -tick host_guest_cpu.tick(선언)

#kapacitor enable host_guest_cpu  (활성화)

#kapacitor disable host_guest_cpu (비활성화)

#kapacitor enable host_guest_cpu  (삭제)

#kapacitor enable host_guest_cpu  (등록된 Rule 보기)

    cat  host_guest_cpu.tick 

 stream

       |from()

           .measurement(‘win_hyperv’)

           .where(lambda: “objectname” == ‘Hyper-V Hypervisor Logical Processor’)

           .groupBy(‘host’)

       |window()

            .period(1m)

            .every(5m)

       |alert()

           .details(”’

            <h1>{{ .ID }}</h1>

            <b>Status  : {{ .Level }}</b><br>

            <b>Trigger : Guest CPU(%)</b><br>

            <b>Host    : {{ index .Tags “host” }}</b><br>

            <b>Value   : {{ index .Fields “% Guest Run Time” }}</b><br>

               ”’)

           .message(‘{{ .Level}}: {{ .Name }}/{{ index .Tags “host” }} Guest CPU(%): {{ index .Fields “% Guest Run Time” }}’)

           .crit(lambda: “% Guest Run Time” > 94)

           .log(‘/data/alert_log/host_cpu_guest.log’)

           .email()

           .slack()

참고 사항

influxdb : 

서버 리소스 사이징에 대해서는 가이드라인이 있음 (https://www.influxdata.com/)

저장되는 메트릭 수가 많을수록 HDD 성능이 좋아야함 (SSD 추천: 거의 실시간으로 disk I/O가 빈번하기때문)

그리고 retention 정책 , cache 관련 설정등을 사이즈에 맞게  잘 튜닝해야함

성능 문제 발생시 Sharding 이 되나 구조가 복잡해 지고 샤딩 이전에 Scale-up이 가능하다면 먼저 진행

하는것이 바람직하다고 생각됨 

클러스터 구성 (HA)는 유료이나 오픈 소스로도 구성 가능  (구글링 요망)

Grafana :  

현재 4.2.x 버전인데 업그레이드 잘됨 (패키지 받아서 그냥 설치하면됨 / 그리고 restart)

버전 UP시 grafana.org 에 blog 에 가면 어떤 부분이 개선되고 패치되었는지 자세하게 나옴

플러그인 설치는 grafana.net 가면 있음

Telegraf :  

windows agent는  influxdb 버전과 호환되야함 (버전 맞춰 주는게 좋음 )

기억으로 최신 버전 사용시 influxdb로 insert 가 되지 않아 고생했던 기억이……….

Kapacitor : 

Notification (alert)  담당 데몬이며, 들어오는 쿼리에 대해 감시설정을 stream방식이냐 batch 방식이냐 결정

tick 스크립트 수정시에는 수정후 무조건 다시 define 해줘야 수정된게 반영됨.

이 글 공유하기:

  • 페이스북에 공유하려면 클릭하세요. (새 창에서 열림) Facebook
  • 클릭하여 X에서 공유 (새 창에서 열림) X
  • 인쇄하기 (새 창에서 열림) 인쇄
  • 클릭하여 친구에게 이메일로 링크 보내기 (새 창에서 열림) 전자우편
  • Telegram에 공유하려면 클릭하세요. (새 창에서 열림) Telegram
  • WhatsApp에 공유하려면 클릭하세요. (새 창에서 열림) WhatsApp

이것이 좋아요:

좋아하기 가져오는 중...

관련

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Category

  • Article (66)
  • Uncategorized (178)
  • 게임 소식 (13)
  • 기술 정보 & 테크 소식 (260)
  • 꿀팁정리 & 자기계발 (317)
  • 블로그 (26)
  • 사건 사고 (64)
  • 역사 (35)
  • 영화 & 드라마 & 애니메이션 (27)
  • 이슈 뉴스 정리 (207)
  • 정치 인물 사회 (122)
  • 주식 경제 (119)

Recent Posts

  • 위고비(Wegovy) 효능과 가격(1펜) 정리

    위고비(Wegovy) 효능과 가격(1펜) 정리

    2월 16, 2025
  • 도메인 URL 주소 단축하는 사이트 모음

    도메인 URL 주소 단축하는 사이트 모음

    1월 30, 2025
  • 5년전 정혜수 MBC 기상캐스터가 해고당하면서 올린 글

    5년전 정혜수 MBC 기상캐스터가 해고당하면서 올린 글

    1월 28, 2025
  • MBC 기상캐스터 오요안나 자살과 집단 괴롭힘 가해자

    MBC 기상캐스터 오요안나 자살과 집단 괴롭힘 가해자

    1월 27, 2025
  • 홍장원 전 국정원 1차장 좌파이력 정리

    홍장원 전 국정원 1차장 좌파이력 정리

    1월 22, 2025

Popular Posts

©2025 minority opinions | Design: Newspaperly WordPress Theme
Menu
  • Home
  • 꿀팁정리 & 자기계발
  • 기술 정보 & 테크 소식
  • 이슈 뉴스 정리
  • 주식 경제
  • Tags
%d