개요
CloudHub는 SaltStack을 활용한 Collector(Telegraf) installation & configuration provisioning을 지원하며, Salt API를 통하여 각 Salt Minion이 설치되어 있는 호스트들의 Collector(Telegraf)를 관리할 수 있습니다.
Minions
Agent Configuration의 Minions은 Salt Minion을 Accept, Reject, Delete 기능을 통해 Salt Minion이 설치된 호스트를 Salt Master의 연결 및 연결 해지 기능을 제공합니다.
Accept된 Host에 대한 OS, OS Version, IP 정보를 제공합니다.
Salt Minion 설치 : Installing Agent Node
Minions 초기화면
Accept Minion
1단계 : Mionins 리스트에서 Operation의 '=' 버튼 클릭
Accept, Delete를 선택할 수 있도록 나타납니다.
2단계 : Accept 클릭
Accept한 Host의 결과가 Console에 출력되고 Minions 리스트는 새로 고침 되어 Status가 Accepted로 변경되어 출력됩니다.
Accept된 Host의 한해서 OS, OS Version, IP 정보를 제공하지만, Accept 후 바로 조회되지 않고 약 5초 후 재 조회 시 출력됩니다.
Reject Minion
1단계 : Minions 리스트에서 Status가 Accepted인 Host의 Operation의 '=' 클릭
Reject, Delete를 선택할 수 있도록 나타납니다.
2단계 : Reject 클릭
Reject한 Host의 결과가 Console에 출력되고 Minions 리스트는 새로고침 되어 Status가 Reject로 변경되어 출력됩니다. 또한 Reject된 Host의 OS, OS Version 은 출력되지 않습니다.
Delete Minion
1단계 : Minions 리스트에서 Status가 Accepted, Reject, UnAccept인 Host의 Operation의 '=' 클릭
Delete를 선택할 수 있도록 나타납니다.
2단계 : Delete 클릭
Delete한 Host의 결과가 Console에 출력되고 Minions 리스트에서 삭제한 Host를 제외한 Host 리스트가 출력됩니다.
Host Delete 시 해당 Host를 Minions에서 재활용하려면 Host의 Salt Minion의 Service를 재시작 해야 합니다.
Host 시스템 정보 조회
1단계 : Minions 리스트에서 Accepted 클릭
아래와 같이 해당 Host의 기본 시스템 정보를 조회할 수 있습니다.
saltversion: 2019.2.0 master: 192.168.56.105 os_family: RedHat os: CentOS osrelease: 7.7.1908 kernel: Linux kernelrelease: 3.10.0-1062.el7.x86_64 kernelversion: '#1 SMP Wed Aug 7 18:08:02 UTC 2019' virtual: VirtualBox cpuarch: x86_64 cpu_model: Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz localhost: localhost.localdomain ip_interfaces: lo: - 127.0.0.1 - '::1' enp0s3: - 192.168.0.6 - 'fe80::ef37:98cd:cc83:9e67' - 'fe80::b56b:f819:b12f:392a' - 'fe80::19e:493a:ab7e:1dbd' enp0s8: - 192.168.56.102 - 'fe80::a00:27ff:feee:dd3c' ip6_interfaces: lo: - '::1' enp0s3: - 'fe80::ef37:98cd:cc83:9e67' - 'fe80::b56b:f819:b12f:392a' - 'fe80::19e:493a:ab7e:1dbd' enp0s8: - 'fe80::a00:27ff:feee:dd3c' ip4_gw: 192.168.0.1 ip6_gw: false 'dns:nameservers': - 168.126.63.1 - 168.126.63.2 locale_info: defaultlanguage: en_US defaultencoding: UTF-8 detectedencoding: UTF-8 biosversion: VirtualBox mem_total: 991 swap_total: 819 gpus: - vendor: unknown model: VirtualBox Graphics Adapter selinux: enabled: true enforced: Enforcing path: '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin'
Collector Control
Collector Control은 Accepted 된 Host에 대해 Collector(Telegraf) 설치 및 Collector(Telegraf) 서비스를 실행 및 중지할 수 있습니다.
INSTALL Collector
1단계 : Collector Control 탭 메뉴 클릭
Minions 탭 메뉴에서 Accept 된 Host가 리스트에 출력됩니다.
선택된 Host가 없으면 RUN, STOP, INSTALL 버튼은 비활성화됩니다.
2단계 : Install할 Host의 체크 박스 선택
Host 체크 박스 선택을 하게 되면 RUN, STOP, INSTALL 버튼은 활성화됩니다.
3단계 : INSTALL 버튼 클릭
Collector(Telegraf) Install한 Host의 결과가 Console에 출력되고 Minions 리스트에서 Enabled가 Enable로 변경되어 출력됩니다.
Installing Server Node/Download telegraf into salt path on salt-master 에 다운로드 받은 Telegraf 버전으로 설치되며, 호환 버전은 차후 변경될 수 있습니다.
RUN Collector
Collector(Telegraf)가 설치된 Host의 한해 Collector(Telegraf)를 실행할 수 있습니다.
Minions 리스트의 Action의 ▶ 버튼을 클릭하여 Collector(Telegraf)를 실행할 수 있습니다.
Minions 리스트에서 실행할 Host를 선택하고 RUN을 클릭해도 Collector(Telegraf)를 실행할 수 있습니다.
실행 결과
STOP Collector
Collector(Telegraf)가 설치된 Host의 한해 Collector(Telegraf)가 실행 중인 경우 서비스를 중지할 수 있습니다.
Minions 리스트의 Action의 ■ 버튼을 클릭하여 Collector(Telegraf)를 서비스를 중지할 수 있습니다.
Minions 리스트에서 Collector(Telegraf) 서비스를 중지할 Host를 선택하고 STOP을 클릭해도 중지할 수 있습니다.
실행 결과
Collector Config
Collector Config 탭 메뉴는 Host가 Salt Master에 Accept 되어 있고 Collector(Telegraf)가 설치된 Host에 대한 Measurements 정보를 제공하고 Collector(Telegraf) Configuration 정보를 Editor를 이용해 수정한 후 적용할 수 있습니다.
모니터링 대상 정보
Monitoring Features:
General System & Network Metrics: CPU, Memory, Swap, Net I/O and so on.
DataBase
MiddleWare
Web Server
Windows
CPU, Memory, Disk 등 시스템 및 .NET, IIS 등의 지표 수집에 Windows 성능 모니터링 카운터를 사용합니다.
Collector.conf 수정 및 적용
1단계 : Collector Config 탭 메뉴 클릭
Minions 리스트에 Host가 Salt Master에 Accept 되어 있고 Collector(Telegraf)가 설치된 Host가 리스트에 조회됩니다.
2단계 : 조회된 Host 클릭
선택된 Host에 해당하는 Measurements 정보와 collector의 Configuration 정보가 collector.conf Editor에 출력됩니다.
measurements는 CloudHub에서 지원되는 모니터링 대상이 선택한 Host에 존재하는 경우 표시됩니다.
3단계 : collector.conf Editor의 Configuration 수정
[agent] interval = "5s" round_interval = true metric_batch_size = 1000 metric_buffer_limit = 10000 collection_jitter = "0s" flush_interval = "5s" flush_jitter = "0s" precision = "" debug = false quiet = false logfile = "/var/log/telegraf/telegraf.log" hostname = "minion01" omit_hostname = false [[outputs.influxdb]] urls = ["http://192.168.56.105:8086"] database = "telegraf" username = "" password = "" retention_policy = "" write_consistency = "any" timeout = "5s" [[inputs.cpu]] [[inputs.disk]] [[inputs.diskio]] [[inputs.mem]] [[inputs.system]]
해당 Host에 Host Name를 지정하지 않은 경우 [agent]에 hostname를 지정해야 합니다.
hostname = "minion01"
(공백 문자 즉, 띄어쓰기 불가)
4단계 : “APPLY” 버튼 클릭
Collector(Telegraf) 의 Configuration 이 적용되고 Collector(Telegraf) Service가 재시작됩니다.
데이터 확인
Visualize 메뉴 확인
Infrastructure 메뉴 확인
Add Comment