GCP Apigee¶

About¶
Apigee is Google Cloud's native API management platform that can be used to build, manage, and secure APIs — for any use case, environment, or scale. Apigee offers high performance API proxies to create a consistent, reliable interface for backend services. The proxy layer gives granular control over security, rate limiting, quotas, analytics, and more.
Product Details¶
Vendor URL: GCP Apigee
Product Type: API Management
Product Tier: Tier II
Integration Method: Syslog
Integration URL: N/A
Log Guide: N/A
Log Format: JSON
Expected Normalization Rate: Near 100%
Data Label: GCP_APIGEE
UDM Fields (list of all UDM fields leveraged in the Parser):
| Log File Field | UDM Field |
|---|---|
| apigee.messageId | metadata.product_log_id |
| messageId | metadata.product_log_id |
| message | metadata.description |
| requests.requestVerb | network.http.method |
| requestVerb | network.http.method |
| statusCode | network.http.response_code |
| userAgent | network.http.user_agent |
| duration | network.session_duration.seconds |
| target_metadata.targetUrl | target.url |
| target_metadata.targetVerb | target.network.http.method |
| targetVerb | target.network.http.method |
| target_metadata.targetHost | target.host |
| targetName | target.resource.name |
| targetHost | target.hostname |
| targetUrl | target.url |
| requestHost | principal.hostname |
| requestIp | principal.ip |
| environment | principal.administrative_domain |
| environmentName | principal.administrative_domain |
| appName | principal.application |
| app | principal.application |
| developerApp | principal.application |
| organizationName | principal.network.organization_name |
| src_ip | principal.ip |
| user | principal.user.userid |
| region | principal.cloud.availability_zone |
| developerMail | principal.email |
| vhost | intermediary.hostname |
| xff | intermediary.ip |
| apiProxyName | observer.hostname |
| action | security_result.action |
| action | security_result.action_details |
| authStatus | additional.fields |
| applog | additional.fields |
| envStatus | additional.fields |
| failover-enabled | additional.fields |
| activity | additional.fields |
| parameters | additional.fields |
| traceId | additional.fields |
| apiTraceId | additional.fields |
| requestUri | additional.fields |
| requests.requestUri | additional.fields |
| latencyHeader | additional.fields |
| statusReason | additional.fields |
| flowName | additional.fields |
| reference_id | additional.fields |
| hmacApikey | additional.fields |
| apikey | additional.fields |
| signature | additional.fields |
| Auth | additional.fields |
| hmac.computed | additional.fields |
| request.header.Message-Signature | additional.fields |
| gatewayAuthId | additional.fields |
| gatewayAuthLevel | additional.fields |
| clientId | additional.fields |
Product Event Types¶
| Event | UDM Event Classification |
|---|---|
| all | GENERIC_EVENT |
Log Sample¶
{"region":"us-east-1","UAID":"uaid”,”applog":"true","src_ip”:”10.0.1.11”,”activity":"request","user”:”user_name”,”app”:"app_name",”action":"success","parameters":"parameter_value,”message":"prepaid-POST-200","messageId":"message_id_value”,”traceId”:”trace_id_value”,”organizationName":"org_name",”environmentName":"prod","developerApp”:”dev_app”,”requestVerb":"POST","requestScheme":"https","requestHost”:”10.0.1.11”,”requestIp”:”10.0.1.11”,”requestUri”:”uri_value”,”requestReceivedStartTimestamp":"1749488476027","requestReceivedEndTimestamp":"1749488476028","targetUri”:”uri_value","targetSentStartTimestamp":"1749488476038","targetSentEndTimestamp":"1749488476038","targetReceivedStartTimestamp":"1749488476110","targetReceivedEndTimestamp":"1749488476110","requestSentStartTimestamp":"1749488476111","requestSentEndTimestamp":"1749488476111","latencyTotal":"","latencyTarget":"","latencyProxy":"","latencyHeader":"72","statusCode":"200","statusReason":"OK","targetName”:”targetName_value”,”targetVerb":"POST","targetHost”:”target_host_value”,”targetUrl”:”target_url”,”authStatus":"true","envStatus":"true","failover-enabled":"false","active-active-enabled":"","platform":"","honeyPot":"","honeyPotMerchant":"","flowName":"ReadGiftBalance","failOverDeveloperApp":"","alertInstanceId":"","alertInstanceTime":"","xff”:”10.0.1.11”,”userAgent":"Apache-HttpClient/4.1.1 (Java/21.0.6)","signature": "authentication","reference_id": "d93e8bd379a54724819e4e78d4df9a5d","duration": "84","vhost": "api-xxxxxxx”,”validResponse":"","hmacRawdata":"","hmacComputed":"","hmacTimestamp":"1749488476004","hmacApikey”:”10.0.1.11”,”hmacValidation":"","hmacPayload":"","hmacError":"","hmacStacktrace":"","dbReplicationStatus":""}
Sample Parsing¶
additional.fields["activity"] = "request"
additional.fields["applog"] = "true"
additional.fields["authStatus"] = "true"
additional.fields["envStatus"] = "true"
additional.fields["failover-enabled"] = "true"
additional.fields["flowName"] = "VerifyAccount"
additional.fields["hmacApikey"] = "hmac_key_value"
additional.fields["latencyHeader"] = "1306"
additional.fields["parameters"] = "parameter_value”
additional.fields["requestUri"] = “req_uri”
additional.fields["signature"] = "authentication"
additional.fields["statusReason"] = "OK"
additional.fields["traceId"] = “trace_id_value”
intermediary.hostname = “hostname”
intermediary.ip = “10.0.1.11”
metadata.description = “desc-POST-200"
metadata.product_log_id = "log_id”
network.http.method = "POST"
network.http.response_code = 200
network.http.user_agent = "ReactorNetty/10.1”
network.session_duration = "1318s"
principal.administrative_domain = "prod"
principal.application = “app_name”
principal.asset.hostname = “10.0.1.11”
principal.asset.ip = "10.0.1.11"
principal.cloud.availability_zone = "us-1"
principal.hostname = "10.0.1.11"
principal.network.organization_name = “org_name”
principal.user.userid = “user_id”
security_result.action_details = "success"
security_result.action = "ALLOW"
target.asset.hostname = "domain.com”
target.hostname = “domain.com”
target.network.http.method = "POST"
target.resource.name = “resource_name"
target.url = "https://abc/domain.com”