0. 현재 Grafana 릴리즈된 버전 확인하기

https://grafana.com/grafana/download/9.4.3?edition=oss 

 

Download Grafana | Grafana Labs

Overview of how to download and install different versions of Grafana on different operating systems.

grafana.com

2023.03.16 기준, 9.4.3 버전이 최신 버전이므로, 아래 설치 과정도 9.4.3 버전(OSS) 로 진행하겠다.

 

1. Grafana 설치

# 그라파나 다운로드
# cd ~
# wget https://dl.grafana.com/oss/release/grafana-9.4.3-1.x86_64.rpm
# 위 다운로드 링크는 설치하려는 그라파나의 버전, OS 버전에 따라 달라진다.

# 다운로드 받은 그라파나 rpm파일을 yum으로 설치 진행
# 추후 취약성 등의 보안 패치 등을 수월하게 하기 위해 yum 으로 수행
# yum install ~/grafana-9.4.3-1.x86_64.rpm

# 'grafana' 유저 추가는 선택 사항. (yum으로 설치 시, /sbin/nologin 으로 grafana 계정 생성된다.)
# useradd -m -s /bin/bash grafana

# 'grafana' 유저로 전환 (yum으로 진행 시 X)
# su - grafana

2. yum 으로 설치 된 Grafana의 각종 디렉토리 및 파일 확인

Grafana 엔진(GRAFANA_HOME) 디렉토리

# Grafana 엔진 디렉토리 확인하기
# ls -al /usr/share/grafana

/usr/share/grafana

┖ bin/

┖ conf/

┖ plugins-bundled/

┖ public/

┖ VERSION

 

Grafana의 환경변수

# Grafana의 환경변수 확인하기
# vi /etc/sysconfig/grafana-server
GRAFANA_USER=grafana

GRAFANA_GROUP=grafana

GRAFANA_HOME=/usr/share/grafana

LOG_DIR=/var/log/grafana

DATA_DIR=/var/lib/grafana

MAX_OPEN_FILES=10000

CONF_DIR=/etc/grafana

CONF_FILE=/etc/grafana/grafana.ini

RESTART_ON_UPGRADE=true

PLUGINS_DIR=/var/lib/grafana/plugins

PROVISIONING_CFG_DIR=/etc/grafana/provisioning

# Only used on systemd systems
PID_FILE_DIR=/var/run/grafana

 

Grafana의 서비스 파일(grafana-server.service) 확인

# Grafana의 service 파일 확인하기
# vi /usr/lib/systemd/system/grafana-server.service
[Unit]
Description=Grafana instance
Documentation=http://docs.grafana.org
Wants=network-online.target
After=network-online.target
After=postgresql.service mariadb.service mysqld.service

[Service]
EnvironmentFile=/etc/sysconfig/grafana-server
User=grafana
Group=grafana
Type=notify
Restart=on-failure
WorkingDirectory=/usr/share/grafana
RuntimeDirectory=grafana
RuntimeDirectoryMode=0750
ExecStart=/usr/share/grafana/bin/grafana server                                     \
                            --config=${CONF_FILE}                                   \
                            --pidfile=${PID_FILE_DIR}/grafana-server.pid            \
                            --packaging=rpm                                         \
                            cfg:default.paths.logs=${LOG_DIR}                       \
                            cfg:default.paths.data=${DATA_DIR}                      \
                            cfg:default.paths.plugins=${PLUGINS_DIR}                \
                            cfg:default.paths.provisioning=${PROVISIONING_CFG_DIR}

LimitNOFILE=10000
TimeoutStopSec=20
CapabilityBoundingSet=
DeviceAllow=
LockPersonality=true
MemoryDenyWriteExecute=false
NoNewPrivileges=true
PrivateDevices=true
PrivateTmp=true
ProtectClock=true
ProtectControlGroups=true
ProtectHome=true
ProtectHostname=true
ProtectKernelLogs=true
ProtectKernelModules=true
ProtectKernelTunables=true
ProtectProc=invisible
ProtectSystem=full
RemoveIPC=true
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
RestrictNamespaces=true
RestrictRealtime=true
RestrictSUIDSGID=true
SystemCallArchitectures=native
UMask=0027

[Install]
WantedBy=multi-user.target

3. Grafana 실행

Grafana 서버 실행

# 그라파나 서버 실행
# systemctl start grafana-server.service

# 그라파나 서버 실행 상태 확인
# systemctl status grafana-server

 

Grafana 웹 콘솔 접속

{그라파나가 설치된 IP}:3000/

-> 기본 포트는 3000이다.

 

접속하면 ID와 PW를 입력하라는 창이 나타나는데, Grafana를 설치한 후, 아무것도 설정하지 않은 채 바로 웹 콘솔에 접속하였다면, 초기 ID와 PW 는 'admin' / 'admin' 이다.

그라파나 웹 콘솔 화면

위와 같은 웹 콘솔 화면이 보인다면, grafana-server 실행은 정상적으로 잘 된 것이다.


4. Grafana 데이터 소스 추가

설치한 그라파나가 프로메테우스 서버의 metric 들을 가져오기 위해서는, 그라파나에 프로메테우스 Datasource 를 추가해주어야 한다.

추가 화면은 아래와 같다.

그라파나 웹 콘솔 - 왼쪽 메뉴의 [Configuration] - [Data sources] - 'Add data source' 클릭

 

'Add data source' 를 클릭하면 아래 그림처럼 추가할 수 있는 데이터소스 목록이 나오는데, 우리는 여기에서 'Prometheus'를 선택한다.

[Add data source] - 'Prometheus' 선택

 

그럼 아래 그림처럼 해당 데이터소스를 통해 어떤 서버를 바라볼 것인지부터 Scrape interval 등 다양한 옵션들을 지정해 줄 수 있는데, 적절히 선택 후에 'Save & test' 버튼을 클릭하면 된다.

그라파나 data source 설정 (1)
그라파나 data source 설정 (2)


5. Grafana에 Node_Exporter Metric 기반의 유용한 대시보드 구성 - 'Node Exporter Full'

그라파나 공식 사이트에는 여러 사람들이 커스터마이징 해놓은 대시보드들이 공유되어 있다.

대시보드의 내용은 datasource를 제외하고는 모두 json 으로 설정이 유지된다. 이 말인 즉슨, json 설정만 export 또는 import 하게 되면 그라파나 서버가 어디에 있든, 쉽게 해당 대시보드의 설정 및 패널을 공유하여 재사용성을 높일 수 있다!

 

이 포스팅에서는 Node_Exporter 메트릭에서 서버 모니터링을 수월하게 하도록 의미있는 정보들로 대시보드를 만들어놓은, 대표적인 대시보드인 'Node Exporter Full' 을 기준으로 살펴본다.

 

'Node Exporter Full' 대시보드 템플릿(?) 사이트

https://grafana.com/grafana/dashboards/1860-node-exporter-full 

 

Node Exporter Full | Grafana Labs

Edit Delete Confirm Cancel

grafana.com

'Node Exporter Full' 대시보드 사이트

JSON 형태로도 다운 받을 수 있는데, 그라파나에 쉽게 바로 적용하기 위해 'Copy ID to clipboard' 로 이 대시보드의 ID만 복사해서 사용하자!

 

그라파나에 대시보드 ID로 대시보드 Import 하기

그라파나 웹 콘솔에서 왼쪽 메뉴의 [Dashboards] - [+ Import] 를 클릭하자!

그라파나 웹 콘솔 - 왼쪽의 [Dashboards] 메뉴 - [ + Import] 클릭

 

복사한 대시보드 ID를 입력하고 'Load' 버튼을 클릭하자!

[Import dashboard] 창 - 복사한 대시보드 ID 입력 - 'Load' 버튼 클릭

그럼 아래 그림처럼 이 대시보드를 어떤 이름으로, 어떤 폴더에 저장할 것이고, 어떤 데이터소스를 기반으로 할 것인지를 선택할 수 있다. 우리는 프로메테우스 서버의 데이터를 시각화하여 대시보드를 만드는 것이므로, 데이터 소스를 프로메테우스로 설정한 데이터소스로 잡아주자. 그리고 'Import' 버튼을 클릭하면 된다!

[Import dashboard] 창 - Options 작성 / 데이터소스를 프로메테우스 기반 데이터소스로 설정 - 'Import' 버튼 클릭

 

Import 된 'Node Exporter Full' 대시보드 확인

Import 된 'Node Exporter Full' 대시보드


참고

패스트캠퍼스 - '한 번에 끝내는 데이터 엔지니어링 초격차 패키지 Online' 중 Part.5 Observability - Ch 04_01. / Ch 04_02.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기