28 10월 2015 뉴스

Shield, Watcher, Marvel 2.0.0 GA 출시

By Uri Boness

오늘 Shield, Watcher, Marvel 2.0의 출시를 발표하게 되어 정말 기쁩니다. 이번에 Elasticsearch 2.0과 호환되는 이들 제품의 확장 버전을 최초로 출시하는 것입니다.

Elasticsearch 2.0 호환성을 넘어, Shield 및 Watcher 2.0은 보안 및 경보 기능을 각각 확장하는 새롭고 흥미로운 기능들을 소개합니다.

Shield

  • 확장 가능한 범위 - Shield 1.x 버전은 사용자 인증에 핵심적인 기반 정의에 초점을 맞추었고, 3가지 획기적인 인증 메커니즘인 esusers, LDAP/AD 및 PKI를 함께 제공합니다. 이러한 메커니즘은 대다수 사용자와 사용자 케이스에 충분한 것으로 입증되었지만 저희는 추가적인 인증 메커니즘과 통합해야 한다는 사실을 인지하였습니다. 이러한 이유로 기능의 확장을 위한 Shield의 범위(realm) 기반 인증 시스템을 공개하고 사용자들이 사용자 인증을 처리하기 위해 자체적인 인증 범위를 구현해 플러그인할 수 있도록 하였습니다. 특수/독점 인증 메커니즘을 보유한 사용자가 더 이상 차단되지 않고, Shield의 강력한 보안 기능(예: 역할 기준 인증과 보안 통신)을 최대한 활용할 수 있게 되었습니다. 맞춤형 범위에 대한 자세한 내용은여기에서 확인할 수 있습니다.
  • 필드 및 도큐먼트 ACL - 보안 기능의 최상위 수준으로 필드 및 도큐먼트(Field & Document) 수준의 접속 제어를 Shield 2.0에 도입하였습니다. 이제 사용자 역할 기준으로 필드와 도큐먼트의 접속 허용 수준을 정의할 수 있습니다. 이 새로운 기능은 구성 변경을 훨씬 뛰어넘는 개선사항입니다. 이 접속 통제는 Elasticsearch의 Lucene index의 최하위 레벨에서 구현됩니다. 따라서 이 솔루션은 유지관리가 간편할 뿐만 아니라 완벽하기까지 합니다. 필드 및 도큐먼트 수준 ACL에 대한 자세히 내용은 여기에서 확인할 수 있습니다.
  • 사용자 가상화(User Impersonation) - 마지막으로, 역시 중요한 점은 사용자(적절한 권한 보유자)가 다른 사용자가 되어 대신 요청을 실행할 수 있는 사용자 가상화(User Impersonation) 기능을 Shield 2.0에 도입하였습니다. Elasticsearch 기반으로 구축된 애플리케이션이 이미 사용자 인증을 처리하고 있지만 여전히 Elasticsearch 측에 인증을 적용해야 하는 경우의 설정에 유용한 기능입니다. 이 상황에서는 인증을 위한 "기본(main)" 사용자를 설정하고 가상 권한을 할당한 다음, 해당 사용자가 애플리케이션 사용자들을 대신하여 모든 Elasticsearch 요청을 실행할 수 있습니다. 사용자 가상화에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

Watcher

  • Slack 및 HipChat 통합 - Slack과 HipChat은 조직 내부 기본 통신 허브 기능을 수행하며 주류로 급부상하고 있는 팁/그룹 협업 도구입니다. 이러한 통신 채널을 통해 채널/사무실과 사용자를 대상으로 감시 알림을 활성화하기 위한 전용 기능을 Watcher 2.0에 도입하였습니다. SlackHipChat기능에 대해 자세히 알아보시기 바랍니다.
  • 배열 비교(array compare) 조건 - 시계열(time series) 데이터 포인트 상의 스파이크 검출을 간소화하는 새로운 조건. 1.x에 도입된 비교(compare) 개념과 연장 선상에 있는 이 조건은 스크립트를 필요로 하지 않으므로 동적 Elasticsearch 스크립트를 사용하지 않고도 이용할 수 있습니다. 배열 비교(array_compare)조건에 대해 자세히 알아보시기 바랍니다.
  • 감시 기능 비활성화/활성화 - 사용자들로 받은 공통적인 요청은 감시(Watch) 기능 비활성와 관련된 것이었습니다. 1.x 버전에는 등록된 감시 기능을 비활성화는 메커니즘이 없습니다. 감시 기능 트리거를 변경하거나 단순히 감시 기능을 삭제하는 방법으로 이러한 제한을 해결할 수는 있었지만, 전체적으로 Watcher를 관리하기 어렵게 만드는 해결책에 지나지 않았습니다. 2.0 버전에서는 감시 기능을 수정하지 않고도 간단한 API 요청을 통해 등록된 감시 기능을 활성화/비활성화할 수 있게 되었습니다. 1.0 버전부터 Watcher에 구현했어야 할 기본적인 기능인데 그렇지 못했으며, 이제 문제를 해결하였습니다. 자세한 내용은 여기에서 확인하시기 바랍니다.

Marvel

Marvel 2.0을 출시하게 되어 기쁨을 감출 수 없습니다. UI를 완전히 새로 설계하여 Kibana 4 기반으로 구축함으로써 Marvel 1.x에서 습득한 모든 교훈을 바탕으로 사용하기 간편하고 능률적인 모니터링 UI를 구축했습니다. Shield 및 Watcher와 동일 선상에서 선보이는 최초 Marvel 버전은 향후 성장의 기반을 제공하며, Elasticsearch 2.0의 효율적인 모니터링에 필요한 주요 지표에 초점을 맞추고 있습니다.

Marvel_blog_1.png

재설계 작업의 일부로써 인터페이스를 다음 6 페이지로 축소하였습니다.

Cluster 목록

Marvel_blog_2.png

점점 많은 수의 사용자와 고객이 여러 cluster를 실행하고 있는 환경에서 이제 Marvel이 중앙 관리식 모니터링 cluster에서 모든 cluster를 간편히 모니터링할 수 있도록 지원합니다. 단순히 모니터링 cluster로 각 cluster가 데이터를 전송하면 Marvel이 나머지 작업을 처리합니다.

Cluster 개요

marvel_blog_3.png

marvel_blog_4.png

index 목록에 cluster의 모든 index와 호스트 속성들이 정리되어 있습니다. 표는 실시간으로 업데이트되며, 대화형 필터링과 분류를 제공합니다. 가장 큰 index가 무엇인지 궁금하셨나요? 이제 궁금증이 해결됩니다.

Index 상세정보

marvel_blog_5.png

index 상세정보 페이지에서 index의 주요 성능 지표들을 소개하고 샤드들이 할당되는 위치를 명확히 보여줍니다.

노드 목록

marvel_blog_6.png

노드 목록에 cluster에 있는 일련의 노드와 주요 성능 지표가 정리되어 있습니다. 표는 실시간으로 업데이트되며, 대화형 필터링을 제공합니다. CPU 사용량이 높거나 디스크 공간이 부족한 노드를 쉽게 확인할 수 있습니다.

노드 목록

marvel_blog_7.png

노드 목록에 cluster에 있는 일련의 노드와 주요 성능 지표가 정리되어 있습니다. 표는 실시간으로 업데이트되며, 대화형 필터링을 제공합니다. CPU 사용량이 높거나 디스크 공간이 부족한 노드를 쉽게 확인할 수 있습니다.

노드 상세정보

marvel_blog_8.png

노드 상세정보 페이지에 노드별 주요 성능 지표와 노드에 있는 일련의 샤드들이 정리되어 있습니다.

Kibana 4 기반으로 구축하는 작업의 일환으로 작동 측면에서 몇 가지 변경을 구현하였습니다. 이제 Marvel을 marvel-agent와 Marvel 사용자 인터페이스의 두 가지 부분으로 설치할 수 있습니다.

Marvel Agent

marvel-agent는 plugin으로서 elasticsearch cluster에 설치됩니다. 주요 성능 정보를 수집하여 로컬로 저장하거나 별도 모니터링 cluster로 보내는 기능을 수행하는 에이전트입니다.

Marvel 사용자 인터페이스

Marvel UI는 plugin으로서 Kibana에 설치됩니다. 그리고 Kibana 4.2의 새로운 Plugin 인프라를 사용하여 Kibana 인터페이스 내부에 새로운 app-switcher 제어를 통해 이용할 수 있는 별도 Marvel 앱을 제공합니다.

marvel_blog_9.png

2.0 버전은 회사의 핵심 제품 중 하나이며 여러분의 의견을 환영합니다. 당사 포럼인 https://discuss.elastic.co 또는 이메일(info@elastic.co)을 통해 의견을 보내주시기 바랍니다.