본문 바로가기
카테고리 없음

Grafana vs Kibana

by Ziros 2022. 6. 10.
반응형

오늘날에는 가장 작은 IT 환경에서도 엄청난 양의 데이터가 생성될 수 있습니다. 이러한 끝없는 로그에는 사용자 활동 및 하드웨어 리소스와 함께 예기치 않은 애플리케이션 동작, 충돌 및 보고서가 포함됩니다. 이 데이터가 유용하려면 인간이 이해하기 쉬운 방식으로 처리, 분석 및 표시되어야 합니다.

데이터를 분석하는 방법은 데이터 자체의 사용 사례, 도구 및 유형에 따라 크게 다릅니다. 그러나 수집한 데이터에 관계없이 수집된 데이터를 시각화하는 것이 모범 사례로 간주됩니다. 이러한 종류의 데이터를 시각화하면 패턴을 감지하고 바람직하지 않은 행동에 대한 조치를 취하는 데 매우 유용합니다.

인간의 두뇌는 방대한 양의 데이터에서 패턴을 잘 보지 못합니다. 우리는 그렇게 하도록 설계되지 않았습니다. 반면에 올바른 소프트웨어를 갖춘 컴퓨터는 패턴 인식 및 데이터 분석에 탁월합니다.

이 비교에서는 사용자가 IT 환경에서 생성된 방대한 양의 로그 데이터에서 추세와 패턴을 이해하고 시각화하는 데 도움이 되는 가장 널리 사용되는 두 가지 오픈 소스 도구를 살펴보겠습니다.

그라파나

Grafana는 데이터 시각화를 위한 무료 오픈 소스 소프트웨어입니다. 대시보드를 탐색, 생성 및 동료와 공유하기 위한 강력하고 기능이 풍부한 도구입니다. 저장 위치에 관계없이 메트릭을 쿼리, 시각화, 경고 및 이해할 수 있습니다.

 

Grafana Grafana는 각각을 위해 특별히 제작된 도구를 사용하여 30개 이상의 데이터 소스에 대한 지원을 제공합니다. 그래프, 테이블, 히트맵과 같은 방대한 시각화 옵션 중에서 선택하고 이를 결합하여 대시보드를 만들 수 있습니다.

키바나

Kibana는 오픈 소스 ElasticSearch와 함께 사용되며 세계에서 가장 인기 있는 오픈 소스 로그 분석 플랫폼인 ELK Stack의 K이기 때문에 이미 들어보셨을 것입니다.

ELK는 Elasticsearch, Logstash 및 Kibana의 세 가지 오픈 소스 프로젝트의 약어입니다. Elasticsearch는 검색 및 분석 엔진입니다. Logstash는 여러 소스에서 동시에 데이터를 수집하고 변환한 다음 Elasticsearch와 같은 "숨김"으로 보내는 서버 측 데이터 처리 파이프라인입니다.

핵심 기능 중에는 데이터 쿼리 및 분석이 있습니다.

 

Kibana Kibana를 사용하면 Elasticsearch에서 오는 방대한 양의 데이터를 쉽게 분석할 수 있습니다. 다양한 시각화 옵션 중에서 선택하고 이러한 옵션을 결합하여 어디서나 액세스할 수 있는 대시보드를 만들 수 있습니다.

로그 및 측정항목

먼저 메트릭과 로그의 차이점에 대해 알아보겠습니다. 메트릭은 시간에 따른 변화를 나타내며 CPU 사용률, RAM 용량 또는 디스크 사용률과 같은 하드웨어 리소스를 모니터링하는 데 사용됩니다. 메트릭은 미리 정의된 특정 간격으로 수집됩니다. 예를 들어 CPU가 과열되었는지 또는 RAM에 할당된 공간이 얼마인지 매초 확인할 수 있습니다.

반면에 로그는 이벤트에 대한 반응으로 특정 순서 없이 무작위로 나타나는 시스템 생성 메시지입니다. 모든 로그는 서로 다른 데이터 세트와 함께 제공됩니다. 예를 들어 애플리케이션이 충돌하면 로그 메시지가 생성되고 수집되어 향후 처리됩니다. 이 메시지의 내용은 충돌이 발생한 시간과 응용 프로그램이 충돌한 페이지/파일일 수 있습니다. 나중에 해당 로그를 분석하고 이들 사이에 상관 관계가 있는지 확인할 수 있습니다.

Grafana의 주요 용도는 메트릭의 분석 및 시각화입니다. Kibana는 로그 및 포렌식 및 보안과 같은 기타 로그 종속 사용에 중점을 둡니다. 두 도구 모두 범위를 확장하고 있습니다. Grafana를 사용하여 로그를 분석할 수 있지만 Kibana와 동일한 기능을 제공하지 않으며 그 반대입니다.

설정 및 구성

설치 및 후속 구성은 두 경우 모두 매우 쉽고 간단합니다. Kibana는 더 많은 설치 옵션을 지원하지만 두 애플리케이션 모두 사용자 친화적인 설치 설정을 제공하며 Windows, Linux, Mac 및 Docker와 같은 플랫폼과 같은 대부분의 운영 체제에서 사용할 수 있습니다.

Grafana는 .ini구문에 민감한 Kibanas YAML 구성 파일보다 훨씬 쉬운 구성 파일을 사용하여 구성됩니다. 환경 변수를 사용하여 Grafanas 구성 옵션을 재정의할 수도 있습니다. Grafana 데이터 소스의 문서는 매우 잘 작성되고 구체적입니다. 각 데이터 소스에는 자체 구성 설명서가 함께 제공됩니다.

Kibana는 Elasticsearch 데이터 소스만 사용하기 때문에 Kibana와 동일한 버전의 Elasticsearch 인스턴스가 필요합니다. 대시보드는 구성 파일에서 구문 구분 YAML 언어를 사용하여 구성할 수 있습니다.

데이터 소스

Grafana는 Graphite, Prometheus, InfluxDB, MySQL, PostgreSQL 및 Elasticsearch와 같은 30개 이상의 데이터 소스를 지원합니다. 지원되는 모든 데이터 소스에는 특별히 제작된 고유한 구성 도구가 있으며 광범위한 문서와 함께 제공됩니다. 모든 데이터 원본에는 해당 데이터 원본에 포함된 기능에 맞게 사용자 지정된 쿼리 편집기가 있습니다. 플러그인을 통해 다른 데이터 소스를 추가할 수 있습니다.

반면 Kibana는 Elasticsearch에서만 작동하도록 설계되었으며 다른 유형의 데이터 소스는 지원하지 않습니다. 다른 소스에서 데이터를 외삽하려면 ELK 스택으로 전송하여 Kibana를 적용해야 합니다.

입증

Grafana에는 사용자 제어 및 인증 메커니즘이 내장되어 있습니다. 이를 통해 LDAP(Lightweight Directory Access Protocol) 또는 외부 SQL 서버를 포함한 대시보드에 대한 액세스를 제어하고 제한할 수 있습니다. Grafa 사용자는 프로젝트에서 팀을 구성할 수 있는 조직 및 그룹을 만들 수 있습니다. 조직의 구성원은 조직의 대시보드에 액세스할 수 있으며 조직의 모든 구성원은 다양한 권한이 있는 특정 역할이 있습니다. 사용자는 고유한 API 키를 설정할 수도 있습니다.

대조적으로 Kibana 대시보드는 기본적으로 일반에 공개됩니다. 즉, 대시보드가 ​​조직 내에 존재할 필요가 없습니다. 그러나 이것은 X-Pack 또는 SearchGuard를 사용하여 변경할 수 있습니다. Kibana는 다양한 대시보드 구성 옵션과 기본 사용자 인증 옵션을 제공합니다. 또한 X-Pack 또는 SearchGuard와 같이 다운로드할 수 있는 많은 보안 플러그인이 있습니다.

경고

Grafana에는 사용자가 경고 설정을 완전히 제어할 수 있는 경고 시스템이 내장되어 있습니다. 사용자는 모든 시계열 측정항목에 대한 사용자 지정 알림을 만들고 규칙과 조건을 적용할 수 있습니다. 이를 통해 사용자는 연결 실패 또는 데이터 가용성과 같은 매우 특별한 경우를 처리하기 위해 매우 복잡한 경고 처리기 및 시스템을 생성할 수 있습니다. 선택할 수 있는 경고 메시지 대상도 많이 있습니다. 이메일, Slack, PagerDuty 및 사용자 지정 웹훅으로 메시지를 보낼 수 있습니다.

Kibana에는 즉시 사용할 수 있는 경고 시스템이 없습니다. 경고 시스템을 Kibana에 추가하려면 호스팅된 ELK Stack을 사용하거나 X-Pack을 사용할 수 있습니다. 경고를 활성화하는 또 다른 옵션은 Elasticsearch API와 감시자라는 기능을 사용하는 것입니다. Watcher는 주기적으로 쿼리를 실행하고 결과에 따라 특정 작업을 수행하는 기능입니다. 해당 기능으로 특정 리소스의 가용성을 확인하고 리소스를 사용할 수 없는 경우 메시지를 보내는 쿼리를 만들 수 있습니다.

쿼리

이미 언급했듯이 Grafana는 주로 메트릭 분석에 사용됩니다. 즉, Grafanas의 사용자 인터페이스는 시계열 데이터 분석에 더 최적화되어 시간이 지남에 따라 변화하는 것을 모니터링하는 데 가장 적합합니다. 로그 및 기타 종류의 데이터를 표시하는 데 최적화되어 있지 않습니다. Grafana는 Kibana와 비교할 때 더 적은 데이터 쿼리 및 정제 옵션을 제공합니다.

그러나 Grafana는 쿼리에 쿼리 편집기를 사용합니다. 모든 데이터 소스에는 서로 다른 기본 제공 쿼리 편집기가 있습니다. 즉, 구문은 데이터 소스에 따라 다릅니다. Prometheus 쿼리는 Graphite 쿼리와 다릅니다.

Kibana의 가장 강력한 기능은 쿼리 및 데이터 탐색으로 간주됩니다. 사용자는 Lucene 구문, Elasticsearch Query DSL 또는 실험적인 Kuery와 같은 다양한 쿼리 옵션을 사용할 수 있습니다. Lucene 및 Elasticsearch Query DSL은 매우 강력한 쿼리 언어이지만 직관적이지 않고 특정 학습 곡선이 필요합니다. 학습 곡선은 매우 가파르지만 해당 언어가 완전히 숙달되면 이를 사용하여 쿼리하는 것이 매우 강력하고 효율적입니다.

사용자 인터페이스는 Elasticsearch 쿼리용 검색 상자와 함께 제공되며 HTTP 요청을 기반으로 로그를 쿼리하여 생성된 차트, 그래프 및 기타 시각화를 지원합니다. 제공된 결과는 저장하여 나중에 사용할 수 있습니다. 검색된 데이터는 검색 매개변수를 사용하여 확장할 수 있습니다.

대시보드 및 시각화

시각화 기능의 경우 두 도구 모두 강력한 시각화로 알려져 있기 때문에 확실한 승자는 없습니다.

Grafana 대시보드는 기능이 매우 풍부합니다. Grafana의 모든 시각화를 패널이라고 합니다. 여러 패널을 사용하여 각 패널이 서로 다른 데이터 집합을 나타내는 대시보드를 만들 수 있습니다. 앞서 언급했듯이 조직을 해당 대시보드에 할당하고 조직 외부의 사용자에 대한 액세스를 제한할 수 있습니다.

Grafana는 게이지, 히트 맵 히스토그램, 테이블, 차트 등과 같은 방대한 양의 시각화 유형을 지원합니다. 또한 신규 사용자는 Grafana가 특정 데이터 소스용으로 제작된 즉시 사용 가능한 수많은 대시보드와 함께 제공된다는 소식을 듣고 기뻐할 수 있습니다. 즉, Grafana로 시작하는 것이 더 쉬울 수는 없습니다. 또한 Grafana는 데이터 형식 지정에 있어 상당한 유연성을 제공합니다.

시각화 기능의 경우 두 도구 모두 강력한 시각화로 알려져 있기 때문에 확실한 승자는 없습니다.

Grafana 대시보드는 기능이 매우 풍부합니다. Grafana의 모든 시각화를 패널이라고 합니다. 여러 패널을 사용하여 각 패널이 서로 다른 데이터 집합을 나타내는 대시보드를 만들 수 있습니다. 앞서 언급했듯이 조직을 해당 대시보드에 할당하고 조직 외부의 사용자에 대한 액세스를 제한할 수 있습니다.

Grafana는 게이지, 히트 맵 히스토그램, 테이블, 차트 등과 같은 방대한 양의 시각화 유형을 지원합니다. 또한 신규 사용자는 Grafana가 특정 데이터 소스용으로 제작된 즉시 사용 가능한 수많은 대시보드와 함께 제공된다는 소식을 듣고 기뻐할 수 있습니다. 즉, Grafana로 시작하는 것이 더 쉬울 수는 없습니다. 또한 Grafana는 데이터 형식 지정에 있어 상당한 유연성을 제공합니다.

Kibana는 또한 대시보드를 생성하기 위해 결합할 수 있는 다양한 시각화 유형을 제공합니다. Kibana 대시보드는 데이터를 임의로 필터링할 수 있고 대시보드를 편집하고 전체 페이지 형식으로 열 수 있기 때문에 매우 다재다능합니다. 특정 데이터 세트에 대해 즉시 사용할 수 있는 미리 만들어진 대시보드를 사용할 수도 있습니다.

두 대시보드는 전반적으로 데이터 시각화 봇에 대해 많은 수의 사용자 정의 옵션을 제공하며 Grafana는 Kibana와 비교할 때 더 다양한 사용자 정의 기능을 제공합니다.

지역 사회

Grafana와 Kibana는 모두 살아있고 프로젝트에 기여하는 큰 커뮤니티를 가지고 있습니다. GitHub에서 두 프로젝트를 모두 볼 때 Grafana에는 14,000개 이상의 코드 커밋이 있는 반면 Kibana에는 17,000개 이상이 있습니다. 두 프로젝트 모두 매우 활발하지만 커밋 빈도를 자세히 살펴보면 Kibana가 약간 앞서 있음을 알 수 있습니다.

 

장점과 단점

그라파나

장점:

  • Grafana는 사용할 준비가 되어 있고 전반적인 경험을 개선할 수 있는 방대한 양의 커뮤니티 템플릿과 플러그인을 지원합니다.
  • Grafana는 30개 이상의 데이터 소스를 지원합니다. 플러그인을 통해 다른 데이터 소스를 추가할 수 있습니다.
  • Grafana는 맞춤형 경고 및 알림이 포함된 맞춤형 대시보드를 제공합니다.
  • Grafana에는 풍부한 사용자 인증 시스템이 내장되어 있으며 조직 생성을 제공합니다.
  • Grafana는 데이터 주석 또는 스냅샷과 같은 다양한 추가 기능을 제공합니다.

단점:

  • Grafana는 주요 초점이 메트릭 분석에 있기 때문에 로그 분석에 대한 지원이 좋지 않습니다.
  • 데이터 수집 및 저장은 별도로 설정해야 합니다.

키바나

장점:

  • Kibana에는 추가 코딩이나 인프라가 필요하지 않습니다.
  • Kibana는 데이터를 시각화하는 맞춤형 방법을 생성하는 기능을 제공합니다.
  • Kibana는 데이터 간의 관계를 탐색하는 기능을 제공합니다.
  • Kibana에는 내장형 이상 감지 시스템이 있습니다.
  • Kibana에는 잘 설계된 사용자 인터페이스가 있습니다.
  • Kibana는 데이터 공유 및 내보내기 기능을 제공합니다.

단점:

  • Kibana는 주요 초점이 로그 분석 및 기타 로그 종속 데이터 분석에 있기 때문에 메트릭 분석에 대한 지원이 좋지 않습니다.
  • ElasticStack의 제한 사항에 영향을 받는 Kibana

결론

핵심에서 두 도구 모두 매우 강력하고 기능이 풍부합니다. 그러나 둘 다 다른 데이터에 사용됩니다. Grafana는 하드웨어 리소스 모니터링과 같은 메트릭 분석을 위한 훌륭한 도구입니다. Grafana는 그룹 대시보드를 생성하고 30개 이상의 데이터 소스를 지원하는 기능과 함께 내장된 사용자 인증 시스템을 제공합니다. Kibana는 로그 분석에 탁월합니다. Kibana 사용자는 관련 필터를 쿼리하고 수집된 로그에 적용하여 시각화를 얻고 사용자 정의 방식으로 표시할 수 있습니다.

Grafana와 Kibana는 모든 규모와 규모의 조직에 적합한 선택입니다. 두 도구가 서로 다른 데이터에 사용되기 때문에 함께 강력한 분석 플랫폼을 만들 수 있습니다.

반응형

댓글