아래 언급된 용어 중, CH(ch)=CloudHub, Collector=Telegraf를 지칭합니다.
Admin
CloudHub는 CloudHub 및 InfluxDB의 사용자 관리 및 그룹 관리를 위해 아래 두 가지 서브 메뉴를 가집니다.
CloudHub
만일 CloudHub Server를 구축한 후 첫 번째 로그인을 하게되면, 그 사용자 ID는 Super Admin권한을 가지게 됩니다.(추후, 다른 Super Admin권한을 가진 사용자 ID로 변경/추가/삭제할 수 있습니다.)
아래는 각 Role에 따른 권한을 설명합니다.
Role | Description |
SuperAdmin | 모든 데이터 소스 연결 및 사용자/그룹 추가, 권한 제어 등 Root 관리자 권한. |
Admin | 그룹 내의 관리자, 자신이 속한 그룹내에 사용자 추가 및 권한 제어 등을 할 수 있음. |
Editor | 각 종 대시보드 생성/수정/삭제 및 import/export 등을 할 수 있음. |
Viewer | 보기 전용 권한. |
Member | 로그인 후, 자신이 속한 그룹의 관리자(Admin)에게 위 권한들 중 하나를 요청. |
Add Group
SuperAdmin으로 로그인하면, Default 그룹으로 로그인 하게 됩니다.
또 다른 그룹을 만들기 위해서는 All Orgs >> Create Organization을 클릭하여 생성합니다.
Add User to Group
새로운 사용자를 그룹에 추가하기 위해서는 All Users >> “+” 버튼을 클릭하여 그룹을 선택합니다.
새로운 사용자를 추가하는 방법은 위 그림에서 “+ Add User” 버튼을 통하여 추가할 수도 있고, 사용자 ID로 추가 되고자 하는 그룹(기본 그룹은 default 그룹)에 로그인하고 나서, 관리자가 권한(viewer, editor, admin 등)을 부여할 수도 있습니다.
전체 관리자는 Scheme이 Basic인 유저를 잠금(Lock), 비밀번호 재발급(Reset)을 할 수 있습니다.
자세한 내용은 Managing CloudHub users 을 참고하세요.
Role Assign
새로운 그룹을 생성하고 나서, 처음 새 그룹으로 로그인 시도를 하게 되면, 새 그룹에서 접속할 새 Data Source를 설정해야 합니다.
그 과정은 https://seversky.atlassian.net/wiki/spaces/CSHD/pages/237732033/Starting+CloudHub#Resource-Onboarding 에서와 같습니다.
처음 그룹을 생성하고 나면, editor이상의 권한을 가진 사용자가 SuperAdmin밖에 없으므로, 그룹 생성 직후, 생성된 그룹으로 Switching하여 Resource Onboarding 해야 합니다.
Org Mappings에서 특정 그룹에 처음 로그인하는 사용자 권한을 Member 이상으로 변경할 수 있으나, 허가받은 사용자만 리소스에 접근 가능하도록, 초기값인 Member 권한으로 두는 것을 권장합니다.
Data Source를 연결하고 나면, “Current Org”에서 각 사용자에 대해 권한을 할당할 수 있습니다.
기타 기능에 대한 세부 설명은 Managing CloudHub organizations 를 참조합니다.
InfluxDB
InfluxDB에 대해 Database 추가/관리, Retention policy 추가/관리 등을 수행합니다.
InfluxDB 설정 중, Retention Policy Duration은 반드시 설정해야 합니다.(기본값은 unlimited)
그렇지 않으면, Disk Full 현상이 발생할 수 있음에 주의 바랍니다.
자세한 내용은 Managing InfluxDB users 를 참조할 수 있으며, InfluxDB에 대한 더 자세한 내용은 InfluxDB 공식 가이드(https://docs.influxdata.com/influxdb/v1.8)를 참고 하시기 바랍니다.
Configuration
Configuration
Configuration에서는 Data Source, Dashboard template 혹은 Kapacitor에 대한 연결을 추가 변경하는 기능을 제공합니다. 사용법은 https://seversky.atlassian.net/wiki/spaces/CSHD/pages/237732033/Starting+CloudHub#Resource-Onboarding 과 유사합니다.
Agent Configuration
CloudHub는 SaltStack을 활용한 Collector(Telegraf) installation & configuration provisioning을 지원하며, Salt API을 통하여 각 Salt Minion이 설치되어 있는 호스트들의 Collector(Telegraf)를 관리할 수 있습니다.
Minions
Agent Node 설치 매뉴얼: Installing Agent Node
일반적인 경우 hostname
과 Minion ID가 일치하는 것이 관리하기 편리합니다.
설치 매뉴얼을 따랐을 경우, 아래 화면과 같이 hostname
혹은 Minion ID일 것입니다. 초기에는 Unaccepted 상태일 것이며, 해당 Minion의 버튼을 클릭하여 Accept하면 Salt-master에 등록됩니다.
이후, 각 호스트 목록을 선택하면 아래와 같이 기본적인 시스템 정보를 보여주게 됩니다.
Collector Control
Collector(Telegraf)를 설치하고자 하는 호스트를 선택한 후, “INSTALL”을 클릭하면 원격으로 설치됩니다.
https://seversky.atlassian.net/wiki/spaces/CSHD/pages/217022681/Installing+Server+Node#Download-telegraf-into-salt-path-on-salt-master 에서 다운로드 받은 Telegraf 버전으로 설치되며, 호환 버전은 차후 변경될 수 있습니다.
Collector Config
Collector Config에서는 각 호스트에 설치되어있는 Collector에 대한 Configuration을 실시간으로 가져와서 보여줍니다. 각 그룹에 해당하는 Database를 Collector config > outputs.influxdb > database에 지정할 수 있으며, Collector 편집 후, “APPLY” 버튼을 통해 실시간으로 반영할 수 있습니다.
각각의 수집 대상 App.들에 따라 Collector에 설정해야 합니다.
아래 예시와 같이 “?”버튼을 클릭하면, 해당되는 App설정에 대한 가이드를 볼 수 있으며, 해당되는 필드에 대해 Copy & Paste를 통해 편리하게 작성할 수 있습니다.
CloudHub Collector의 경우, 오픈소스 Telegraf를 활용하며, Telegraf가 지원하는 모든 plugin을 수동으로 사용할 수 있습니다. (단, 이 경우 기술 지원에 제약이 있을 수 있습니다.)
Telegraf에서 지원하는 plugin 목록 및 설정 방법은 https://github.com/snetsystems/telegraf#input-plugins 에서 자세히 볼 수 있습니다.
또한, [Online Only] Case Study에서 예제를 참고 할 수 있습니다.
Infrastructure
Infrastructure에서는 현재 수집 중인 호스트들을 토폴로지 혹은 테이블&그래프 형태로 시각화하여 제공합니다. 자세한 내용은 각 영역별로 설명합니다.
어플리케이션들에 대한 리스트 출력은 CH Collector(Telegraf) 설정에 활성화되어 있는 항목들에 한하여 출력되며, 또한 InfluxDB Retention Policy에 설정된 기간내에 데이터가 한 건 이상 존재해야 출력됩니다.
Topology
이 탭에서는 관리자가 관리 중인 호스트들을 도식화하여 구조를 직관적으로 구성할 수 있도록 지원합니다. 현재 시계열 데이터를 수집 중인 호스트들은 감지된 호스트 목록으로 제공되며, 기본 목록에는 Router, Switch, Server, Cloud 등 도식화에 필요한 기본 이미지를 제공합니다.
자세한 내용은 Inventory Topology Manual 을 참고하세요.
Host
Host 탭에서는 현재 수집되고 있는 시계열 데이터에 대하여, 호스트 이름 별로 모니터링 할 수 있습니다.
각각의 호스트들에 대한 상태 및 CPU 부하 상태, 실행되고 있는 어플리케이션들에 대한 리스트가 출력되며, 특정 호스트를 선택 시, 시스템에 대한 차트가 출력됩니다.
각각의 호스트 이름이나, 어플리케이션을 클릭하면, 보다 다양한 차트가 보여지며, time period, refresh 주기 등을 설정할 수 있습니다.
VMware
vSphere Connection 정보 활용해 vSphere에 연결하면 vCenter, Datacenter, Cluster, Host(ESXi), Virtual Machine Infrastructure 정보를 모니터링 할 수 있습니다.
또한, Virtual Machine Remote Console 기능도 지원합니다.
자세한 내용은 VMware Monitoring 을 참고하세요.
Kubernetes
Kubernetes의 각 Object의 성능지표를 UI 에서 한 눈에 확인 할 수 있으며 Object를 더블 클릭하여 Object의 종속 관계를 확인 할 수 있습니다. 또한 Object의 Spec이나, 성능 지표 등을 모니터링 할 수 있습니다.
Namespace, Node, Label, Limit Count를 선택해서 필터링 하여 조회 할 수 있습니다.
자세한 내용은 Kubernetes Monitoring 을 참고하세요.
Amazon Web Service
AWS에서 제공되는 CloudWatch를 통한 EC2, Elastic Load Balancing(EBL) 및 Region 별 Instance 정보를 모니터링 할 수 있는 기능을 제공하며, Topology를 통해 시계열 데이터를 시각화하여 제공하고 Instance의 각종 성능 지표 및 Detail 정보를 모니터링 할 수 있습니다.
자세한 내용은 Amazon Web Service Monitoring 을 참고하세요.
Topology 탭
Host 탭
Applications
Applications 메뉴에서는 App. 카테고리에 따라 차트를 출력합니다.
주로, App.별로 담당자가 따로 있거나, Redis와 같이 여러 서버에 클러스터링된 경우, 편리하게 모니터링 할 수 있습니다.
사용법은 Infrastructure 메뉴와 유사합니다.
Visualize
Visualize 메뉴에서는 InfluxDB에 저장된 모든 시계열 데이터를 쿼리하여 시각화하는 기능을 제공합니다.
CloudHub에서 내장(built-in)으로 제공되는 차트-그래프는 각 호스트들의 시스템이나 각 어플리케이션들의 정량적 데이터들의 대표적인 필드들로 prefix 한 것으로서, 모든 데이터들을 시각화 한 것이 아닙니다.
사용자마다 모니터링해야 하는 데이터와 시각화 방법이 다를 수 있으며, 이는 Visualize 기능에서 거의 모든 데이터를 사용자에 취향에 알맞게 커스터마이징 할 수 있습니다.
아래는 그 예제 입니다.
위 그림에서,
① 찾고자 하는 데이터가 저장된 데이터베이스 및 Retention Policy를 선택합니다.
모니터링 데이터의 경우, Telegraf 설정에 database, retention_policy에 설정됩니다.
Database 목록은 Super Admin일 경우 전체가 보여지고, 그 외의 권한들은 자신이 속한 그룹과 맵핑된 DB목록만 보여집니다.
자세한 내용은 https://seversky.atlassian.net/wiki/spaces/CSHD/pages/248676461/Looking+around+-#Agent-Configuration 을 참조하세요.
② 모니터링 하고자 하는 Application의 Measurement를 선택하고, 필요한 경우 tag를 선택하여 선별적으로(where 조건) 필터링 혹은 Group by 할 수 있습니다.
③ 시각화 대상 필드를 선택하고 적절한 함수를 지정할 수 있습니다. 다중 선택이 가능하지만, Scale이 다른 필드와는 같이 선택하지 않는 것이 좋습니다.(예, byte and percentage[%])
CloudHub에서는 현재 InfluxDB에서 제공하는 모든 종류의 함수를 UI로 제공하지는 않습니다. 제공되는 UI 외의 함수에 대해서는 Flux tab의 Fucntions에서 더 많이 찾아보거나, InfluxDB 1.8 공식 가이드(https://docs.influxdata.com/influxdb/v1.8/query_language/functions/)에서 full functions에 대한 목록과 사용법에 관하여 참조하여, 쿼리문을 직접 수정할 수 있습니다.
④ 작성된 차트를 기존 혹은 새로운 Dashboard에 추가 및 생성할 수 있습니다.
자세한 내용은 User Guides > Create Dashboard in Visualize 를 참조합니다.
Dashboards
Visualize에서 생성된 사용자 customized dashboard 혹은 built-in dashboard를 loading합니다.
또한, “Create Dashboard”를 통하여 여기서 직접 Dashboard를 생성하고 차트-그래프를 추가할 수 있습니다.
과정은 Visualize에서와 거의 유사합니다.
그 밖에 “Variable”, “Annotation”등에 대한 사용법은 User Guides > Using dashboard template variables 과 Using annotations 을 참조합니다.
Alert
Kapacitor를 사용한 Alert 설정 및 관리는 Creating alert rules 에서 다룹니다.
Log Viewer
CH Collector에서 syslog input plugin을 활성화하면, 아래와 같이 syslog를 보여줍니다. 정규표현식 등으로 filter 기능을 제공하며, 나머지 편의 기능들도 직관적으로 이루어져 있습니다.
자세한 내용은 Analyzing logs 에서 다룹니다.
Activity Logs
Activity logs는 Activity 로그 정보를 보고, 검색하고, 필터링하고, 시각화하고, 분석할 수 있는 기능을 제공합니다.
자세한 내용은 Activity logs 를 참고하세요.
Add Comment