-
반응형
이번 포스팅은 성능 모니터링 시스템을 위한 성능 수집기인 metricbeat에 대한 설치 내용입니다.
elastic 에서 제공하는 오픈소스인 metricbeat를 사용하여 성능 모니터링 시스템을 쉽게 구축 할 수 있습니다.
Linux, Windows, Mac 호스트에 등에 설치하여 Elasticsearch 등에 연동하면 시스템의 CPU 사용률과 메모리, 파일 시스템, 디스크 IO, 네트워크 IO에 대한 통계와 시스템에서 실행되는 모든 프로세스에 대한 모니터링 및 통계를 확인할 수 있는 모니터링 시스템을 구축 할 수 있습니다.
이제 metricbeat를 설치하고 수집 구성하는 방법에 대한 설명 글 입니다.
1. metricbeat 다운로드 사이트 접속
아래 다운로드 사이트에 접속하여 설치 파일을 다운로드 합니다.
설치 환경은 windows 로 설치하였습니다.
다운로드 사이트 : https://www.elastic.co/kr/beats/metricbeat
2. metricbeat 파일 다운로드 - Windows zip
3. C:\Program Files 폴더에 압축을 풀어 줍니다.
압축을 풀면 아래와 같이 좀 복잡한 이름으로 폴더가 생성되는데 이것을 간단하게 수정합니다.
따로 설치가 필요하지는 않으면 압축을 푸는 것으로 설치가 됩니다.
- metricbeat-<version>-windows 폴더 이름을 Metricbeat 로 변경합니다.4. metricbeat 서비스 등록
Metricbeat를 Windows 서비스로 등록하기 위해 PowerShell을 관리자 권한으로 엽니다.
- PowerShell을 관리자 권한으로 실행합니다.
Metricbeat를 Windows 서비스로 등록합니다.
3번에서 압축 파일을 푼 폴더를 확인하면 install-service-metricbeat.ps1 파일이 있습니다.
이 파일을 아래와 같이 파워셀에서 실행 해 줍니다.
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS C:\WINDOWS\system32> cd 'c:\Program Files\Metricbeat'
PS C:\Program Files\Metricbeat> .\install-service-metricbeat.ps1
.\install-service-metricbeat.ps1 : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Program Files\Metricbeat\install-serv
ice-metricbeat.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/LinkID=135170)를 참조하십시오.
위치 줄:1 문자:1
+ .\install-service-metricbeat.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : 보안 오류: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS C:\Program Files\Metricbeat>위와 같이 보안상의 문제로 실행이 되지 않는 다면 아래와 같이 cmd 창에서 실행 합니다.
Powershell.exe -ExecutionPolicy UnRestricted -File .\install-service-metricbeat.ps1
Windows 서비스를 확인해 보면 아래 화면과 같이 metricbeat 서비스가 생성 됨을 확인 할 수 있습니다.
5. Metricbeat 서비스를 시작
metricbeat 서비스 시작은 서비스 화면에서 오른쪽 마우스를 클릭하여 “시작"을 클릭 하거나 명령어로 시작 할 수 있습니다.
명령어는 powershell 창에서 Start-Service metricbeat 하면 되는데 성공이면 결과값을 아무 것도 보여주지 않아서 현재 서비스 상태를 알고 싶으면 Get-Service 명령을 이용하시면 됩니다. 참고로 중지는 Stop-Service 입니다.
PS C:\Program Files\Metricbeat> Start-Service metricbeat
PS C:\Program Files\Metricbeat> Get-Service metricbeat
Status Name DisplayName
------ ---- -----------
Running metricbeat metricbeat
PS C:\Program Files\Metricbeat>
서비스 화면에서도 새로고침 하면 “실행 중”으로 바뀐 것을 확인 할 수 있습니다.
만약 서비스에서 삭제하고 싶다면 uninstall-service-metricbeat.ps1 스크립트를 사용하면 됩니다.
Powershell.exe -ExecutionPolicy UnRestricted -File .\uninstall-service-metricbeat.ps1
PS C:\Program Files\Metricbeat> Powershell.exe -ExecutionPolicy UnRestricted -File .\uninstall-service-metricbeat.ps1
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0
PSComputerName :
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0
PSComputerName :
PS C:\Program Files\Metricbeat>metricbeat에서 제공하는 성능 항목은 아래와 같이 수행하면 확인 할 수 있습니다.
PS C:\Program Files\Metricbeat> .\metricbeat.exe modules list
Enabled:
system
Disabled:
activemq
aerospike
apache
appsearch
aws
azure
beat
beat-xpack
ceph
….
PS C:\Program Files\Metricbeat>6. 시스템 수집 항목 추가
수집 항목을 추가 또는 제거 하려면 아래 파일을 편집합니다.
C:\Program Files\Metricbeat\modules.d\system.yml 파을을 메모장 등으로 열어서 추가하고자 하는 항목의 #을 제거해 주면 수집 항목이 추가 됩니다. 반대로 수집 항목을 제거하여면 #을 붙이고 저장합니다.
아래는 예제 입니다.
# Module: system
# Docs: https://www.elastic.co/guide/en/beats/metricbeat/7.10/metricbeat-module-system.html
- module: system
period: 10s
metricsets:
- cpu
#- load
- memory
- network
- process
- process_summary
- socket_summary
#- entropy
#- core
#- diskio
#- socket
#- service
#- users
process.include_top_n:
by_cpu: 5 # include top 5 processes by CPU
by_memory: 5 # include top 5 processes by memory
- module: system
period: 1m
metricsets:
- filesystem
- fsstat
processors:
- drop_event.when.regexp:
system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/)'
- module: system
period: 15m
metricsets:
- uptime
#- module: system
# period: 5m
# metricsets:
# - raid
# raid.mount_point: '/'7. 수집 설정
수집된 성능을 elasticsearch 또는 logstash 등으로 보내는 설정을 합니다.
여기서는 logstash로 보내는 설정을 작성해 보겠습니다.
설치된 폴더에서 metricbeat.yml 파일을 편집합니다.
파일의 아래 부분으로 이동하면 아래와 같은 부분이 보이는데 주석(#)을 풀고 실제 logstash로 보낼 IP 주소 및 port 번호를 입력합니다.
기본 파일에는 Elasticsearch 으로 전송하는 것으로 되어 있어서 Elasticsearch 부분은 주석처리(#) 해 줍니다.
7. 설정 확인
위의 설정이 맞는 지 확인 하기 위하여 아래 명령어를 입력합니다.
cd <설치 폴더>.\metricbeat.exe -e -c metricbeat.yml
Windows에서 기본 제공 되는 metricbeat 모듈이 있습니다. 이를 활성화 하기 위해서는 아래와 같은 명령어를 powershell 에서 실행합니다.
PS > .\metricbeat.exe modules enable windows
8. 성능 데이터 수집 시작
데이터 수집을 시작합니다. (이미 시작이 되어 있으면 설정 파일을 변경하였으므로 다시 시작합니다.)
PS> C:\Program Files\Metricbeat> Start-Service metricbeat
windows 서비스 등록을 하였으므로 서비스에서 시작/종료 해도 됩니다.
이상으로 metricbeat를 이용하여 성능 데이터를 수집하는 구축까지 해 보았습니다.
반응형'IT 이야기 공간 > 오픈소스' 카테고리의 다른 글
경량 로그수집기 filebeat로 로그 수집하기 (0) 2021.03.25