1. 개요
해당 문서는 NHN Cloud의 Service Monitoring서비스 중 Openmetrics를 활용하여 Grafana와 연계해 사용하는 방법을 가이드하는 문서입니다.
2. Architecture
- 수집 작업 공간 생성: Advanced Monitoring 기능을 사용하기 위해 가장 먼저 수행해야 하는 것은 작업 공간을 만드는 것입니다. 모니터링 목적과 성격이 같은 것을 하나의 작업 공간으로 정의하고, 수집 대상과 지표의 시각화 방법을 관리할 수 있습니다.
- node_exporter 설치: node_exporter를 설치하여 NHN Cloud의 Prometheus가 metric을 수집할 수 있도록 합니다.
- 수집대상 지정: 작업 공간을 생성했다면 각 공간에서 모니터링할 대상을 지정해야 합니다. 대시보드 왼쪽의 작업 공간 목록에서 사용할 공간 하나를 선택하면, 화면 위에 수집 대상 관리 버튼이 표시됩니다. 수집 대상 관리 버튼을 클릭하면 수집 대상을 추가 또는 삭제할 수 있는 대화 상자가 나타납니다.
- Rayout 및 Chart생성: 작업 공간을 만들고 수집 대상을 지정하면 Agent는 지표를 수집하고 System Monitoring 시스템에 데이터를 저장합니다. 이후 저장된 데이터를 조회하려면 레이아웃에서 차트를 구성해야 합니다.
3. 구성
3.1 작업공간 생성
node export를 사용할 것이기 때문에 URL경로는 /metrics로 설정합니다.
3.2 node exporter설치
- metric수집 대상서버에서 node exporter를 설치합니다
wget https://github.com/prometheus/node_exporter/releases/download/v1.4.0-rc.0/node_exporter-1.4.0-rc.0.linux-amd64.tar.gz
tar zfvx node_exporter-1.4.0-rc.0.linux-amd64.tar.gz
3.3 수집대상관리 추가
- 수집대상관리를 클릭하여 서버 및 포트(node export의 포트)를 추가하고 수집대상목록에서 상태가 초록불 상태가 되는지 확인합니다.
3.4 레이아웃 만들기
- 레이아웃 만들기 버튼을 클릭하여 임의로 이름을 설정하여줍니다.
3.5 차트 추가
- 차트 추가 버튼을 클릭하여 해당 레이아웃에서 지표를 나타내줄 차트를 만들어줍니다.
2. 완료버튼을 클릭하고, 저장 버튼을 클릭합니다.
3.6 Grafana 서버 설치 및 구성
수집되는 메트릭 정보는 Grafana를 통해 확인할 수도 있습니다.
- Grafana서버 설치
apt-get install -y apt-transport-https
apt-get install -y software-properties-common wget
wget -q -O /usr/share/keyrings/grafana.key <https://apt.grafana.com/gpg.key>
echo "deb [signed-by=/usr/share/keyrings/grafana.key] <https://apt.grafana.com> stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
# Update the list of available packages
apt-get update
# Install the latest OSS release:
apt-get install grafana
# Start Grafana Server
systemctl start grafana-server
2. Grafana 서버 접속
- http://{Server-IP}:{Grafana Port}
- EX) http://133.186.144.207:3000/
3. Data Source설정
왼쪽 상단 메뉴바 > Administration > Data sources를 클릭 합니다.
Add new data source를 클릭합니다.
Prometheus를 클릭합니다.
Prometheus Datasource에 대한 세부 설정을 합니다. 설정이 모두 완료되면 Save & Test를 클릭하고
"Data source is working”이 정상적으로 나타나는지 확인합니다.
- name: 사용자임의로 정합니다.
- URL: NHN Cloud에서 제공하는 Prometheus의 api gateway주소를 입력합니다.
- Header: x-tc-app-key
- Value: System Monitoring의 App key를 입력합니다.
4. Dashboard생성
그라파나 서버에 접속 이후 왼쪽 상단 메뉴바를 클릭하여 Dashboards를 클릭합니다.
New > Import버튼을 클릭합니다.
5. Grafana dashboard Template 가져오기
Customize되어있는 Dashboard Template을 선택합니다.
- 이번 예시에서는 node-exporter-full template을 사용했습니다.
- https://grafana.com/grafana/dashboards/1860-node-exporter-full/
복사한 ID를 붙여넣고 Load 버튼을 클릭합니다.
Data Source를 Select하고 Import버튼을 클릭합니다.
정상적으로 연동된 것을 확인할 수 있습니다.
4. 결론
서버에 OpenMetrics를 설치하고 실행하여 OpenMetrics 대쉬보드에서 레이아웃 및 차트를 사용자가 원하는 형태로 배치하여 시스템모니터링을 보다 효율적으로 관리하는 방법을 실습 했습니다.
또한, NHN Cloud에서는 자체 Prometheus 서버를 보유하고 있어서 해당 API Gateway주소와 Appkey만 준비되면 Grafana를 별도로 설치하고 Prometheus와 연계하여 별도로 시스템 모니터링 대쉬보드를 커스터마이징하여 사용자가 설정한 감시 조건을 바탕으로 원하는 형태의 깔끔하고 가독성 좋은 Monitoring 시스템을 구축할 수 있었습니다.
지금까지 Open Metrics를 통해 기본적인 시스템 지표 이외에도 사용자의 상황에 맞는 여러 지표를 수집하여 시스템을 효율적으로 관리할 수 있는 실습 및 가이드였습니다.
'Public Cloud > NHN Cloud' 카테고리의 다른 글
[NCR]Private URI를 활용한 Docker Image Push (0) | 2023.07.20 |
---|---|
LB에 사설IP 직접할당 하기 (1) | 2023.07.17 |
[NHN Cloud]Instance Type UUID 확인하기 (0) | 2023.07.17 |
[NHN Cloud]API호출시 필요한 token 값 발급하기(Feat. Python) (0) | 2023.07.17 |