1. Grafana
1.1 Grafana를 쓰는 이유
모니터링을 위한 대시보드 도구
장점
- OSS 버전은 무료, 기능 우수
- black background에서 시인성이 좋은 graph
- 좋은 web UI 성능
- 다양한 Integration
- datasource로 다양한 database를 연결할 수 있음
- server-side rendering으로 빠른 panel 그림
- alert 설정의 고도화
- policy, contact point, alert rule의 구분
- template을 이용한 자동화
- variable을 이용한 재사용성
2. Grafana 설치하기
2.1 다운로드 및 설치
curl -O https://dl.grafana.com/oss/release/grafana-10.1.2.darwin-amd64.tar.gz
tar -zxvf grafana-10.1.2.darwin-amd64.tar.gz
mv grafana-10.1.2 grafana
cd grafana
grafana 폴더에 있는 파일들을 확인할 수 있음
Grafana는 metadata 저장소로 다음 데이터베이스를 필요로 함
- SQLite 3
- MySQL 5.7+
- PostgreSQL10+
다운로드 받은 패키지는 기본적으로 SQLite을 쓰도록 되어있음
2.2 설정파일
conf/default.ini 파일에 기본 설정이 있음
- 번들된 SQLite 3를 쓰도록 되어있음.(admin)
- port 3000을 쓴다.
2.3 실행
./bin/grafana-server
$IP:3000으로 접속할 수 있음
아이디/비번은 admin으로 입력하고 변경하면 됨
해당 창이 잘 나오는 것을 확인할 수 있다!
2.4 systemctl로 등록
systemctl이 대체 몬데.....,,,,,,, 왜 나는 안되는데.....
찾아보니 리눅스 운영체제에서 서비스를 관리하는 명령어였다 😅 (맥순이 자격박탈..)
이를 알려면 데몬이라는 개념에 대해서 알고 있어야 함
데몬이란 사용자가 직접적으로 제어하지 않고, 백그라운드에서 여러 작업을 하는 프로그램을 말함
Linux는 OS가 부팅되면서 여러가지 데몬들이 실행됨
이러한 데몬들을 Linux에서는 service 파일로 설정하여 실행하고 있으며, systemd라는 프로세스가 관리하고 있음
따라서 Service는 시스템 데몬 및 사용자 정의 데몬을 의미하며, systemctl은 service(데몬)들을 관리하는 명령어 이다.
그렇다면 맥에서는 systemctl과 같이 서비스를 관리하는 명령어가 없을까?
https://devlog.jwgo.kr/2019/07/03/how-do-i-check-if-a-service-is-running-in-mac/
brew system start 명령어를 사용해서 진행하였다! 😆
3. Grafana로 대시보드 구성하기
Grafana 대시보드를 구성하기 위해서는 다음과정을 거침
1. Datasource 추가하기
2. create dashboard
3. create panel in dashboard
alert를 받기 위해서는 다음 과정이 필요함
1. create contact point
2. create alert rule
1. Data source 추가하기
data soruce 를 추가하면 다양한 종류의 data source type을 선택할 수 있다.
그라파나 서버입장에서 접속할 수 있는 주소를 입력한다. (클라이언트 입장과는 다르다!!)
save & test를 눌러 접속이 가능한 url 인지 확인한다.
alerting 기능을 지원, alert를 자신의 서버에서 판단하는 것이 아니라 해당 데이터 소스에서 쿼리로 alert를 판단해서 alerting 시스템에 대한 부하를 낮출 수 있다.
데이터소스에 프로메테우스가 저장되어있는 것을 확인할 수 있다.
2. Dashboard 만들기
Dashboard 옵션에서 new dashboard를 누르고 새로운 판넬을 만들어준다.
코드를 통해 데이터를 넣어보자
프로메테우스 서버에는 자기자신이 남기는 metric들이 수집되고 있다.
gauge 타입인 go_goroutines은 33개 있는 것을 확인할 수 있다.
이 메트릭을 코드창에 입력해본다.
짠 !! 메트릭이 30~33개 범위 내에 있는 것을 확인할 수 있다.
Panel options에서 title를 지정해주고 Unit을 shorts로 바꿔준다.
이는 이는 숫자가 클 때 축약해주는 역할을 한다.
apply한 뒤에는 저장을 꼭 해줘야한다.
2분동안 second가 증가한 메트릭을 확인해본다.
unit은 second 로 지정해주고 point 로 그래프 스타일을 설정한다.
'데이터 > 데이터 엔지니어링' 카테고리의 다른 글
[Chapter07] OpenSearch CRUD 실습 (1) | 2023.10.07 |
---|---|
[Chapter 06] 분산시스템의 이해, Zookeeper (1) | 2023.10.01 |
[Chatper 05 | Observability] Prometheus 이해하기 (0) | 2023.09.23 |
[Chapter 05 | Observability] Prometheus로 메트릭 수집하기 (0) | 2023.09.23 |
[Chapter 05 | Observability] Observability 기초 개념 (0) | 2023.09.20 |