이 문서에서는 Bindplane을 사용하여 Apache Tomcat 로그를 Google Security Operations에 수집하는 방법을 설명합니다. 파서는 JSON 형식 로그에서 필드를 추출하여 통합 데이터 모델 (UDM)로 변환합니다.
기본값을 초기화하고, JSON 페이로드를 파싱하고, 잠재적인 JSON 파싱 오류를 처리하고, 메타데이터, 주체, 관찰자, 보안 결과 정보를 비롯한 원시 로그의 다양한 필드를 환경 컨텍스트의 맞춤 라벨을 추가하면서 해당 UDM 필드에 매핑합니다.
Syslog를 수집하여 Google SecOps로 전송하도록 Bindplane 에이전트 구성
구성 파일에 액세스합니다.
config.yaml 파일을 찾습니다. 일반적으로 Linux에서는 /etc/bindplane-agent/ 디렉터리에 있고 Windows에서는 설치 디렉터리에 있습니다.
텍스트 편집기 (예: nano, vi, 메모장)를 사용하여 파일을 엽니다.
다음과 같이 config.yaml 파일을 수정합니다.
receivers:filelog/tomcat:include:[/path/to/tomcat/logs/access-log.*.json]start_at:beginningexporters:chronicle/chronicle_w_labels:compression:gzip# Adjust the path to the credentials file you downloaded in Step 1creds_file_path:'/path/to/ingestion-authentication-file.json'# Replace with your actual customer ID from Step 2customer_id:<customer_id>
endpoint:malachiteingestion-pa.googleapis.com# Add optional ingestion labels for better organizationlog_type:'TOMCAT'raw_log_field:bodyingestion_labels:service:pipelines:logs/source0__chronicle_w_labels-0:receivers:-filelog/tomcatexporters:-chronicle/chronicle_w_labels
로그 수준은 보안 결과 심각도, 심각도 세부정보, 작업을 결정하는 데 사용됩니다. DEBUG, INFO, AUDIT는 INFORMATIONAL 심각도 및 ALLOW 작업에 매핑됩니다. ERROR는 ERROR 심각도 및 차단 작업에 매핑됩니다. WARNING 및 WARN은 MEDIUM 심각도 및 BLOCK 작업에 매핑됩니다. 원시 log_level 값도 severity_details에 매핑됩니다.
메시지 필드는 JSON으로 파싱되며 event_message 필드는 메타데이터 설명으로 사용됩니다. 중개자 애플리케이션은 logstash으로 하드코딩되어 있습니다. 메타데이터 이벤트 유형은 USER_UNCATEGORIZED로 하드코딩됩니다. 메타데이터 로그 유형은 원시 로그의 batch.type 또는 batch.log_type에서 TOMCAT로 설정됩니다. 메타데이터 제품 이름은 Tomcat로 하드코딩됩니다. 메타데이터 공급업체 이름은 Tomcat로 하드코딩됩니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[],[],null,["# Collect Apache Tomcat logs\n==========================\n\nSupported in: \nGoogle secops [SIEM](/chronicle/docs/secops/google-secops-siem-toc)\n| **Note:** This feature is covered by [Pre-GA Offerings Terms](https://chronicle.security/legal/service-terms/) of the Google Security Operations Service Specific Terms. Pre-GA features might have limited support, and changes to pre-GA features might not be compatible with other pre-GA versions. For more information, see the [Google SecOps Technical Support Service guidelines](https://chronicle.security/legal/technical-support-services-guidelines/) and the [Google SecOps Service Specific Terms](https://chronicle.security/legal/service-terms/).\n\nThis document explains how to ingest Apache Tomcat logs to\nGoogle Security Operations using Bindplane. The parser extracts fields from\nJSON-formatted logs, transforming them into the Unified Data Model (UDM).\nIt initializes default values, parses the JSON payload, handles potential\nJSON parsing errors, and maps various fields from the raw log into\ncorresponding UDM fields, including metadata, principal, observer, and security\nresult information, while also adding custom labels for environment context.\n\nBefore you begin\n----------------\n\nMake sure you have the following prerequisites:\n\n- Google SecOps instance\n- A Windows 2016 or later, or a Linux host with `systemd`\n- If running behind a proxy, firewall [ports](/chronicle/docs/ingestion/use-bindplane-agent#verify_the_firewall_configuration) are open\n- Apache Tomcat version 9.0.70 or later\n- Write access to `$CATALINA_BASE/conf` and `$CATALINA_BASE/logs`\n\nGet Google SecOps ingestion authentication file\n-----------------------------------------------\n\n1. Sign in to the Google SecOps console.\n2. Go to **SIEM Settings \\\u003e Collection Agents**.\n3. Download the **Ingestion Authentication File**. Save the file securely on the system where Bindplane will be installed.\n\nGet Google SecOps customer ID\n-----------------------------\n\n1. Sign in to the Google SecOps console.\n2. Go to **SIEM Settings \\\u003e Profile**.\n3. Copy and save the **Customer ID** from the **Organization Details** section.\n\nInstall the Bindplane agent on the Tomcat server to collect log files\n---------------------------------------------------------------------\n\nInstall the Bindplane agent on your Windows or Linux operating system according\nto the following instructions.\n\n### Windows installation\n\n1. Open the **Command Prompt** or **PowerShell** as an administrator.\n2. Run the following command:\n\n msiexec /i \"https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi\" /quiet\n\n### Linux installation\n\n1. Open a terminal with root or sudo privileges.\n2. Run the following command:\n\n sudo sh -c \"$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)\" install_unix.sh\n\n### Additional installation resources\n\nFor additional installation options, consult the [installation guide](/chronicle/docs/ingestion/use-bindplane-agent#install_the_bindplane_agent).\n\nConfigure the Bindplane agent to ingest Syslog and send to Google SecOps\n------------------------------------------------------------------------\n\n1. Access the configuration file:\n - Locate the `config.yaml` file. Typically, it's in the `/etc/bindplane-agent/` directory on Linux or in the installation directory on Windows.\n - Open the file using a text editor (for example, `nano`, `vi`, or Notepad).\n2. Edit the `config.yaml` file as follows:\n\n receivers:\n filelog/tomcat:\n include: [ /path/to/tomcat/logs/access-log.*.json ]\n start_at: beginning\n\n exporters:\n chronicle/chronicle_w_labels:\n compression: gzip\n # Adjust the path to the credentials file you downloaded in Step 1\n creds_file_path: '/path/to/ingestion-authentication-file.json'\n # Replace with your actual customer ID from Step 2\n customer_id: \u003ccustomer_id\u003e\n endpoint: malachiteingestion-pa.googleapis.com\n # Add optional ingestion labels for better organization\n log_type: 'TOMCAT'\n raw_log_field: body\n ingestion_labels:\n\n service:\n pipelines:\n logs/source0__chronicle_w_labels-0:\n receivers:\n - filelog/tomcat\n exporters:\n - chronicle/chronicle_w_labels\n\n - Replace the `/path/to/tomcat/logs`.\n - Replace `\u003ccustomer_id\u003e` with the actual customer ID.\n - Update `/path/to/ingestion-authentication-file.json` to the path where the authentication file was saved in the [Get Google SecOps ingestion authentication file](/chronicle/docs/ingestion/default-parsers/tomcat#get-auth-file) section.\n\nRestart the Bindplane agent to apply the changes\n------------------------------------------------\n\n- To restart the Bindplane agent in **Linux**, run the following command:\n\n sudo systemctl restart bindplane-agent\n\n- To restart the Bindplane agent in **Windows** , you can either use the\n **Services** console or enter the following command:\n\n net stop BindPlaneAgent && net start BindPlaneAgent\n\nConfigure JSON Access Logs in Tomcat\n------------------------------------\n\n1. Open the Tomcat file at `$CATALINA_BASE/conf/server.xml`.\n2. Locate the **\\\u003cHost\\\u003e** tag and add this inside:\n\n \u003cValve className=\"org.apache.catalina.valves.JsonAccessLogValve\"\n directory=\"logs\"\n prefix=\"access-log\"\n suffix=\".json\"\n rotatable=\"true\"\n maxDays=\"7\"/\u003e\n\n3. Restart Tomcat to apply changes:\n\n cd /path/to/tomcat\n bin/catalina.sh stop\n bin/catalina.sh start\n\n4. A new JSON log file will appear daily (for example, `logs/access-log.2025-07-02.json`).\n\nUDM mapping table\n-----------------\n\n**Need more help?** [Get answers from Community members and Google SecOps professionals.](https://security.googlecloudcommunity.com/google-security-operations-2)"]]