소개
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://<opadmin IP>/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 어플라이언스에서 메트릭을 가져오기 시작합니다. 참고: 명령줄을 닫지 마십시오. 그러면 Prometheus가 종료됩니다.
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`
새 데이터 소스 추가
를 선택하고 목록
에서 프로메테우스를 선택합니다. Prometheus Server 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> Metrics(측정 단위)
페이지에서
제공된 링크를 클릭하십시오
.
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를 로컬 컴퓨터의 트러스트 저장소에 추가해야 합니다.