Devops Skill Up/Monitoring

[Grafana] Grafana를 구축해보아요

불여우의 길 2024. 4. 17. 12:04

Grafana란?

  • 메트릭 데이터를 시각화하는 도구로 메트릭 분석 플랫폼을 지향하는 오픈소스
  • 직접 데이터를 저자하지 않고 다른 외부 데이터 소스를 정의
  • 쿼리를 통하여 데이터를 동적으로 시각화

Grafana의 장점

  • 데이터를 수집할 필요가 없어 저장소가 필요하지 않음
  • 오픈소스로 무료로 사용이 가능
  • 쿠버네티스 클러스터, 라즈베이 파이, 다양한 클라우드 등 많은 서비스를 시각화 할 수 있음
  • 누구나 대시보드 생성, 수정, 공유 가능
  • 데이터 시각화의 유연성과 다양성

Grafana Monitoring DashBoard 생성 방법

 

그라파나 설치를 위한 서버 세팅

1. EC2 생성

  • 보안그룹
    • 인바운드 : 3000포트

2. Grafana 도커로 컨테이너로 실행

  • a. ec2 접속
  • b. 도커 설치
sudo yum install docker

sudo docker run -d --name=grafana -p 3000:3000 grafana/grafana
  • c. {EC2 public ip}:3000 으로 접속 (추후에 도메인 작업)
  • d. 맨 처음 로그인 정보
    • ID : admin
    • PW : admin

3. Grafana 로드 용 AWS 계정 생성 (선택사항 -Grafana에서 AWS CloudWatch 에만 접근이 가능하도록 계정을 따로 생성하였다.)

  • 해당 계정에 관한 권한 설정
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowReadingMetricsFromCloudWatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:DescribeAlarmsForMetric",
                "cloudwatch:DescribeAlarmHistory",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:ListMetrics",
                "cloudwatch:GetMetricData",
                "cloudwatch:GetInsightRuleReport"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowReadingLogsFromCloudWatch",
            "Effect": "Allow",
            "Action": [
                "logs:DescribeLogGroups",
                "logs:GetLogGroupFields",
                "logs:StartQuery",
                "logs:StopQuery",
                "logs:GetQueryResults",
                "logs:GetLogEvents"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowReadingTagsInstancesRegionsFromEC2",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeTags",
                "ec2:DescribeInstances",
                "ec2:DescribeRegions"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowReadingResourcesForTags",
            "Effect": "Allow",
            "Action": "tag:GetResources",
            "Resource": "*"
        }
    ]
}

 

참고* : https://grafana.com/docs/grafana/latest/datasources/aws-cloudwatch/

 

Amazon CloudWatch data source | Grafana documentation

Thank you! Your message has been received!

grafana.com

 

Grafana DataSource 설정 (AWS CloudWatch)

1. DataSource 세팅

  • Connections - Data sources - Add new data source - CloudWatch

  • Authentication Provider - AccessKey & SecretKey
  • AWS grafana 대시보드 생성을 위해 사용할 계정의 AccessKey와 SecretKey 입력

 

  • DashBoard 꾸미기
    • 방법1 Template 사용)
    • 방법2 원하는 매트릭으로 수동 생성)
      • new dashboard 생성하여 원하는 식으로 생성