Elastic 라이선스 구매 시, 기본적으로 Production(운영), Non-Production(개발) 두 가지 라이선스가 발급됩니다.
라이선스는 Email로 받은 파일외에 Elastic 서포트 사이트에서 확인할 수 있습니다. (라이선스를 발급받은 Email로 로그인)
라이선스를 적용하기 위해 Json형식으로 된 파일을 다운받아 잘 저장합니다.
Kibana > Menu(햄버거버튼) > Stack Management > License Management 로 접속하여, Update License를 클릭합니다.
다운 받은 Json파일을 업로드 합니다.
Kibana의 기본 배포판을 설치하면, 무료 기능들을 사용해 볼 수 있습니다. Kibana의 모든 기능을 사용해 볼려면 30일 무료 평가판(30-day trial)을 활성화하여 사용가능합니다. (전체 기능에 대한 목록은 https://www.elastic.co/subscriptions 를 참조)
라이선스 상태를 보려면, Kibana 메뉴 > Stack Management > License Management에서 확인 할 수 있습니다.
평가판 기간이 끝나면 Basic(무료)버전으로 되돌아가거나, 평가판을 연장하거나, 구독을 신청을 통해 라이선스를 구매 할 수 있습니다. 평가판 기간이 끝나면 일부 기능들이 degraded mode(저하된 모드)로 작동됩니다.
라이선스 조작 권한 (Required permissions)
License Management에 액세스하려면 클러스터 권한(cluster privillege) 중 manage 권한이 필요합니다. 권한은 Stack Management > Roles에서 설정 할 수 있습니다.
Elasticsearch 노드를 종료하지 않고 라이선스를 업데이트 할 수 있습니다. (업데이트는 즉시 적용됨) 라이선스는 JSON 파일로 제공되며, Kibana를 사용하거나 update license API를 사용하여 설치할 수 있습니다.
Update license API
Request
PUT _license
POST _license
전제조건 (Prerequisites)
Elasticsearch 보안 기능이 활성화된 경우 (라이선스를 설치하기 위해) 클러스터 권한(cluster privillege)이 활성화 되어있어야 합니다.
Elasticsearch 보안 기능이 활성화되어 있고 Gold 이상의 라이선스를 설치하는 경우, 라이선스를 설치하기 전에 전송 네트워킹 계층(Transport networking layer)에 TLS를 활성화해야 합니다. TLS로 노드 간 통신 암호화(Encrypt internode communications with TLS)를 참조하세요.
운영자 권한(operator privileges) 기능이 활성화된 경우, 운영자만 해당 API를 사용할 수 있습니다.
설명 (Description)
노드를 종료시키지 않고 라이선스를 업데이트할 수 있습니다. 만약 설치 중인 라이센스가 이전 라이센스에서 사용할 수 있었던 기능을 모두 지원하지 않는다면 response에서 알 수 있습니다. acknowlege: true로 설정하여 API 요청을 다시 제출해야 합니다. (아래 예제를 참고)
Examples
다음은 Basic 라이선스로 업데이트하는 예제:
PUT _license
{
"licenses": [
{
"uid":"893361dc-9749-4997-93cb-802e3d7fa4xx",
"type":"basic",
"issue_date_in_millis":1411948800000,
"expiry_date_in_millis":1914278399999,
"max_nodes":1,
"issued_to":"issuedTo",
"issuer":"issuer",
"signature":"xx"
}
]
}
기존 라이선스보다 더 많은 기능이 포함된 라이선스가 있는 경우 다음 응답을 받습니다.
{
"acknowledged": false,
"license_status": "valid",
"acknowledge": {
"message": """This license update requires acknowledgement. To acknowledge the license, please read the following messages and update the license again, this time with the "acknowledge=true" parameter:""",
"watcher": [
"Watcher will be disabled"
],
"logstash": [
"Logstash will no longer poll for centrally-managed pipelines"
],
"security": [
"The following X-Pack security functionality will be disabled: ..." ]
}
}
업데이트를 완료하려면, acknowledge=ture 로 설정하여 API를 다시 요청해야 합니다. 예를 들어:
PUT _license?acknowledge=true
{
"licenses": [
{
"uid":"893361dc-9749-4997-93cb-802e3d7fa4xx",
"type":"basic",
"issue_date_in_millis":1411948800000,
"expiry_date_in_millis":1914278399999,
"max_nodes":1,
"issued_to":"issuedTo",
"issuer":"issuer",
"signature":"xx"
}
]
}
Elastic 라이선스는 시간제(time based)입니다. 만약 모니터링 기능을 사용 중이고 라이선스가 30일 이내에 만료되는 경우, 경고가 표시되기 시작합니다. 만료일 이후 30일부터는 Elasticsearch 로그에도 경고가 표시되어 기록됩니다.
라이선스는 가능한 빨리 업데이트해야 합니다. 클러스터 상태 확인과 stats API는 Elasticsearch 클러스터를 모니터링하고 관리하는 데 매우 중요합니다. 하지만 라이선스가 만료되면 클러스터 상태확인이 불가하고 stats API에 접근을 할 수 없게 됩니다.
Beats (Beats)
Beats는 계속해서 centrally-managed configuration(중앙 관리 구성)을 폴링합니다.
Elasticsearch
deprecation API 비활성화
SQL 비활성화
Analytics 플러그인에서 제공하는 aggregation(집계) 사용 불가
Elastic Stack - 알림 기능 (Elastic Stack alerting features)
PUT, GET 감시 API 비활성화 (DELETE 감시 API는 계속 작동함)
Watches가 실행되고 기록된다.
Watches의 작업은 실행되지 않는다.
Elastic Stack - 그래프 분석 기능 (Elastic Stack graph analytics features)
그래프 탐색(Graph explore) API 비활성화
Elastic Stack - 머신 러닝 기능 (Elastic Stack machine learning features)
이상 감지하는 job을 만들고, job을 열고, job에 데이터를 보내고, datafeeds(데이터 피드)를 만들고, datafeeds(데이터 피드)를 시작하는 API 비활성화
시작된 모든 datafeeds(데이터 피드)가 중지된다.
모든 이상 탐지 작업이 닫힌다.
데이터 프레임 분석 작업을 만들고 시작하는 API가 비활성화 된다.
기존의 이상 감지 작업과 데이터 프레임 분석 작업 결과는 Kibana 또는 API를 사용하여 계속 사용할 수 있다.
Elastic Stack - 모니터링 기능 (Elastic Stack monitoring features)
Agent가 클러스터와 인덱스 metric 수집을 중지한다.
Agent는 (xpack.monitoring.history.duration보다 오래된) index 자동 정리를 중지한다.
Elastic Stack - 보안 기능 (Elastic Stack security features)
클러스터 상태, 클러스터 통계 및 index 통계 작업이 차단된다.
모든 데이터 작업(읽기 및 쓰기)은 계속 작동한다.
라이선스가 만료되면 클러스터 상태, 클러스터 통계 및 index인덱스 통계 API에 대한 호출이 security_exception에러로 실패하고 403 HTTP 상태 코드를 반환한다.
{
"error": {
"root_cause": [
{
"type": "security_exception",
"reason": "current license is non-compliant for [security]",
"license.expired.feature": "security"
}
],
"type": "security_exception",
"reason": "current license is non-compliant for [security]",
"license.expired.feature": "security"
},
"status": 403
}
이 메시지를 통해 자동 모니터링 시스템은 라이선스 오류를 쉽게 감지할 수 있다.
Logstash - 파이프라인 관리 (Logstash pipeline management)
새 파이프라인을 생성하거나 UI에서 기존 파이프라인을 편집 또는 삭제할 수 없다.
UI에서 기존 파이프라인을 나열하거나 볼 수 없다.
기존 파이프라인을 수신하도록 등록된 Logstash 인스턴스를 실행할 수 없다.
Kibana
사용자는 여전히 Kibana에 로그인 가능
Kibana는 데이터 탐색과 시각화를 위해 작동하지만, 일부 기능은 비활성화되어 있다.
License management UI(라이선스 관리 UI)를 사용하여 라이선스를 쉽게 업그레이드 할 수 있다.
Kibana - 리포팅 기능 (Kibana reporting features)
Kibana에서 더 이상 리포팅을 사용할 수 없다.
리포트 생성 URL 작동이 중지된다.
기존 리포트에 접근을 할 수 없다.
Rollups
Rollup 작업을 새로 만들거나 시작할 수 없다.
기존 rollup 작업을 중지하거나 삭제할 수는 있다.
Rollup cap 가져오기와 rollup 검색 API는 계속 작동된다.
Transforms
Transform의 생성, 미리보기, 시작, 업데이트를 할 수 없다.
기존 transform을 중지하거나 삭제할 수 있다.
기존 transform의 결과는 계속 사용할 수 있다.