Amazon Managed Grafana 사용기
미국 동부(버지니아 북부) 및 유럽(아일랜드) 리전에서 평가판으로 출시되었던 Amazon Managed Grafana가 정식으로 출시되었습니다.
Amazon Managed Grafana는
Grafana Labs와 협력하여 개발된 여러 데이터 소스에서 애플리케이션에 대한 운영 지표, 로그 및 추적을 쿼리, 상관 관계 및 시각화할 수 있도록 지원하는 안전한 완전 관리형 데이터 시각화 서비스입니다. 고객은 Grafana 서버의 프로비저닝, 설정, 크기 조정 및 유지 보수를 직접 수행할 필요가 없습니다.
AMG의 정식출시로 추가된 기능을 소개합니다.
인증액세스
Amazon Managed Grafana Workspace에서 통합 인증(SSO)을 사용할 수 있도록 SAML(Security Assertion Markup Language) 2.0에 대한 기본 지원과 같은 추가 기능을 도입합니다. SAML을 사용하면 자격 증명 공급자(IdP)와 직접 통합할 수 있어 사용자가 기존 사용자 이름 및 암호를 사용하여 Amazon Managed Grafana WorkSpaces에 로그인할 수 있습니다.
Workspace에 대한 SAML 설정을 간소화하기 위해, CyberArk, Okta, OneLogin, Ping Identity 및 Azure Active Directory에서 구축한 전용 SAML 애플리케이션과도 통합되며 이러한 애플리케이션을 해당 IdP의 애플리케이션 갤러리에서 직접 검색하고 구성할 수 있습니다.
Grafana API 키 및 Terraform Grafana 공급자 지원
대시보드, 데이터 소스 및 기타 Grafana 리소스 생성을 자동화할 수 있습니다. 대시보드 삭제, 데이터 소스 권한 변경 등과 같은 경우에 확장된 CloudTrail 로그 집합을 사용하여 Amazon Managed Grafana WorkSpaces에 대한 변경 내용을 추적 및 감사할 수 있습니다. Grafana 버전 8.0을 지원하여 한 번의 구축으로 여러 대시보드에서 사용할 수 있는 라이브러리 패널, 지표를 빠르게 검색 및 쿼리할 수 있는 Prometheus 지표 브라우저, 새로운 상태 타임라인 및 상태 기록 시각화 등 여러 새로운 기능이 포함되어 있습니다. 또한 Amazon Managed Grafana는 JSON 및 Redis를 포함한 9개의 새로운 데이터 소스 플러그인과 Salesforce, SAP HANA, Atlassian Jira 등을 포함한 새로운 Grafana Enterprise 데이터 소스 플러그인을 지원합니다.
Grafana Enterprise 지원 플러그인 추가
Grafana Enterprise로 업그레이드를 하면 AppDynamics, DataDog, Dynatrace, MongoDB, New Relic, Snowflake, VMware Tanzu Observability by Wavefront 등을 포함하여 기존 및 새로 지원되는 엔터프라이즈 플러그인에 액세스할 수 있습니다.
Amazon Managed Grafana 콘솔에서 Grafana Enterprise로 업그레이드할 수 있습니다. (30일 무료 평가판 사용가능)
서비스 가능 리전 추가
평가판 대비 사용가능한 리전이 추가되었습니다.
미국 동부(오하이오), 미국 동부(버지니아 북부), 미국 서부(오레곤), 아시아 태평양(서울), 아시아 태평양(싱가포르), 아시아 태평양(시드니), 아시아 태평양(도쿄), 유럽(프랑크푸르트), 유럽(아일랜드), 유럽(런던)
요금은 어떻게 지불할까요?
Amazon Managed Grafana의 작업 공간당 활성 사용자에 대해 비용을 월마다 지불합니다.
Grafana WorkSpace에 액세스하도록 여러 사용자를 프로비저닝할 수 있지만 해당 월에 로그인하여 WorkSpace를 사용한 활성 사용자에 대해서만 요금이 청구됩니다. 액세스 권한을 부여 받았지만 로그인하지 않은 사용자에 대해서는 해당 월의 요금이 청구되지 않습니다.
대시보드를 게시하는 데 사용된 Grafana API 키는 매달 Workspace별 API 사용자 라이선스로 청구됩니다.
왜 사용해야 할까요?
여러 소스의 운영 지표, 로그 및 추적을 시각화하고, 쿼리하여 다양한 상황을 모니터링 할 수 있습니다. 예를 들어 CloudWatch EC2의 CPU 사용률을 그래프를 확인했을때 CPU 사용률이 지속적으로 낮게 기록된다면, 비용절감을 위해 인스턴스크기 조정을 검토해볼 수 있습니다.
다양한 지표들에 알림을 설정하여 이상 상황을 빠르게 확인할 수 있습니다. 인스턴스 CPU 사용률이 일정 수치 이상 지속되었거나, 0이 되는 시점에 알림설정하여 즉각적인 대응이 가능해집니다.
Grafana 설치, Amazon Managed Grafana 프로비저닝
( Grafana, Amazon Managed Grafana 모두 Amazon CloudWatch를 Data source로 지정합니다. )
Grafana 설치
Grafana 다운로드 페이지에서 설치파일을 다운받아 설치합니다.
http:/localhost:3000/login 으로 접속하여 관리자 username과 Password로 접속합니다.
( 초기 username과 Password는 admin입니다. )
Configuration — Data sources 에 들어가 CloudWatch를 선택합니다.
Connection Details를 설정합니다.
Authentication Provider를 Access & secret Key 로 설정하고,
Access Key ID, Secret Access Key, Default Region 을 입력합니다.
Save & test 버튼을 눌러 설정을 저장하고, 연결테스트를 진행합니다.
Amazon Managed Grafana 프로비저닝
(인증 액세스 방법으로 AWS SSO를 사용했습니다. SAML 방식 참고)
- 인증로그인 설정
AMG의 인증 액세스 방법을 AWS SSO(AWS Single Sign On) 방식을 사용한다면, AMG 워크 스페이스를 생성하기 전 SSO기능이 활성화 되어 있어야합니다. AWS SSO 콘솔에 접속해 SSO를 활성화로 변경합니다.
🌟 SSO이 활성화 되기 전 사전요구사항을 충족되어 있는지 확인합니다.
1. AWS Organizations를 사용하고, 모든 기능을 활성화로 설정합니다.
2. AWS Organizations 관리계정으로 로그인합니다.
AWS SSO — 사용자
사용자 추가 버튼을 눌러, 사용자를 등록합니다.
사용자 추가할 때 입력했던 메일에 접속하여 비밀번호를 설정합니다.
- Workspace 생성
Amazon Managed Grafana 콘솔페이지에 접속하여, 새로운 Workspace를 생성합니다.
Workspace 이름을 지정하고 다음 버튼을 클릭합니다.
인증 액세스 방법은 AWS SSO와 SAML이 있으며, 모두 선택 가능합니다.
필요에 따라 서비스 관리형과 고객 관리형 권한 유형을 선택하고 다음 버튼을 선택합니다.
Amazon CloudWatch를 데이터 원본으로 선택합니다.
1~3단계에서 선택한 정보를 최종검토하고, Workspace를 생성합니다.
생성된 Workspace 정보입니다.
AMG는 위 생성된 Grafana Workspace URL로 접속합니다.
사용자 할당 없이 Workspace에 접속한 화면.
사용자가 없어 Workspace에 접속할 수 없습니다.
아래 SSO 사용자 할당을 따라, 관리자를 할당하여 로그인합니다.
🌟 인증 엑세스 방식을 Security Assertion Markup Language(SAML)을 선택한 경우에도 사용자 입력이 완료되지 않으면 Workspace에 접속할 수 없습니다.
- SSO 사용자 할당
Workspace의 인증 탭에서 새 사용자 또는 그룹 할당 버튼을 클릭한다.
앞에서 추가한 SSO 사용자를 선택하고, 관리자로 설정합니다.
🌟 Workspace를 관리하기 위해 적어도 한 명의 사용자를 관리자로 할당합니다.
sign in with AWS SSO 버튼이 생성되었습니다.
이제 사용자 이름과 비밀번호를 사용하여 Workspace에 접속할 수 있습니다.관리자 권한이 있는 사용자로 접속합니다.
AWS SSO를 통해 AMG Workspace에 접속하였습니다.
Grafana 사용방법
- Dashboard 생성, Panel 추가
Create — Dashboard — Add an empty panel 클릭
Panel을 구성하고 Apply 버튼을 클릭합니다.
위 그래프에 적용되어 있는 설정입니다.
Panel Options — Title — EC2 CPUUtilization
Graph Styles — Stack Series — Normal
[Query]
Query Mode : CloudWatch Metrics
Regin : default (ap-northeast-2)
Namespace : AWS/EC2
Metric Name : CPU Utilization
Stats : Average
Dimensions : InstanceId = *
🌟대시보드 쿼리 설정 Tip!
1. 와일드카드( * )를 사용하여 (시간, 선택된 지표) 상황에 맞게 CloudWatch 콘솔로 이동하고 지표의 동적 목록을 쿼리할 수 있습니다. 참고
2. Grafana는 Regin 단위로 모니터링할 수 있습니다.
3. Grafana 작업 공간은 패널 당 최대 26개의 쿼리를 지원합니다.
오른쪽 상단의 Save Dashboard 클릭
Dashboard 이름을 지정하고 저장합니다.
- AWS CloudWatch DashBoard import
Configuration — Data source — AWS CloudWatch 클릭 — Dashboards
이용하려는 AWS 서비스에 해당하는 Import 클릭
Dashboards— Manage에서 import된 Amazon Ec2와 Amazon RDS 보드를 확인할 수 있습니다.
추가된 AmazonEC2 대시보드
- SMTP 설정
메일 전송을 위한 SMTP를 설정합니다.
windows기준
C:\Program Files\GrafanaLabs\grafana\conf\defaults.ini
설정변경이 완료되면, Grafana 서비스를 재시작합니다.
#################################### SMTP / Emailing #####################
[smtp]
enabled = true
host = smtp.gmail.com:587
user = [메일주소]
# If the password contains # or ; you have to wrap it with triple quotes. Ex “””#password;”””
password = [비밀번호]
cert_file =
key_file =
skip_verify = false
from_address = admin@grafana.localhost
from_name = Grafana
ehlo_identity =
startTLS_policy =
🌟Gmail SMTP 설정하기
https://myaccount.google.com/lesssecureapps 접속하여 보안 수준이 낮은 앱의 액세스 사용으로 변경 ( 2단계 인증이 사용 설정된 계정 사용불가)
host = smtp.gmail.com:587
- 알림 설정
위에서 생성한 Dashboard에서 Panel명을 클릭하고 Edit 버튼을 눌러 수정화면으로 들어갑니다.
Alert 탭을 선택하여
어떤 수치가 얼마나 지속될때 알림을 보낼것인지 설정한다.
Evaluate every — 평가 간격
For — 알림이 트리거되기 전 임계값을 위반해야 하는 기간
🌟 주의!
알림은 제한된 형태의 고가용성을 지원합니다.
여러 작업공간에서 같은 알림이 실행될때, 중복 제거되어 알림이 전송되지 않습니다.
- 사용자 추가
Configuration— Users — Invite 하여
사용자에게 권한을 부여하고, Workspace에 사용자를 추가할 수 있습니다.
🌟 Grafana와 달리 Amazon Managed Grafana에서는 Workspace에 사용자를 추가하지 않습니다. 대신 SSO(Single Sign On) 공급자를 사용하여 사용자에게 Amazon Managed Grafana 작업 공간에 대한 액세스 권한을 부여합니다.
비교
직접 사용해본 경험으로 설치하는 과정은 Grafana가 더 간단하다고 느꼈습니다. 하지만 고객이 상세한 권한을 관리한다던가, 사용자 관리면에서는 Amazon Managed Grafana가 더 적합하다고 생각되었습니다. 기본적인 기능은 큰 차이가 없으니, Grafana와 Amazon Managed Grafana 중 어떤 것을 도입해야 좋을지 고민된다면 아래 비교를 읽어보시고, 둘 중에 필요한 기능이 있는 것을 사용하면 좋을것 같습니다.
- UI
Grafana와 Amazon Managed Grafana를 사용해보고 처음 느낀점은 진짜 똑같다 였습니다. 워크스페이스에 접속하여 홈 화면의 UI를 비교해보면, aws 마크가 있다, 없다 정도로 구분됩니다.
Amazon Managed Grafana 왼쪽 상단의 aws 마크, Configuration메뉴 위의 aws마크가 보이시나요?
- 데이터 소스
AMG는 Grafana에서 지원하던 데이터 소스를 포함하여 추가적인 AWS의 데이터소스를 지원합니다. 더 다양한 AWS의 데이터 소스와 통합되어 간단하게 운영 데이터를 수집할 수 있었습니다.
- 조직 전체 리소스 모니터링
Amazon Managed Grafana는 조직 단위의 관리에 특화되어 있습니다.
IAM 권한 엑세스 설정에서 조직을 선택하면 조직 단위의 리소스 모니터링이 가능합니다.
🌟 조직 단위 권한 액세스를 사용하려면 아래 조건이 충족되어야합니다.
1. AWS Organization관리자 권한으로 로그인
2. CloudFormation StackSets를 AWS Organization 신뢰할 수 있는 액세스 활성화
3. AWS OU ID 필요
사용가능 알람채널
Alerting— Notification channels — Add channel
전송가능한 알람채널이 Amazon Managed Grafana와 비교하여 Grafana가 종류가 더 많았습니다.
Grafana
OpsGenie
PagerDuty
Slack
VictorOps
DingDing
Discord
Email
Google Hangouts Chat
HipChat
Kafka REST Proxy
LINE
Microsoft Teams
Prometheus Alertmanager
Pushover
Sensu
Sensu Go
Telegram
Threema Gateway
Webhook
Amazon Managed Grafana
OpsGenie
PagerDuty
Slack
VictorOps
AWS SNS
Amazon Managed Grafana 사용기를 마치며.
데이터 시각화, 데이터 쿼리, 알림기능 등 주된 기능에는 차이가 없어, Grafana를 사용하시던 분이라면 불편함 없이 사용할 수 있을 거라 생각이 들었습니다. 간단한 쿼리로 그래프를 만들 수 있고, 원하는 모양으로 그래프 수정도 가능합니다. 수치로만 확인하던 데이터가 그래프로 그려지니 흐름을 파악하기 쉬웠습니다. 만약 분석하고자 하는 데이터 소스가 있다면 사용해보시는 것을 추천해 드립니다.