모니터링을 위한 대시보드 도구
OSS 버전은 무료이고, 기능이 좋다.
black background 에 시인성이 좋은 graph
좋은 web UI 성능
다양한 integration
datasource 로 다양한 database 를 연결할 수 있다.
server-side rendering 으로 빠른 panel 그림
alert 설정의 고도화
policy, contact point, alert rule 의 구분
template 을 이용한 자동화
variable 을 이용한 재사용성
다양한 graph style의 편의 설정
다운로드 & 압축 풀기 & 폴더 만들기 & 경로 저장
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)
Grafana는 metadata 저장소로 다음 데이터베이스를 필요로한다.
다운로드 받은 패키지에 기본적으로 SQLite 를 쓰도록 되어있다.
email noti 를 위해 ssmtp 설치
sudo apt install ssmtp -y
conf 파일 수정
sudo vi /etc/ssmtp/ssmtp.conf
user=noreply
root=$email_account
mailhub=smtp.gmail.com:587
hostname=$host_name
FromLineOverride=YES
AuthUser=$email_account
AuthPass=$app_password
UseTLS=YES
UseSTARTTLS=YES
확인해보기
echo 'test' | ssmtp $email_account
아래와 같은 메일이 왔다면 성공이다.
default.ini 를 수정한다.
vi conf/defaults.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 =
Grafana 실행
./bin/grafana-server
localhost:3000 (3000번이 기본 포트 설정, defaults.ini 에서 변경 가능)에서 확인할 수 있다.
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=$USER
Group=$USER
Type=simple
Restart=on-failure
WorkingDirectory=$GRAFANA_HOME
ExecStart=$GRAFANA_HOME/bin/grafana-server \
--config=$GRAFANA_HOME/conf/defaults.ini \
--pidfile=$GRAFANA_HOME/grafana-server.pid
LimitNOFILE=10000
UMask=0027
[Install]
WantedBy=multi-user.target
-$USER : ubuntu
등록
sudo systemctl daemon-reload
sudo systemctl enable grafana.service
systemctl로 Grafana 시작
sudo systemctl start grafana.service
프로세스 확인
ps -ef | grep grafana
Grafana에서 대시보드를 구성하기 위해서는 다음 과정을 거친다. 매뉴얼
Datasource 추가하기
Create Dashboard
Create Panel in Dashboard
Alert 받기 위해서는 다음 과정이 필요하다. 매뉴얼
Create contact point
Create policy
Create alert rule (from panel)