Try it free

Log management and analytics

  • Latest Dynatrace
  • Reference

Log management and analytics is used for troubleshooting and monitoring your applications.

Audit logs

This section contains generic audit log information.

Query

Query audit logs in Grail.

fetch logs | filter isNotNull(audit.action)

Audit log - metadata

Categorization and information on the audit log.

AttributeTypeDescriptionExamples
audit.actionstringstable
Display name: Audit action
Audited action.
Access to Azure Resource Manager; New User Created; User added to Group
audit.identitystringstable
Display name: Audit identity
User name, service account name, or principal name that executes audited action.
name.surname@example.com
audit.resultstringstable
Display name: Audit result
Result of the audited action.
Succeeded; Failed
audit.statusstringstable
Display name: Audit status
Status of the audited action.
Started; In Progress; Succeeded; Failed; Active; Resolved
audit.timetimestampexperimental
Display name: Audit time
Timestamp of the audited action.
16/01/2025, 10:34 AM
authentication.is_multifactorbooleanexperimental
Display name: Is multifactor authentication
Reports whether the executant of the audited action has performed a multi-factor authentication.
contentstringstable
Display name: Content
Unstructured content of the record. It should contain a human-readable message. Often it is the raw version of a record read from a source.
No keepalive from datasource statsd. Restarting
event.typestringstable
Display name: Event type
The unique type identifier of a given event.
Tags: permission
LOG
log.record.uidstringexperimental
Unique identifier of the log record. Records sharing the same uid are considered duplicates and may be safely deduplicated. Two distinct log records MUST have different uid values. When logs are ingested from an external tool, this attribute will hold the original vendor log ID.
c42dbd31-17b5-4270-b1a7-824a52e0d0e9
log.sourcestringstable
Display name: Log source
The origin of the log record: a file path, URI, or equivalent stable reference to where the data was read from. 1
Tags: permission
/var/log/kube-apiserver/audit.log; s3://my-bucket/AWSLogs/123456789012/CloudTrail/; https://your-org.okta.com/api/v1/logs
loglevelstringstable
Display name: Log level
The log event severity level.
ERROR; INFO; TRACE
statusstringexperimental
Display name: Status
Overall significance of log event, derived from log level. Only INFO and NONE values are allowed.
INFO; NONE
timestamptimestampstable
Display name: Timestamp
Time (UNIX Epoch time in nanoseconds) when the event originated, typically when the event was ingested into Dynatrace.
1649822520123123123
1

This field is mandatory for all log records. Use an absolute file path for file-based ingest, an S3 URI for S3-sourced data, an HTTPS URL for API-based ingest, and the format documented by the ingest mechanism for other sources. Collectors may normalize the value to a canonical form, for example, by stripping rotation suffixes so that auth.log.1 and auth.log map to the same source, or by removing non-deterministic suffixes that change across stream rotations. AWS CloudWatch Logs appends a hash to EKS audit log stream names, producing names like kube-apiserver-audit-abc123def456abc123def456abc123def456; because that hash changes each time the stream rotates, strip it and record only the stable prefix kube-apiserver-audit. For syslog and other network-based ingest, use the most specific origin available. If the sender preserved a file path in the message, use that. If not, use the identifier the collector assigns to the listener.

Audit log - result

Information about the audited action result.

AttributeTypeDescriptionExamples
result.codelongexperimental
Display name: Result code
Error code associated with the result.
0; 50126; 400
result.detailstringexperimental
Display name: Result detail
Further details regarding the result.
The user did not enter the right credentials
result.messagestringexperimental
Display name: Result message
Brief message attached to the result.
User created successfully; Error validating credentials due to invalid username or password.

Audit log - client

Information about the client app used by the identity to perform the audit action.

AttributeTypeDescriptionExamples
client.app.namestringexperimental
Display name: Client app name
The name of the client application used to perform the request.
MS Outlook
client.ipipAddressexperimental
Display name: Client IP address
The IP address of the client that makes the request. This can be IPv4 or IPv6.
Tags: sensitive-spans sensitive-user-events
194.232.104.141; 2a01:468:1000:9::140

Audit log - actor

Information regarding the actor who peformed the audited action.

AttributeTypeDescriptionExamples
actor.geo.city.namestringexperimental
Display name: Actor city name
Name of the city from which the actor operates.
Rome
actor.geo.country.namestringexperimental
Display name: Actor country name
Name of the country from which the actor operates.
Canada
actor.geo.location.latstringexperimental
Display name: Actor geo latitude
The approximate WGS84 latitude.
45.505918
actor.geo.location.lonstringexperimental
Display name: Actor geo longitude
The approximate WGS84 longitude.
-73.614830
actor.ipsipAddress[]stable
Display name: Actor IP addresses
List of the client's IP addresses (IPv4 or IPv6) from which the actor operates.
[168.10.15.23, 2a01:468:1000:9::140]

Audit log - device

Information regarding the device used by the identity peforming the audited action.

AttributeTypeDescriptionExamples
browser.namestringresource stable
Display name: Browser name
The browser name.
Chrome
browser.versionstringresource stable
Display name: Browser version
The browser version.
Version 142.0.7444.176
device.idstringexperimental
Display name: Device ID
GUID that uniquely identifies the device which is used to perform the audited action.
11c1add1-612a-483d-8b24-cccbb35d3306
device.namestringexperimental
Display name: Device name
The name associated with the device which is used to perform the audited action.
DEVICE-HOFW9324FJN
device.os.namestringexperimental
Display name: Device OS name
Human-readable operating system name.
MacOs; Windows

Audit log - cloud provider

The cloud provider information (if any) associated with the audit logs.

AttributeTypeDescriptionExamples
cloud.providerstringresource stable
Display name: Cloud provider
Name of the cloud provider.
alibaba_cloud

Audit log - Azure tenant

The Azure tenant information (if any) associated with the audit logs.

AttributeTypeDescriptionExamples
azure.tenant.idstringresource experimental
Display name: Azure tenant ID
Unique, immutable identifier assigned to the Azure tenant.
37c4add3-612a-483d-8b24-cccbb35d3306
azure.tenant.namestringresource experimental
Display name: Azure tenant name
Name assigned to the Azure tenant.
MyAzureTenant

Audit log - AWS account

The AWS account (if any) associated with the audit logs.

AttributeTypeDescriptionExamples
aws.account.idstringresource stable
Display name: AWS account ID
The 12-digit number, such as 123456789012, that uniquely identifies an AWS account.
Tags: permission primary-field
123456789012
aws.account.namestringresource experimental
Display name: AWS account name
Name associated with the AWS account.
example.com

Audit log - GCP organization

The GCP organization (if any) associated with the audit logs.

AttributeTypeDescriptionExamples
gcp.organization.idstringresource experimental
Display name: GCP organization ID
Unique, immutable identifier assigned to an organization resource.
123456789012
gcp.organization.namestringresource experimental
Display name: GCP organization name
Name assigned to the GCP organization.
dynatrace.com

Logs

This section contains general log information. There can be additional records added both resource attributes describing source as well as log record attributes to add structured log record data.

Query

Query logs in Grail.

fetch logs

Logs fields

The log module, in certain situations, may associate multiple process group instances with a single log. This can occur when more than one process group instance opens a file in write mode or if there are multiple process group instances in a single container. In such cases, the dt.entity.process_group_instance and dt.entity.process_group may be reported as arrays. To prepare queries for such situations, use matchesValue instead of == for equality checks.

AttributeTypeDescriptionExamples
contentstringstable
Display name: Content
Unstructured content of the record. It should contain a human-readable message. Often it is the raw version of a record read from a source.
No keepalive from datasource statsd. Restarting
dt.entity.process_groupstringresource deprecated
This field is deprecated and will be removed in the future. Use dt.process_group.id or dt.process_group.detected_name instead. Note that there is no entity type PROCESS_GROUP in Smartscape, so dt.process_group.id exists only for compatibility. Preferably use dt.process_group.detected_name to identify process groups.

Display name: Process group
The entity ID of the process group that has emitted the log.
Note that the log module may report multiple values as an array if a file is opened by multiple processes or multiple processes are run in a single container. To prepare queries for such situations, use matchesValue instead of == for equality checks.
Tags: entity-id
PROCESS_GROUP-E0D8F94D9065F24F
dt.entity.process_group_instancestringresource deprecated
This field is deprecated and will be removed in the future. Use dt.smartscape.process instead.

Display name: Process group instance
The entity ID of the process group that has emitted the log.
Note that the log module may report multiple values as an array if a file is opened by multiple processes or multiple processes are run in a single container. To prepare queries for such situations, use matchesValue instead of == for equality checks.
Tags: entity-id
PROCESS_GROUP_INSTANCE-E0D8F94D9065F24F
dt.source_entitystring[]resource deprecated
This field is deprecated and will be removed in the future. Use dt.smartscape_source.id instead.

Display name: Source entity
The entity IDs of the log's source.
Note that the log module may report multiple values as an array if a file is opened by multiple processes or multiple processes are run in a single container. To prepare queries for such situations, use matchesValue instead of == for equality checks. 1
Tags: entity-id
['PROCESS_GROUP_INSTANCE-22714B95E4BF6AE0', 'PROCESS_GROUP_INSTANCE-D6DD5FF37FBEF0DF']
event.typestringstable
Display name: Event type
The unique type identifier of a given event.
Tags: permission
LOG
log.encodingstringexperimental
Data serialization format of the log record's body, such as json or xml 2
json; jsonl; xml; csv; tsv; logfmt; plaintext; kv; msgpack; cbor; bson
log.formatstringexperimental
Message format standard used to structure the log event 3
cef; leef; gelf; clef
log.iostreamstringstable
Display name: Log I/O stream
The I/O stream to which the log was emitted.
stdout; stderr
log.record.uidstringexperimental
Unique identifier of the log record. Records sharing the same uid are considered duplicates and may be safely deduplicated. Two distinct log records MUST have different uid values. When logs are ingested from an external tool, this attribute will hold the original vendor log ID.
c42dbd31-17b5-4270-b1a7-824a52e0d0e9
log.sourcestringstable
Display name: Log source
The origin of the log record: a file path, URI, or equivalent stable reference to where the data was read from. 4
Tags: permission
/var/log/kube-apiserver/audit.log; s3://my-bucket/AWSLogs/123456789012/CloudTrail/; https://your-org.okta.com/api/v1/logs
log.typestringexperimental
Normalized, technology-agnostic label that identifies the semantic type of the log record, independent of source, transport, distro, or collection method 5
kube-audit; nginx-access; aws-cloudtrail; checkpoint-firewall; okta-system; ncsa-combined; w3c
loglevelstringstable
Display name: Log level
The log event severity level.
ERROR; INFO; TRACE
ordinallongstable
The field is used to order records produced by a single source. It is monotonically increasing across successive records, but the step between values is unspecified. The field encodes only a local (source‑specific) ordering, not a global one, so it is typically used as a secondary sort key after the timestamp to preserve the original sequence when timestamp resolution is insufficient. Examples include a byte offset within the source file or the __SEQNUM field in systemd‑journald.
1479670
process.technologystring[]stable
Display name: Process technology
Technologies detected for the process.
['Java', 'Tomcat']; ['Go', 'Envoy']
span_idstringexperimental
Display name: Span ID
A unique identifier for a span within a trace. The span_id is an 8-byte id and hex-encoded if shown as a string.
f76281848bd8288c
statusstringexperimental
Display name: Status
Overall significance of log event, derived from log level. Only INFO, WARN, ERROR and NONE values are allowed.
ERROR; WARN; INFO; NONE
timestamptimestampstable
Display name: Timestamp
The time (UNIX Epoch time in nanoseconds) when the event originated, typically when the source created it. If no original timestamp is available, it will be populated at ingest time and required for all events. In the case of a correlated event (for example, ITIL events), this time could be different from the event.start time, as this time represents the actual timestamp when the "update" for the event was created.
1649822520123123123
trace_idstringexperimental
Display name: Trace ID
A unique identifier for a trace. The trace_id is a 16-byte id and hex-encoded if shown as a string.
357bf70f3c617cb34584b31bd4616af8
1

The value of this field will be based on the value of one of the dt.entity.<type> fields. This means that the dt.source_entity and dt.entity.<type> fields will both be set to the same ID.

2

Requires log.type to be set. Only set when the serialization format is not already implied by log.type. For example, log.type 'w3c' is always space-delimited plaintext by definition, so log.encoding adds nothing and should be omitted. By contrast, log.type 'kube-audit' does not mandate an encoding, so log.encoding = 'json' adds genuine information. Describes how the log body is encoded at the byte or text level, independently of the message format standard in log.format. JSON and JSONL are distinct values: JSON represents a single complete document, while JSONL (also called NDJSON or JSON Lines) places one JSON object per line and requires line-by-line parsing. This field describes the content-level serialization of the log body, not the ingestion protocol or wire format used to deliver the record to Dynatrace (see dt.ingest.format), and not character encoding such as UTF-8.

3

Requires log.type to be set. Only use when a type-agnostic container format is in use and log.type alone does not describe the structure. Identifies a named structural convention that can carry different types of events from different products without implying what the content is. CEF and LEEF are the canonical examples: a firewall and an IDS can both emit CEF carrying entirely different field vocabularies, so log.type is still needed to identify the content. Web log conventions such as clf, ncsa-combined, and w3c are excluded because they imply a content type (web server access log) and belong in log.type instead. Use log.encoding for the serialization format of the payload (for example, JSON or XML).

4

This field is mandatory for all log records. Use an absolute file path for file-based ingest, an S3 URI for S3-sourced data, an HTTPS URL for API-based ingest, and the format documented by the ingest mechanism for other sources. Collectors may normalize the value to a canonical form, for example, by stripping rotation suffixes so that auth.log.1 and auth.log map to the same source, or by removing non-deterministic suffixes that change across stream rotations. AWS CloudWatch Logs appends a hash to EKS audit log stream names, producing names like kube-apiserver-audit-abc123def456abc123def456abc123def456; because that hash changes each time the stream rotates, strip it and record only the stable prefix kube-apiserver-audit. For syslog and other network-based ingest, use the most specific origin available. If the sender preserved a file path in the message, use that. If not, use the identifier the collector assigns to the listener.

5

This field is mandatory. It is the primary classification field: if log.type fully describes the record, no further fields are needed. Add log.format only when a type-agnostic container format is in use and the type alone does not describe the structure. Add log.encoding only when the serialization is not implied by log.type (for example, log.type 'w3c' is always plaintext; setting log.encoding would be redundant). Values should be lowercase and describe the log's meaning rather than its origin technology or vendor. For example, use 'kube-audit' for Kubernetes audit logs regardless of whether they originate from EKS, GKE, AKS, or an on-prem cluster. No fixed taxonomy is enforced. Use only lowercase letters, digits, and hyphens in values. Dots, colons, and underscores are not allowed. This prevents structured separators from encoding vendor and datasource together (for example, 'aws:cloudtrail'), which is the job of product.vendor and product.name.

Related tags
Log Analytics