1. 개요
Splunk Add-on for Google Cloud Platform은 GCP 환경의 로그, 메트릭, 과금 데이터, Cloud Storage 파일, 리소스 메타데이터를 Splunk로 수집하기 위한 Add-on이다.
수집 대상은 크게 아래와 같이 구분할 수 있다.
| 구분 | 사용 Input | 주요 수집 대상 |
|---|---|---|
| 로그 수집 | Cloud Pub/Sub | GCP Audit Log, Platform Log, Workspace 관련 로그 |
| 메트릭 수집 | Cloud Monitoring | CPU, Disk, Network, Pub/Sub, Cloud SQL 등 성능 지표 |
| 비용 수집 | BigQuery Billing | GCP 과금/비용 데이터 |
| 파일 수집 | Cloud Storage Bucket | GCS에 저장된 JSON, CSV, XML, 일반 로그 파일 |
| 자산정보 수집 | Resource Metadata | VM, Disk, Firewall, GKE, Bucket 등 리소스 메타데이터 |
2. Input 종류별 수집 대상
| Input 메뉴 | 수집 대상 | 주요 용도 | 대표 Sourcetype |
|---|---|---|---|
| Cloud Pub/Sub | Pub/Sub Subscription 메시지 | Cloud Logging Sink로 전달된 로그 수집 | google:gcp:pubsub:message |
| Cloud Pub/Sub Lite | Pub/Sub Lite 메시지 | Pub/Sub Lite 기반 메시지 수집 | google:gcp:pubsublite:message |
| Cloud Monitoring | Cloud Monitoring Metric | GCP 성능 지표 수집 | google:gcp:monitoring |
| Google Cloud BigQuery Billing | BigQuery Billing Export Table | 비용/과금 데이터 수집 | google:gcp:billing:* |
| Cloud Pub/Sub Based Bucket | Pub/Sub 알림 기반 GCS 객체 | 버킷 파일 생성 알림 기반 수집 | google:gcp:buckets:data |
| Cloud Storage Bucket | GCS Bucket 파일 | 버킷 내 파일 직접 수집 | google:gcp:buckets:data |
| Resource Metadata - Compute Engine | GCE 리소스 메타데이터 | VM, Disk, Firewall 등 자산정보 수집 | google:gcp:resource:metadata |
| Resource Metadata - Cloud Storage | GCS 리소스 메타데이터 | Bucket, ACL, Notification 등 수집 | google:gcp:resource:metadata |
| Resource Metadata - VPC Access | Serverless VPC Access 메타데이터 | Connector, Location, Operation 등 수집 | google:gcp:resource:metadata |
| Resource Metadata - Kubernetes | GKE 메타데이터 | Cluster, Node Pool, Operation 등 수집 | google:gcp:resource:metadata |
3. Cloud Pub/Sub 기반 로그 수집
보안 로그 수집 관점에서 가장 중요한 Input은 Cloud Pub/Sub이다.
GCP Cloud Logging에서 Log Router Sink를 생성하고, 로그를 Pub/Sub Topic으로 전달하면 Splunk Add-on에서 해당 Subscription을 읽어오는 구조이다.
GCP Cloud Logging
→ Log Router Sink
→ Pub/Sub Topic
→ Pub/Sub Subscription
→ Splunk Add-on for GCP Cloud Pub/Sub Input
→ Splunk Index
Cloud Pub/Sub를 통해 수집할 수 있는 대표 로그는 다음과 같다.
| 로그 구분 | 설명 |
|---|---|
| GCP Audit Logs | 관리자 행위, 데이터 접근, 시스템 이벤트, 정책 거부 로그 |
| GCP Platform Logs | Compute Engine, VPC Flow, Load Balancer, Cloud NAT, Cloud DNS 등 |
| Security Command Center Findings | GCP 보안 탐지 결과 및 Finding |
| Google Workspace 관련 로그 | Cloud Logging/PubSub로 전달되는 Workspace Audit 계열 로그 |
4. GCP Audit Logs
GCP Audit Log는 Cloud Pub/Sub를 통해 Splunk로 수집할 수 있다.
| 로그 종류 | 설명 | 주요 활용 |
|---|---|---|
| Admin Activity Audit Log | 리소스 생성, 수정, 삭제, IAM 변경 등 관리 행위 로그 | 관리자 행위 감사, 권한 변경 탐지 |
| Data Access Audit Log | 리소스 데이터 조회 및 접근 행위 로그 | 민감 데이터 접근 탐지 |
| System Event Audit Log | GCP 시스템에 의해 발생한 이벤트 로그 | 시스템 수준 변경 추적 |
| Policy Denied Audit Log | 정책 위반 또는 접근 거부 이벤트 | 권한 부족, 정책 차단 이벤트 분석 |
| Access Transparency Log | Google 내부 운영자의 고객 리소스 접근 로그 | Google 운영자 접근 감사 |
주요 탐지 대상 예시
| 탐지 대상 | 관련 로그 |
|---|---|
| IAM Role 변경 | Admin Activity |
| Service Account 생성/삭제 | Admin Activity |
| Service Account Key 생성 | Admin Activity |
| 방화벽 룰 생성/수정/삭제 | Admin Activity |
| VM Instance 생성/삭제/시작/정지 | Admin Activity |
| Cloud Storage Bucket 생성/삭제/IAM 변경 | Admin Activity |
| Pub/Sub Topic/Subscription 생성/삭제 | Admin Activity / System Event |
| 로그 조회 또는 API 접근 | Data Access |
| 정책 기반 접근 거부 | Policy Denied |
5. GCP Platform Logs
Cloud Logging Sink를 통해 Pub/Sub로 전달하면 여러 GCP 서비스 로그를 Splunk로 수집할 수 있다.
| 로그 종류 | 설명 | 활용 예시 |
|---|---|---|
| Compute Engine Logs | VM 관련 플랫폼 로그 | VM 변경/운영 이벤트 분석 |
| VPC Flow Logs | 네트워크 플로우 로그 | 통신 흐름, 외부 연결, 이상 트래픽 분석 |
| Cloud Load Balancing Logs | HTTP(S) Load Balancer 요청 로그 | 웹 접근 로그 분석 |
| Cloud NAT Logs | NAT 연결 및 변환 로그 | 외부 통신 추적 |
| Cloud DNS Logs | DNS Query 로그 | 도메인 질의 분석 |
| Cloud SQL Logs | DB 접속, 감사, 플랫폼 로그 | DB 보안 모니터링 |
| Cloud Storage Logs | Bucket/Object 관련 로그 | 파일 접근 및 변경 추적 |
| Security Command Center Findings | SCC 보안 알림 및 Finding | GCP 보안 위협 분석 |
Pub/Sub로 수집 가능하더라도 모든 로그가 자동으로 CIM에 완전히 매핑되는 것은 아니다.
로그 종류에 따라 sourcetype 분리, 필드 추출, CIM 매핑 작업이 추가로 필요할 수 있다.
6. Google Workspace 관련 로그
Splunk Add-on for GCP는 Google Workspace API를 직접 호출해서 Gmail Audit, Drive Audit 등을 수집하는 구조가 아니다.
다만 Workspace 관련 로그가 Cloud Logging → Pub/Sub 구조로 전달되면, Cloud Pub/Sub Input을 통해 Splunk로 수집할 수 있다.
| Workspace 관련 데이터 | 수집 가능 여부 | 비고 |
|---|---|---|
| Login Audit / 로그인 이벤트 | 가능 | Cloud Logging/PubSub로 전달되는 경우 수집 가능 |
| Admin Directory User 정보 | 가능 | 사용자 계정 정보성 데이터 수집 가능 |
| Workspace Admin Audit | 조건부 가능 | Cloud Logging으로 전달되는 경우 가능 |
| Gmail / Mail Audit 전문 로그 | 제한적 | Add-on이 Gmail Audit API를 직접 호출하는 구조는 아님 |
| Drive, Meet, Calendar 감사 로그 | 조건부 가능 | Pub/Sub로 전달되면 원본 수집 가능하나 별도 파싱 필요 가능성 있음 |
Workspace Audit 수집 권장 구조
Google Workspace Audit Logs
→ Cloud Logging
→ Log Router Sink
→ Pub/Sub Topic
→ Pub/Sub Subscription
→ Splunk Add-on for GCP Cloud Pub/Sub Input
→ Splunk Index
Google Workspace Audit 로그 수집 목적이라면
Cloud Monitoring Input이 아니라 Cloud Pub/Sub Input을 사용해야 한다.
근데 나는 Workspace 앱을 사용해서 받을 예정임
7. Cloud Monitoring으로 수집 가능한 데이터
Cloud Monitoring Input은 로그 수집용이 아니라 메트릭 수집용이다.
CPU, Disk, Network, Pub/Sub, Cloud SQL 등 GCP 리소스의 성능 지표를 수집할 때 사용한다.
| 메트릭 예시 | 설명 |
|---|---|
compute.googleapis.com/instance/cpu/utilization |
VM CPU 사용률 |
compute.googleapis.com/instance/disk/read_bytes_count |
디스크 읽기 바이트 |
compute.googleapis.com/instance/disk/write_bytes_count |
디스크 쓰기 바이트 |
compute.googleapis.com/instance/network/received_bytes_count |
네트워크 수신 바이트 |
compute.googleapis.com/instance/network/sent_bytes_count |
네트워크 송신 바이트 |
pubsub.googleapis.com/subscription/num_undelivered_messages |
Pub/Sub 미전달 메시지 수 |
pubsub.googleapis.com/subscription/oldest_unacked_message_age |
가장 오래된 미확인 메시지 age |
Cloud Monitoring Input 사용 시 필요 조건
| 항목 | 내용 |
|---|---|
| 필요 API | Cloud Monitoring API |
| API 이름 | monitoring.googleapis.com |
| 권장 권한 | roles/monitoring.viewer |
| 주요 권한 | monitoring.metricDescriptors.list, monitoring.timeSeries.list |
Cloud Monitoring API가 비활성화되어 있으면 Splunk Add-on에서 metric descriptor 조회 시 403 에러가 발생할 수 있다.
대표 에러 예시는 다음과 같다.
HttpError 403
Cloud Monitoring API has not been used in project before or it is disabled.
reason: SERVICE_DISABLED
service: monitoring.googleapis.com
8. BigQuery Billing으로 수집 가능한 비용 데이터
BigQuery Billing Export를 구성하면 GCP 과금 데이터를 Splunk로 수집할 수 있다.
| Billing 데이터 | Sourcetype |
|---|---|
| Standard Usage Cost | google:gcp:billing:standard_usage_cost |
| Detailed Usage Cost | google:gcp:billing:detailed_usage_cost |
| Pricing Export | google:gcp:billing:pricing |
| 일반 Billing Report | google:gcp:billing:report |
활용 예시
| 활용 목적 | 설명 |
|---|---|
| 프로젝트별 비용 분석 | 프로젝트 단위 비용 추적 |
| 서비스별 비용 분석 | Compute, Storage, BigQuery 등 서비스별 비용 확인 |
| SKU별 비용 분석 | 상세 과금 항목 분석 |
| 비용 이상징후 탐지 | 특정 프로젝트나 서비스의 비용 급증 탐지 |
| 리소스별 비용 추적 | 리소스 라벨 기반 비용 분석 |
9. Cloud Storage Bucket으로 수집 가능한 데이터
Cloud Storage Bucket Input은 GCS 버킷에 적재된 파일을 Splunk로 수집할 때 사용한다.
| 데이터 유형 | 설명 | Sourcetype |
|---|---|---|
| JSON 파일 | 버킷 내 JSON 객체 | google:gcp:buckets:jsondata |
| XML 파일 | 버킷 내 XML 객체 | google:gcp:buckets:xmldata |
| CSV 파일 | 버킷 내 CSV 객체 | google:gcp:buckets:csvdata |
| 기타 파일 | 일반 객체 데이터 | google:gcp:buckets:data |
| GCS Access Log | Cloud Storage 접근 로그 | google:gcp:buckets:accesslogs |
활용 예시
| 활용 목적 | 설명 |
|---|---|
| 외부 시스템 로그 수집 | 외부 솔루션이 GCS에 적재한 로그 수집 |
| 장기 보관 로그 수집 | 버킷에 저장된 아카이브성 로그 수집 |
| GCS Access Log 분석 | 버킷 접근 이력 분석 |
| CSV/JSON 기반 배치 로그 수집 | 정기적으로 업로드되는 파일 기반 로그 수집 |
10. Resource Metadata로 수집 가능한 자산정보
Resource Metadata Input은 이벤트 로그가 아니라 GCP 리소스의 구성정보와 메타데이터를 수집하는 기능이다.
보안 관점에서는 자산 식별, 변경 추적, CMDB 보강, 대시보드 구성에 활용할 수 있다.
Compute Engine Metadata
| 수집 가능 항목 |
|---|
| Instances |
| Disks |
| Firewalls |
| Autoscalers |
| Disk Types |
| Machine Types |
| Instance Groups |
| Instance Group Managers |
| Network Endpoint Groups |
| Node Groups |
| Node Types |
| Reservations |
| Target Instance |
| Operation Resources |
| Accelerator Types |
Cloud Storage Metadata
| 수집 가능 항목 |
|---|
| Buckets |
| Bucket Access Controls |
| Default Object Access Controls |
| Object Access Controls |
| Notifications |
VPC Access Metadata
| 수집 가능 항목 |
|---|
| Locations |
| Connectors |
| Operations |
Kubernetes / GKE Metadata
| 수집 가능 항목 |
|---|
| Subnetworks |
| Clusters |
| Node Pools |
| Operations |
11. 목적별 사용해야 하는 Input
| 목적 | 사용해야 하는 Input |
|---|---|
| GCP Audit Log 수집 | Cloud Pub/Sub |
| Google Workspace Audit Log 수집 | Cloud Pub/Sub |
| VPC Flow Log 수집 | Cloud Pub/Sub |
| Cloud Load Balancer Log 수집 | Cloud Pub/Sub |
| Cloud DNS Log 수집 | Cloud Pub/Sub |
| Security Command Center Finding 수집 | Cloud Pub/Sub |
| CPU/Disk/Network 성능 지표 수집 | Cloud Monitoring |
| Pub/Sub Queue 상태 메트릭 수집 | Cloud Monitoring |
| GCP 비용 데이터 수집 | BigQuery Billing |
| GCS에 쌓인 파일 로그 수집 | Cloud Storage Bucket |
| GCS 객체 생성 알림 기반 수집 | Cloud Pub/Sub Based Bucket |
| VM, Disk, Firewall 자산정보 수집 | Resource Metadata - Compute Engine |
| Bucket 자산정보 수집 | Resource Metadata - Cloud Storage |
| GKE 자산정보 수집 | Resource Metadata - Kubernetes |
12. 요약
Splunk Add-on for Google Cloud Platform은 GCP Cloud Logging 로그를 Pub/Sub를 통해 수집하고, Cloud Monitoring 메트릭, BigQuery Billing 비용 데이터, Cloud Storage 파일 및 Access Log, Compute/GKE/Storage/VPC Access 리소스 메타데이터까지 수집할 수 있다.
13. 최종 정리
| 구분 | 결론 |
|---|---|
| 보안 로그 수집 | Cloud Pub/Sub 사용 |
| Workspace Audit 수집 | Cloud Pub/Sub 사용 |
| 성능 지표 수집 | Cloud Monitoring 사용 |
| 비용 데이터 수집 | BigQuery Billing 사용 |
| GCS 파일 수집 | Cloud Storage Bucket 사용 |
| 자산정보 수집 | Resource Metadata 사용 |
Google Workspace Audit 로그 수집 목적이라면 Cloud Monitoring Input이 아니라 Cloud Pub/Sub Input을 구성해야 한다.
'Splunk' 카테고리의 다른 글
| [Splunk] Splunk DB Connect로 MySQL 연결하기 (0) | 2026.03.26 |
|---|---|
| [Splunk] Cluster Master & Buckets 핵심 정리 (0) | 2025.08.27 |
| [Splunk] 인덱서 클러스터(Indexer Clustering) (2) | 2025.08.26 |
| [ Splunk ] Indexing Internals (1) | 2025.08.25 |
| [ Splunk ] Event Processing (2) | 2025.08.24 |