Cloud Z 모니터링 사용자 가이드

Print

목차

개요

Cloud Z Monitoring에서 제공하는 Visualize Tool인 Grafana는 metric 데이터를 시각화, 알림 서비스 기능을 제공하는 오픈 소스 모니터링 도구이다.
본 문서는 Grafana의 dashboard 생성, panel/chart 종류, alert 사용, 사용자 권한/추가, 샘플 dashboard 찾기 등 기능에 대해서 설명한다


Cloud Z Monitoring 접속

브라우저에서 아래 URL로 접속후 ID/Pass 입력후 로그인 한다.  

http://mon.cloudz.co.kr


*Chrome, Firefox 이용 부탁드립니다. (IE에서는 일부 동작이 안될 가능성이 있습니다. )


1. 그라파나 메뉴 구성

1.1. 사이드메뉴바( ORG Setting Menu)

 

① 사이드 메뉴 바 토글 : 사이드 메뉴를 show/hide 하는 기능

Create : 해당 ORG내에 Dashboard 혹은 Folder를 신규로 생성한다.

  • Dashboard : Dashboard를 신규로 생성.
  • Folder : Folder를 신규로 생성.
  • Import : Grafana.com의 Dashboard, json 형식의 Dashboard를 import.

Dashboard :Dashboard관리메뉴

  • Home : defult Dashboard를 Home으로 인식하여 해당 Dashboard를 화면에 표기.
  • Manage : 폴더생성/대시보드생성/대시보드이동/대시보드삭제/폴더설정을 한다.
  • Playlist : Dashboard를 playlist에 담아 여러 개의 Dashboard를 돌아가며 확인할 수 있다.
  • Snapshots : Dashboard의 Snapshot을 관리(Dashboard/influxDB Data등 그대로 보관가능)

 Explore : Qurey로 데이터를 탐색한다. ( 선택한 Datasource가 Time Series 및 Table 지원시 그래프 및 표로 확인 가능 )     

 Alerting : 알람에 관련한 설정을 한다.

  • Alert Rules : 알람의 규칙을 설정한다.
  • Notification channels : 알람 채널 관리(알람을 받는 방식에 대한 설정-email/slack등)

⑥ Configuration :해당 ORG의 기본적인 셋팅을 한다.

  • Data Sources : data source 추가 및 설정
  • Users : 해당 ORG의 user 관리(user 추가 및 삭제 , 권한설정)
  • Teams : ORG내 Teams 설정(현재 사용하지 않음)
  • plugins : grafana의 panel, data source, application등 필요한 plugin을 추가 및 관리 한다.
  • Preferences : ORG 명 및 기본설정(defult Dashboard 설정포함)
  • API Keys : (현재 사용치 않음)

⑦ 계정설정: 로그인 계정확인 및 설정, 접속ORG변경, 로그아웃을 할 수 있다.


1.2. 상단메뉴바 (Dashboard Setting Menu)

① Dashboard drop down :이 드롭 다운에는 현재 보고 있는 대시 보드가 표시되며 새 대시 보드로 쉽게 전환 할 수 있다.
여기에서 새 대시 보드 또는 폴더를 생성하고 기존 대시 보드를 가져오고 대시 보드 재생 목록을 관리 할 수도 있다.

② Add panel : 현재 대시 보드에 새 패널을 추가한다

③ Make as favorite : 해당 Dashboard를 favorite로 지정하면 Configuration > preferences > Home dashboard에 표기된다.
Home dashboard 리스트에서 하나를 선택하면 해당 ORG 접속시 선택된 Dashboard가 Home dashboard가 된다.

④ Share dashboard : 링크를 만들어 현재 대시 보드를 공유하거나 스냅 샷을 만든다. 공유하기 전에 대시 보드가 저장되어 있는지 확인필요.

⑤ Save dashboard : 현재 대시 보드는 현재 대시 보드 이름으로 저장된다.(CTRL+S)

⑥ Settings : 템플릿 및 주석과 같은 대시 보드 설정 및 기능을 관리한다.

⑦ Cycle view mode : 한번클릭시 사이드바메뉴 및 dashboard 메뉴 숨김, 두번클릭시 대시보드만 보기모드
(ESC클릭시 mode 해제)

⑧ Time range control : dashboard 시간 및 refresh 간격 표기 미 버튼클릭시 dashboard 시간 및 refresh 간격을 설정할 수 있다.돋보기버튼(-) 클릭시 dashboard시간 zoom out 할 수 있다. (dashboard에 더많은시간 및 날짜가 표기됨 30분 > 1일 > 3일 등..)

⑨ Refresh : 현재 dashboard를 새로고침.


2. 모니터링 대시보드 관리

2.1. ORG관리

2.1.1. Data Sources 설정(Configuration > ①Data Sources)

신규 Data source 추가 : ②Add data source 버튼 클릭 > Datasource Type List 선택 후 상세 Setting

기존 Data source 수정 : ③Data source리스트에서 변경할 Data source 선택 후 상세 Setting 변경


* Data Sources Type List 선택 하는 시점에 Data Source가 추가되고, Settings 에서 저장시 update된다. 

(선택후 Setting을 저장하지 않아도 Datasource는 추가되어있음으로 필요없는 Datasource가 생기지않도록 관리가 필요하다.)

2.1.2. Users 설정(Configuration > ①Users)

신규 User 추가 : ②Invite 버튼 클릭(Invite User화면에서 user를 추가할수 있다.)
기존 User 수정 : ③User리스트에서 Role을 바꾸거나 를 클릭해 ORG에서 삭제할 수 있다.


Role은 Admin/Editor/Viewer로 나뉘어 있다.

  • Admin Role
    조직 내에서 모든 것을 할 수 있다. 예:
    Data sources 추가, 변경/사용자, 팀 추가 및 변경/App plugins & 조직 설정
  • Editor Role 
    Dashboard와 alert rule 생성 및 변경 가능. 단, 특정 folder 및 dashboard에 이 기능을 disable할 수 있다.
    Data source를 생성하고 변경할 수 없다. User를 invite 불가
  • Viewer Role
    모든 Dashboard를 볼 수 있다. 단, 특정 folder 와 dashboard에 disable 시킬 수 있다.
    Dashboards, data source 생성 및 변경 불가


Send invite email을 체크하면 입력한 mail로 invite mail이 전송된다.

2.1.3 Teams 설정(Configuration > ①Teams)

신규 Team 추가 : ②New team 버튼 클릭

기존 Team 수정 : ③Team리스트를 클릭하면 Member를 추가 하거나 team의 setting(team명등)을 바꿀 수 있다.   를 클릭해 team을 삭제할 수 있다.

New Team화면에서 신규 Team를 추가할 수 있다

Team리스트 클릭시 Member 를 추가 할 수 있다.
Team리스트로 돌아가려면 상단의 Teams/팀명 에서 Teams를 클릭하면 리스트로 돌아간다

2.1.4. Plugins설정(Configuration> ①Plugins)

②Find more plugins on Grafana.com 버튼 클릭하면 grafana에 설치할 수 있는 plugin들을 소개하고 사용방법 및 설치방법등을 확인 할 수 있다.

③plugin 리스트를 클릭하면 설치된 plugin에 대한 설명을 확인 할 수 있다.


2.1.5 Preferences설정(Configuration> Preferences)

ORG 명칭 및 UI 테마, default 대시보드, 시간적용설정등을 할 수 있다.

2.1.6. API Key 설정(Configuration> ①API Key)

②Add API Key 버튼클릭시  ③Add API Key를 추가할 수 있다.

④API Key 리스트에서 를 클릭해 API Key를 삭제할 수 있다

2.2. Dashboard 관리

2.2.1. Dashboard 생성

사이드메뉴의 모양을 클릭하여 Create에서 Dashboard를 선택해서 생성하거나



사이드메뉴의  모양을 클릭하여 Dashboards에서 Manage를 선택 후 New Dashboard 버튼을 클릭하여 생성하거나


Dashboard 상단의 Dashboard dropdown 버튼을 클릭 후 New Dashboard를 선택해 생성한다.



New Dashboard가 생성되면  저장버튼을 클릭해 저장한다.

Save As 팝업에서 생성한 Dashboard의 명칭과 폴더를 입력 및 선택 후 Save한다.

(생성후 최초의 경우에만 해당 팝업이뜨고, 이후 save버튼 클릭시 변경사항에 대한 comment 입력 창이 뜬다)

2.2.2. Dashboard Export, Import

Grafana dashboard는 UI 또는 HTTP API에서 쉽게 내보내고 가져오기를 할 수 있다.


  • Exporting dashboard

Dashboard는 JSON 형태로 내보낼 수 있으며 import 시 필요한 모든 정보가 (레이아웃, 변수, 스타일, 데이터 소스, 쿼리 등) 포함되어 있다.

Header 메뉴에서 Share 버튼을 클릭하여 Export 탭을 열면 해당 dashboard을 파일로 저장하거나 JSON 행태로 볼 수 있다. 

Export for sharing externally를 체크하면 grafana.com에서 대시 보드를 공개적으로 공유하는 데 유용하다. 데이터 소스 이름을 템플릿 화해서 특정 대시 보드 가져 오기 API에서만 사용할 수 있다.



Save to file클릭시 파일로 저장되고, View JSON클릭시 JSON 팝업이 뜬다 해당 팝업에서 

드래그하여 복사하거나 copy to clipboard 버튼을 클릭하여 복사한다.



  • Importing dashboard

사이드메뉴의  모양을 클릭하여 Create에서 Import를 선택하거나

사이드메뉴의  모양을 클릭하여 Dashboard에서 Manage를 선택 후 버튼을 클릭하거나


Dashboard 상단의 Dashboard dropdown 버튼을 클릭 후 Import Dashboard를 선택한다..

JSON 입력 팝업에서 Grafana.com에서 복사할 Dashboard의 ID를 입력 하거나

json코드를 붙여넣은 후  Load버튼을 클릭한다..

위 화면에서 dashboard json 파일을 업로드하거나 Grafana.com 의 dashboard ID 또는 dashboard의 json 텍스트를 직접 붙여 넣기 할 수 있다.


Dashboard명을 입력하고, 해당 Dashboard의 폴더를 선택한다.

Import시 unique identifier(uid)를 change버튼을 클릭하여 변경후, Import버튼을 클릭하여 적용한다.

(변경하지 않을 경우 동일 uid를 가진 Dashboard보드가 변경되면 변경사항이 같이 적용된다.

동일한 uid가 있는경우 Import(Overwrite)로 표기되며, 유일한 uid인경우 Import로 표기된다.)


Grafana.com/dashboards에서 일반적으로 많이 사용되는 애플리케이션을 위한 dashboard를 검색해서 재활용할 수 있다.

ZMON에서는 InfluxDB와 Telegraf 수집가만 지원하기 때문에 Data Source에서 InfluxDB로, Collector에서 Telegraf으로 필터링 걸고 검색한다.


JSON 파일을 다운받거나 Dashboard ID로 바로 import 가능하다.

화면 오른쪽 하단에서 Dependencies 와 수집기 설정 정보를 참조할 수 있다.


Dashboard search 메뉴에서 Import dashboard 버튼을 클릭하여 다음 dashboard를 import 할 수 있는 화면으로 이동한다. 

Grafana.com Dashboard 항목에 복사된 ID 번호를 입력해서 Load 버튼을 클릭한다.


Load 버튼을 클릭하면 다음 상세 설정화면으로 이동한다. Dashboard 명, folder, uid, DB 등 설정 정보를 확인 후 Import 버튼을 클릭한다.


https://play.grafana.org 에서 다양한 샘플 dashboard를 참조할 수 있다.


2.3 Panel 관리

2.3.1. Panel 생성

Panel은 Grafana의 기본 시각화을 할 수 있는 블록 단위이며 스타일/포맷 옵션, Query Editor 등 다양한 기능을 제공한다. Panel은 Dashboard에서 Drag & Drop, 재배치, 크기 조정 등 가능하다.

자주 사용되는 Panel (차트) 종류는 아래와 같다. 상세 설명을 링크를 클릭해서 볼 수 있다. 


신규 Dashboard 생성시 자동적으로 New panel box가 표기된다

기존 Dashboard에 추가로 panel을 추가하는 경우 Dashboard상단에  ① Add panel버튼을 클릭한다. 

② Add Query / Choose Visuallzation 클릭시 신규 panel 생성후 각각 쿼리 / panel 타입 선택화면으로 넘어간다.

③ Panel이 아닌 Row를 생성한다. 

④ 기존 Panel에서 more > copy를 클릭한경우 마지막으로 copy한 panel이 붙여 넣기 된다.


2.3.2. Panel 메뉴

Panel의 상단(Panel Title부분)을 클릭하면 Panel 메뉴를 확인 할 수 있다.

  • View : 선택한 Panel만 크게 확인 할 수 있다.
  • Edit : 선택한 Panel에 대한 설정을 할 수 있다. (Panel설정에서 상세 설명)
  • Share : Link/Embed/Snapshot형태로 다른 webpage에 link 혹은 ifram형태로 panel을 표기를할 수 있다. 단, ifram 형태로 표기할시 해당 ifram내에서 grafana login이 필요하다.
  • Explore : 선택한 Panel의 쿼리를 테스트및 작성할 수 있는 Explore창으로 이동한다.
  • Duplicate : 선택한 panel과 동일한 panel하나를 추가한다.
  • Copy : 선택한 panel을 복사한다.이기능 사용시 New Panel box의 paste탭에 복사한 panel이 표기된다.(여러 개 복사 했더라도 최종적으로 copy한 panel만 표기된다.)
  • Panel JSON :  Panel의 JSON크드를 확인 및 수정할 수 있다.
  • Export CSV :  해당 Panel의 data를 CSV형태로 저장할 수 있다.
  • Toggle legend :  Panel에서 legend를 show/hide 할 수 있다. (위 그림에서 cpu.count로 표기된 부분)


2.3.3.Panel 설정( Graph panel )

Panel 메뉴에서 Edit를 클릭하면 Panel설정을 할 수 있다.




1) Queries

Queries탭에서 시각화할 데이터 소스와 query를 정의한다. 데이터 소스 종류에 따라 Queries설정은 다를 수 있다.(다음은 InfluxDB 타입의 Query 정의에 대한 설명이다). 

Cloud Z Monitoring에서는 InfluxDB 형태의 기본 datasource를 제공한다.

기본으로 제공하는 datasource외의 다른 datasource도 Configuration → Data Sources 메뉴를 사용하여 신규로 등록하여 사용 할 수 있다


- Filter data (WHERE)

태그 필터를 추가하려면 WHERE 조건의 오른쪽 버튼을 클릭한다. 태그 필터를 제거하려면 태그 키를 클릭하여 --remove tag filter--를 선택한다.


- Field & Aggregation 함수

SELECT 부분에서 필드와 함수를 지정해 준다. time으로 grouping 할 경우 집계 함수가 필요하다. 버튼을 클릭하여 field를 추가할 수 있고, * 를 입력하여 모든 field를 선택할 수 있다.


- Group By

Grouping하려면 GROUP BY 행에서 버튼을 클릭한다. 버튼 클릭 시 Dropdown 메뉴가 나타나며 여기서 grouping할 태그를 선택한다. 태그를 클릭하면 Remove 버튼이 생기며 이 클릭하여 태그를 삭제할 수 있다. 


- Text Editor Mode (RAW)

버튼을 클릭하여 Toggle Edit Mode를 선택하면 쿼리 모드로 전환된다.

Raw query를 사용할 경우 쿼리에 최소한 WHERE $ timeFilter가 있어야 한다. 또한 group by time과 집계 함수 항상 있어야 하며, 그렇지 않을 경우 InfluxDB가 수십만 개의 데이터를 반환할 수 있기 때문에 브라우저가 죽을 수 도 있다.


- Alias patterns

ALIAS BY 행에서 아래와 같이 패턴을 적용할 수 있다. 

                          $m - measurement name으로 대체(replace)된다

                          $measurement - measurement name으로 대체된다

                          $col - column name 대체됨

                          $tag_exampletag - exampletag의 값으로 대체된다. Syntax 는 $tag_yourTagName ($tag_ 으로 시작해야 함). 


- Templating

메트릭 쿼리에서 server, application 등 항목을 하드 코딩하는 대신 변수를 사용할 수 있다. 변수는 Dashboard 상단에  Dropdown 박스에서 볼 수 있다. Templating 기능에 대한 상세 내용 참고


- Query variable

변수를 Query type으로 생성하면 InfluxDB exploration (메타 데이터) query를 작성할 수 있다. 예를 들어, templating 변수의 query를 아래와 같이 작성하면 hostname 태그의 모든 값을 가진 변수를 생성할 수 있다.

SHOW TAG VALUES WITH KEY = "hostname"


Nested 변수도 사용할 수 있다. 예를 들어, region란 또 다른 변수를 사용하여 현재 선택된 region에 대한 호스트 값만 가진 hostname 변수를 아래와 같이 생성할 수 있다.

SHOW TAG VALUES WITH KEY = "hostname"  WHERE region =~ /$region/


- Using variables in queries

변수를 사용하기 위한 2가지 syntax가 있다.

$<varname> 예:

SELECT mean("value") FROM "logins" WHERE "hostname" =~ /^$host$/ AND $timeFilter GROUP BY time($__interval), "hostname"


[[varname]] 예:

SELECT mean("value") FROM "logins" WHERE "hostname" =~ /^[[host]]$/ AND $timeFilter GROUP BY time($__interval), "hostname"

첫 번째 syntax은 사용하는데 더 간단하긴 하지만 단어 중간에 변수를 사용할 수 없다. Multi-value 또는 Include all value 옵션들이 활성화되 있으면 Grafana는 라벨을 일반 텍스트에서 정규식 가능한 문자열로 변환한다. 그래서 = 대신 ~=을 사용해야한다.


- Min time interver 

$__interval 및 $__interval_ms 변수의 최소값 설정


- Relative time 

현재 시간 범위를 무시하고 패널에 특정 시간을 재설정할 수 있다.

- Time shift

 현재 시간 기준을 timeshift으로  설정 가능하다.


*주의 : Table Panel 사용시 Format as 부터 선택 후 쿼리를 선택(measurement, select value를 선택)해야한다. 
           쿼리후 format as 변경시 오류가 발생할수 있음.



2) Visualization

- Draw Modes

        Bars- 막대 차트로 값을 표시한다. 

        Lines - 값을 Line (선) 그래프로 표시한다.

        Points - 값을 point(점)으로 표시한다


- Mode Options

        Fill - 그래프를 채울 색상 양 (기본값 1). 0은 그래프를 안 채움.

        Fill Gradient - 그래프를 그라디언트로 채울 색상양(숫자가 높을수록 진하게 그라디언트로 채운다.)

        Line width - 선 너비 (기본값 1).

        Staircase - 그래프를 계단 처럼 그린다.

        Points Radius - Draw Modes에서 Points가 선택된 경우 Point의 크기(size)를 조정한다.


- Hover tooltip

        Mode - 특정 point에 mouse over 시 tooltip에 표시 할 series 개수를 설정한다. All series 또는 single (기본값은 All series).

        Sort order - Tooltip에서 series가 어떻게 정렬되는지 설정한다.  


- Stacking and Null value 
여러 series 있는 경우 그룹으로 display 할 수 있다.

        Stack- 각 series는 다른 시리즈 위에 쌓이어서 표시된다.

        Percent - Stack가 체크된 경우에만 사용  가능하고, 각 시리즈는 모든 시리즈의 합계(total)에 대한 비율로 그려진다.

        Null value - Null 값을 어떻게 표시할지 설정


- Add series override  

alias or regex 에 변경할 Series를 선택하고, + 표시를 클릭하여 그래프에 랜더링된 색/선등의 설정값을 바꿔서 랜더링 되도록 변경한다.


■  Axes 

 Y, X 축에 대한 display 속성을 설정한다.



- Left Y / Right Y

             Show - Y을 표시여부

             Unit - Y값 표시 단위

             Scale - Y값에 대한 scale. (default은 Linear)

             Y-Min - Y의 최소 값. (default은 Auto)

             Y-Max - Y의 최대 값. (default은 Auto)

             Decimals - Y 값에 대한 소수의 개수(number of decimals)를 입력 (default은 Auto).

             Label - Y 축 라벨 (default은 null)


- X-Axis

            Show - 축 표시여부를 설정할수 있다.

  Mode - 아래 3가지 옵션이 있다.

             > Time : 기본 옵션이며 X 축은 시간을 나타내며 데이터는 초, 분 등 시간으로 grouping 된다.

             > Series : 데이터가 시간이 아닌 series으로 grouping 된다.

             > Histogram : 그래프를 histogram으로 변환한다. Histogram은 숫자를 범위(range)로 grouping하는 일종의 막대 차트

                                     이며, 버킷(buckets) 또는 빈 (bins)이라고하기도 한다.   막대가 길수록 더 많은 데이터가 해당 범위에 

                                     있음을 나타낸다. 히스토그램과 버킷에 대해서 여기에서 참고.


- Y axes

              Align - Left Y 와 Right Y 축을 값으로 정렬한다 (기본값은 unchecked).

              Level - Align을 체크한 경우에만 사용 가능. 정렬에 사용할 값이며, Y = 0 (기본값 0)부터 시작한다.


■  Legend 

- Options 

              Show - 범례 표시여무를 설정

              Table - 범례를 table에 표시

              To the right - 범례를 패널 오른쪽에 표시

              Width - To the right 를 선택한 경우에만 활성화된다. 범례의 최소 너비(width) 값을 설정


- Values 

   범례에 추가적인 정보를 표시 할 수 있다.

               Min - Metric query에서 return된 모든 값중 최소값 

               Max - Metric query에서 return된 모든 값중 최대 값

               Avg - Metric query에서 return된 모든 값의 평균

               Current - Metric query에서 return된 마지막 값

               Total - Metric query에서 return된 모든 값의 합계

               Decimal - 범례 값에 표시되는 소수의 개수(number of decimals)를 입력

- Hide series

  메트릭 쿼리에서 오는 series 값에 따라 series을 숨길 수 있다.

             With only nulls - Value = null (기본값은 unchecked)

             With only zeros - Value = zero (기본값은 unchecked)


■  Thresholds & Time Regions


- Add Threshold

한계점(threshold)을 사용하여 그래프에 임의의 선을 추가하여 그래프가 특정 값을 넘어갈 때를 쉽게 볼 수 있도록 해 준다. 


- Add time region

특정 요일/시간을 좀더 확인하기 쉽게 색이나 구분선으로 표시 할수 있다.


3) General 

- Title- 패널 제목이며 입력함 제목은 패널 상단에 표시된다 

- Description - 패널 상세 설명이며 패널의 왼쪽 상단 info 아이콘에 mouse over 시 표시된다.

- Transparent - 이 옵션을 체크하면 패널의 단색 배경을 제거한다. 

- Repeat - 변수의 값만큼 패널을 반복한다. 상세 내용 참고

- Panel links - 이 섹션에서 다른 Dashboard 또는 URL에 연결할 수있는 동적 링크를 패널에 추가 할 수 있다.


이 답변이 유용합니까? 아니오

Send feedback
도움을 드리지 못해 죄송합니다. 피드백을 주시면 이 문서의 품질을 높이겠습니다.