소개
SMA(Secure Malware Analytics) Appliance에서는 어플라이언스 리소스 사용을 모니터링하는 데 SNMP 프로토콜을 제공하지 않습니다. 대신 어플라이언스에서 Prometheus를 제공합니다.
이 문서에서는 원격 Prometheus 인스턴스를 구성하고 Grafanato를 사용하여 어플라이언스에서 가져온 데이터를 시각화하는 방법에 대해 설명합니다.
사전 요구 사항
다음 도구를 다운로드하여 로컬 컴퓨터/서버에 설치합니다.
요구 사항
- SMA(Secure Malware Analytics) Appliance Software 버전 2.18 이상
- Windows 컴퓨터
- 어플라이언스 관리자(Opadmin) 콘솔에 대한 관리자 액세스
- SMA(Secure Malware Analytics) 어플라이언스 Opadmin SSL 인증서(로컬 시스템에서 신뢰함)
사용되는 구성 요소
- SMA(Secure Malware Analytics) 어플라이언스
- Windows 11 Pro 컴퓨터
- 프로메테우스
- 그라파나
구성
이 문서에서는 Windows 11 Pro를 Prometheus 및 Grafana를 설치한 원격 호스트로 사용했습니다. 이러한 도구는 Linux 또는 MacOS에서도 사용할 수 있습니다.
1. SMA(Secure Malware Analytics) 어플라이언스에서 API 키를 생성하여 메트릭에 액세스합니다.
SMA 어플라이언스 Opadmin에 로그인합니다. Opadmin > Operation > Metrics에서 메트릭에 대한 API 키를 생성합니다.

2. 기본 인증 사용자 이름 및 비밀번호가 생성되며, 이는 Remote Prometheus 컨피그레이션에서 사용해야 합니다.

3. Prometheus 설치 및 구성
Linux 또는 MacOS를 사용 중인 경우 Prometheus 사용자 가이드에서 제공하는 지침에 따라 인스턴스를 설치합니다. 이 문서에서는 Windows 11 시스템에 Prometheus를 설치했으며, 설치 프로세스에서는 이 Youtube 비디오를 따랐습니다.
4. prometheus.
ymlwith 다음 내용
으로 구성 파일을 생성합니다.
scrape_configs:
- job_name: metrics
scheme: https
file_sd_configs:
- files:
- 'targets.json'
relabel_configs:
- source_labels: [__address__]
regex: '[^/]+(/.*)' # capture '/...' part
target_label: __metrics_path__ # change metrics path
- source_labels: [__address__]
regex: '([^/]+)/.*' # capture host:port
target_label: __address__ # change target
basic_auth:
username: "API_KEY"
password: "2024-04-22T15:32:14.082689318Z xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
5. basic_auth 섹션
에서 1단계에서 생성한 기본 인증 사용자 이름 및 비밀번호를 사용합니다.
6. Opadmin에 로그인한 후 UI에서 다음을 입력하여 메트릭을 가져올 수 있는 서비스의 컨피그레이션을 가져옵니다.
https:///metrics/v1/config
다음과 같은 기능이 제공됩니다.
[{"labels":{"service":"classifier"},"targets":["192.168.97.111:443/metrics/v1/service/classifier"]},{"labels":{"service":"dictator"},"targets":["192.168.97.111:443/metrics/v1/service/dictator"]},{"labels":{"service":"fav2"},"targets":["192.168.97.111:443/metrics/v1/service/fav2"]},{"labels":{"service":"monbox"},"targets":["192.168.97.111:443/metrics/v1/service/monbox"]},{"labels":{"service":"node-exporter"},"targets":["192.168.97.111:443/metrics/v1/service/node-exporter"]},{"labels":{"service":"observer"},"targets":["192.168.97.111:443/metrics/v1/service/observer"]},{"labels":{"service":"supervisor"},"targets":["192.168.97.111:443/metrics/v1/service/supervisor"]},{"labels":{"service":"ven-entrance"},"targets":["192.168.97.111:443/metrics/v1/service/ven-entrance"]}]
여기서 192.168.97.111
은 내 SMA 어플라이언스의 관리자 IP입니다.
7. targets.
json이라는 이름의 파일
을 만들고 위의 내용을 해당 파일에 복사합니다.
8. prometheus.yml
및 targets.json
을 Prometheus 디렉토리에 복사합니다(설치 가이드 참조). Windows의 경우 C:\ 드라이브에 폴더를 생성하고 Prometheus 설치 파일을 압축을 풀었습니다. 그런 다음 prometheus.yml
과 targets.json
을 같은 폴더에 복사했습니다.

9. 프로메테우스 시작
프로메테우스를 시작하세요 Windows의 경우 명령줄
에서 prometheus.exe
를 실행합니다.
C:\Prometheus\prometheus-2.51.2.windows-amd64\prometheus-2.51.2.windows-amd64>prometheus.exe
그러면 Prometeus가 시작되고 SMA 어플라이언스에서 메트릭을 가져오기 시작합니다. 참고: 명령줄을 닫지 마십시오. 그렇지 않으면 프로메테우스가 종료됩니다.
10. 로컬 Prometheus 인스턴스가 SMA 어플라이언스 로드 Prometheus UI에서 메트릭을 가져올 수 있는지 확인하려면 - `http://localhost:9090/`
11. 상태
> 대상으로 이동합니다
. http://localhost:9090/targets?search=
몇 분 내에 모든 대상과 상태 UP를 볼 수 있습니다
.

12. Grafana 설치 및 구성
Grafana Labs에서 Grafana 실행 파일을 다운로드합니다. Granafa를 설치하고 설치 프로그램에서 제공하는 지침을 따르십시오.
13. 브라우저에서 Grafana 액세스 UI를 설치한 후 -http://localhost:3000/
홈 > 연결 > 데이터 소스로 이동 - `http://localhost:3000/connections/datasources`
Add New Datasource
and SelectPrometheus
from the list. Prometheus 서버 URL로 `http://localhost:9090/`를 입력합니다

해당 페이지의 하단에서 저장 및 테스트를 선택합니다
. 테스트가 성공하면 대시보드를 생성할 수 있습니다.
14. Grafana 대시보드 생성
Grafana UI의 Dashboards
로 이동하여 Create Dashboard >Add visualization
을 선택합니다
. 프로메테우스
데이터 소스를 선택합니다.
쿼리 작성기 selectCodeinput에서 시각화 유형(게이지를 선택한 경우)을 선택합니다.
CPU 사용률에 대한 다음 쿼리를 입력합니다.
100-(avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
15. Run Queries(쿼리 실행
)를 클릭하면 다음과 같은 CPU 사용량이 시각화됩니다.

16. 패널을 저장하고 대시보드 이름을 지정한 다음 저장합니다. 다른 메모리 사용을
위한 시각화를 추가합니다.

17. 메모리 사용률의 경우 다음 쿼리를 사용합니다
(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / (1024*1024*1024)

18. 변경사항을 저장하면 다음과 같은 대시보드가 있어야 합니다.

19. 기타 하드웨어 및 소프트웨어 측정 단위를 사용할 수 있습니다. 자세한 내용을 보려면 [Opadmin> 측정 단위] 페이지에
제공된 링크를 클릭하십시오.

Grafana 대시보드 템플릿
Grafana 웹 사이트에는 Node Exporter에 사용할 수 있는 Grafana Dashboard 템플릿이 많이 있습니다. 그 중 하나는 - 노드 내보내기 가득 참
1. 이 대시보드를 Grafana 인스턴스로 가져오려면 JSON을 다운로드하고 Grafana에서 JSON 파일을 가져옵니다.

2. JSON 파일을 업로드하고 Prometheusdata 소스를 선택합니다


3. 이렇게 하면 많은 하드웨어 정보가 포함된 대시보드가 생성됩니다(일부 패널 메트릭을 사용할 수 있는 것은 아님)-

문제 해결
Prometeus가 SMA 어플라이언스에서 메트릭을 연결 및 풀링하지 못한 경우 Status
> Targets(상태
> 대상)
에서 오류가 표시됩니다
. http://localhost:9090/targets?search=
Error가 있는 경우
, 데이터를 가져오려면 먼저 오류를 수정해야 합니다. 일반적인 문제는 SMA 어플라이언스 Opadmin의 SSL 인증서가 로컬 시스템에서 신뢰되지 않는다는 것입니다. IP 및 DNS SAN을 사용하여 SMA 관리자 인증서를 만들고 서명 루트 CA를 로컬 컴퓨터의 트러스트 저장소에 추가해야 합니다.