새소식

Data Engineering/Observability

[Observability] - 3. Grafana로 대시보드 구성하고 메일로 Alert 받기

  • -

Grafana

Grafana는 모니터링을 위한 대시보드 도구이다.

OSS 버전은 무료이면서도 기능이 좋다.
web UI 성능도 좋으며 다양한 integration과 alert 설정의 고도화 variable을 이용한 재사용성 등 장점이 많다.

Grafana 설치

prometheus 설치한 서버와 같은 곳에 했지만 다른데 해도 괜찮다.

wget https://dl.grafana.com/oss/release/grafana-9.3.1.linux-amd64.tar.gz
tar -zxvf grafana-9.3.1.linux-amd64.tar.gz
mv grafana-9.3.1 grafana
cd grafana
export GRAFANA_HOME=$(pwd)

SMTP 설치

Alert할 때 구글 메일로 받기 위해 SMTP를 설치하였다.

sudo apt install ssmtp -y

sudo vi /etc/ssmtp/ssmtp.conf
user=noreply
root=$your_account@gmail.com
mailhub=smtp.gmail.com:587
hostname=$your_host
FromLineOverride=YES
AuthUser=$your_account@gmail.com
AuthPass=$your_apppassword
UseTLS=YES
UseSTARTTLS=YES

해당사항에 맞게 채워넣는다. (hostname : public DNS 주소, password는 구글 보안설정에서 16자리 앱 패스워드를 발급받는다.

echo 'test' | ssmtp $your_receiver_account@gmail.com

위의 커맨드를 보낸 후 메일이 오면 성공이다.

Grafana에 smtp 설정

vi ./conf/default.ini
enabled = true
host = smtp.gmail.com:587
user = $your_account@gmail.com
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = $your_app_password
;cert_file =
;key_file =
skip_verify = true
from_address = $your_account@gmail.com
from_name = Grafana # what you want
;ehlo_identity =
;startTLS_policy =
./bin/grafana-server

실행해보고 prometheus와 같이 웹브라워에 3000포트로 접속해본다.

그리고 똑같이 systemctl로 등록한다.

sudo vi /etc/systemd/system/grafana.service
[Unit]
Description=Grafana instance
Documentation=http://docs.grafana.org
Wants=network-online.target
After=network-online.target

[Service]
User=ubuntu
Group=ubuntu
Type=simple
Restart=on-failure
WorkingDirectory=/home/ubuntu/grafana
ExecStart=/home/ubuntu/grafana/bin/grafana-server \
                            --config=/home/ubuntu/grafana/conf/defaults.ini    \
                            --pidfile=/home/ubuntu/grafana/grafana-server.pid
LimitNOFILE=10000
UMask=0027

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable grafana.service
sudo systemctl start grafana.service

ps -ef | grep grafana

 

이제 웹브라우저로 넘어가 대시보드 구성한다!!

설정에서 DatasourcePrometheus로 추가한다.

Alert 받기 위해서는 다음 과정이 필요하다. 매뉴얼

  1. Create contact point
  2. Create policy
  3. Create alert rule (from panel)

이런식으로 알람받을 수 있다.

대시보드 구성은 이것저것 눌러보면서 배우는 것이 가장 좋다.

나는 이렇게 구성해보았다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.