From dd34e0ac635a5dea41340a0f589ab7ffcad0ad80 Mon Sep 17 00:00:00 2001 From: Kim Pohas Date: Tue, 8 Jul 2025 16:10:03 -0400 Subject: [PATCH 1/7] Replace otelcol timestamp /reuse reference --- docs/reuse/apps/opentelemetry/logs-advance-option-otel.md | 5 ----- docs/reuse/apps/opentelemetry/timestamp-parsing.md | 1 + .../remote-management/source-templates/apache/index.md | 4 +++- .../remote-management/source-templates/docker/index.md | 4 +++- .../source-templates/elasticsearch/index.md | 7 ++++--- .../remote-management/source-templates/kafka/index.md | 3 ++- .../remote-management/source-templates/localfile/index.md | 3 ++- .../remote-management/source-templates/mysql/index.md | 7 ++++--- .../remote-management/source-templates/nginx/index.md | 4 +++- .../source-templates/postgresql/index.md | 8 +++++--- .../remote-management/source-templates/rabbitmq/index.md | 6 ++++-- .../remote-management/source-templates/redis/index.md | 6 ++++-- 12 files changed, 35 insertions(+), 23 deletions(-) delete mode 100644 docs/reuse/apps/opentelemetry/logs-advance-option-otel.md create mode 100644 docs/reuse/apps/opentelemetry/timestamp-parsing.md diff --git a/docs/reuse/apps/opentelemetry/logs-advance-option-otel.md b/docs/reuse/apps/opentelemetry/logs-advance-option-otel.md deleted file mode 100644 index b0e689e798..0000000000 --- a/docs/reuse/apps/opentelemetry/logs-advance-option-otel.md +++ /dev/null @@ -1,5 +0,0 @@ -**Advance options** for log collection can be used as follows: - * **Timestamp Format**. By default, Sumo Logic will automatically detect the timestamp format of your logs. However, you can manually specify a timestamp format for a source by configuring the following: - - **Timestamp locator**. Use a [Go regular expression](https://github.com/google/re2/wiki/Syntax) to match the timestamp in your logs. Ensure the regular expression includes a named capture group called `timestamp_field`. - - **Layout**. Specify the exact layout of the timestamp to be parsed. For example, `- %Y-%m-%dT%H:%M:%S.%LZ`. To learn more about the formatting rules, refer to [this guide](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/internal/coreinternal/timeutils/internal/ctimefmt/ctimefmt.go#L68). - - **Location (Time zone)**. Define the geographic location (timezone) to use when parsing a timestamp that does not include a timezone. The available locations depend on the local IANA Time Zone database. For example, `America/New_York`. See more examples [here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). diff --git a/docs/reuse/apps/opentelemetry/timestamp-parsing.md b/docs/reuse/apps/opentelemetry/timestamp-parsing.md new file mode 100644 index 0000000000..ed39646fd0 --- /dev/null +++ b/docs/reuse/apps/opentelemetry/timestamp-parsing.md @@ -0,0 +1 @@ +**Timestamp Parsing**. You can configure timestamp parsing for logs ingested using this source template. For more information, see [Timestamps, Time Zones, and Date Formats for the OpenTelemetry collector](/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference). diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/apache/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/apache/index.md index 6df2387686..9fe7afb829 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/apache/index.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/apache/index.md @@ -77,7 +77,9 @@ In this step, you will configure the yaml required for Apache Collection. Below - **Error file log path**. Enter the path to the error log file for your Apache instance. - **Fields/Metadata**. You can provide any customer fields to be tagged with the data collected. By default, sumo tags `_sourceCategory` with the value otel/apache user needs to provide the value for `webengine.cluster.name`. -**Timestamp Parsing**. You can do timestamp parsing for log ingested using this source template. For more details, refer to [Timestamps, Time Zones, and Date Formats](/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference) for OpenTelemetry collector. +import TimestampParsing from '../../../../../reuse/apps/opentelemetry/timestamp-parsing.md'; + + **Processing Rules**. You can add **processing rules** for logs/metrics collected. To learn more, refer to [Processing Rules](../../processing-rules/index.md). diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/docker/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/docker/index.md index 6abf96a306..ab63c74519 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/docker/index.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/docker/index.md @@ -77,7 +77,9 @@ In this step, you will configure the yaml required for Docker Collection. Below - **Excluded Image List**. A list of strings, [regexes](https://golang.org/pkg/regexp/), or [globs](https://github.com/gobwas/glob) whose referent container image names will not be among the queried containers for scrapping metrics. Learn more about [*excluded_images*](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/dockerstatsreceiver/README.md#configuration). - **Fields/Metadata**. You can provide any customer fields to be tagged with the data collected. By default, Sumo Logic tags `_sourceCategory` with the value otel/docker. -**Timestamp Parsing**. You can do timestamp parsing for log ingested using this source template. For more details, refer to [Timestamps, Time Zones, and Date Formats](/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference) for OpenTelemetry collector. +import TimestampParsing from '../../../../../reuse/apps/opentelemetry/timestamp-parsing.md'; + + **Processing Rules**. You can add **processing rules** for logs/metrics collected. To learn more, refer to [Processing Rules](../../processing-rules/index.md). diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/elasticsearch/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/elasticsearch/index.md index a3e0e848e8..85a4e2b0cb 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/elasticsearch/index.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/elasticsearch/index.md @@ -71,15 +71,16 @@ import CollectorInstallation from '../../../../../reuse/apps/opentelemetry/colle In this step, you will configure the yaml required for Elasticsearch collection. Below are the inputs required for configuration: - **Name**. Name of the source template. -- **Description**. Description for the source template. +- **Description**. Description for the source template. - **Log Filepath**. Location where the Elasticsearch logs are logged. Please refer to your elasticsearch.conf file. - **Endpoint**. Enter the url of the server you need to monitor. (default: `localhost:9200`). - **Username**. Enter the Elasticsearch username. - **Password Environment Variable Name**. Enter the Elasticsearch password environment variable name. - **Fields/Metadata**. You can provide any customer fields to be tagged with the data collected. By default, Sumo Logic tags `_sourceCategory` with the value otel/elasticsearch user needs to provide the value for `db.cluster.name`. -**Timestamp Parsing**. You can do timestamp parsing for log ingested using this source template. For more details, refer to [Timestamps, Time Zones, and Date Formats](/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference) for OpenTelemetry collector. +import TimestampParsing from '../../../../../reuse/apps/opentelemetry/timestamp-parsing.md'; + **Processing Rules**. You can add **processing rules** for logs/metrics collected. To learn more, refer to [Processing Rules](../../processing-rules/index.md). @@ -91,4 +92,4 @@ import DataConfiguration from '../../../../../reuse/apps/opentelemetry/data-conf :::info Refer to the [changelog](changelog.md) for information on periodic updates to this source template. -::: \ No newline at end of file +::: diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/kafka/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/kafka/index.md index accf97b331..3895753186 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/kafka/index.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/kafka/index.md @@ -68,8 +68,9 @@ In this step, you will configure the yaml required for Kafka collection. Below a - **Endpoint**. The URL of the broker endpoint (default: `localhost:9092`). - **Fields/Metadata**. You can provide any customer fields to be tagged with the data collected. By default, Sumo Logic tags `_sourceCategory` with the value otel/kafka user needs to provide the value for `webengine.cluster.name`. -**Timestamp Parsing**. You can do timestamp parsing for log ingested using this source template. For more details, refer to [Timestamps, Time Zones, and Date Formats](/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference) for OpenTelemetry collector. +import TimestampParsing from '../../../../../reuse/apps/opentelemetry/timestamp-parsing.md'; + **Processing Rules**. You can add **processing rules** for logs/metrics collected. To learn more, refer to [Processing Rules](../../processing-rules/index.md). diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/localfile/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/localfile/index.md index 38703f71e6..2be2ae2439 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/localfile/index.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/localfile/index.md @@ -55,8 +55,9 @@ In this step, you will configure the yaml required for Local File collection. Be - **Collection should begin from**. Defines where will the collection of the logs start from. Possible values are "End of File" and "Beginning of File". - **Detect messages spanning multiple lines**. You can enable this option when dealing with logs which span over multiple lines. On enabling this option you will need to specify **Boundary regex location** where you can specify if the expression defines end or start of the log line and **Expression to match message boundary** where you will define the expression. -**Timestamp Parsing**. You can do timestamp parsing for log ingested using this source template. For more details, refer to [Timestamps, Time Zones, and Date Formats](/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference) for OpenTelemetry collector. +import TimestampParsing from '../../../../../reuse/apps/opentelemetry/timestamp-parsing.md'; + **Processing Rules**. You can add processing rules for logs collected. To learn more, refer to [Processing Rules](../../processing-rules/index.md). diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/mysql/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/mysql/index.md index a2538e0c24..18ff50dced 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/mysql/index.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/mysql/index.md @@ -80,7 +80,7 @@ import CollectorInstallation from '../../../../../reuse/apps/opentelemetry/colle In this step, you will configure the yaml required for MySQL collection. Below are the inputs required for configuration: - **Name**. Name of the source template. -- **Description**. Description for the source template. +- **Description**. Description for the source template. - **Error log path**. Location where the SQL Errors are logged. Please refer to your my.cnf file. - **Slow Transaction log file path (optional)**. Location where the Slow SQL transactions are logged. Please refer to your my.cnf file. - **Endpoint**. The URL of the MySQL endpoint (default: `localhost:3306`). @@ -88,8 +88,9 @@ In this step, you will configure the yaml required for MySQL collection. Below a - **Password Environment Variable Name**. Enter the MySQL password environment variable name. - **Fields/Metadata**. You can provide any customer fields to be tagged with the data collected. By default, Sumo Logic tags `_sourceCategory` with the value otel/mysql user needs to provide the value for `db.cluster.name`. -**Timestamp Parsing**. You can do timestamp parsing for log ingested using this source template. For more details, refer to [Timestamps, Time Zones, and Date Formats](/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference) for OpenTelemetry collector. +import TimestampParsing from '../../../../../reuse/apps/opentelemetry/timestamp-parsing.md'; + **Processing Rules**. You can add **processing rules** for logs/metrics collected. To learn more, refer to [Processing Rules](../../processing-rules/index.md). @@ -101,4 +102,4 @@ import DataConfiguration from '../../../../../reuse/apps/opentelemetry/data-conf :::info Refer to the [changelog](changelog.md) for information on periodic updates to this source template. -::: \ No newline at end of file +::: diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/nginx/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/nginx/index.md index a8229b62f9..93797feb74 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/nginx/index.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/nginx/index.md @@ -76,7 +76,9 @@ In this step, you will configure the yaml required for Nginx collection. Below a - **Path to Nginx error Log file**. Enter the path to the error log file for your Nginx instance. - **Fields/Metadata**. You can provide any customer fields to be tagged with the data collected. By default sumo tags `_sourceCategory` with the value otel/nginx user needs to provide the value for `webengine.cluster.name`. -**Timestamp Parsing**. You can do timestamp parsing for log ingested using this source template. For more details, refer to [Timestamps, Time Zones, and Date Formats](/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference) for OpenTelemetry collector. +import TimestampParsing from '../../../../../reuse/apps/opentelemetry/timestamp-parsing.md'; + + **Processing Rules**. You can add **processing rules** for logs/metrics collected. To learn more, refer to [Processing Rules](../../processing-rules/index.md). diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/postgresql/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/postgresql/index.md index 6673d8c5e8..2cd7f87fb0 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/postgresql/index.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/postgresql/index.md @@ -93,13 +93,15 @@ In this step, you will configure the yaml required for PostgreSQL collection. Be - **Error Log Path**. Enter the path of the error log file for your PostgreSQL instance. - **Endpoint**. The endpoint of the PostgreSQL server. This value should be host:port. Default endpoint is `localhost:5432`. :::note - There should not be any http prefixed to this value. For example, `http://localhost:port`. + There should not be any http prefixed to this value. For example, `http://localhost:port`. ::: - **UserName**. Enter the PostgreSQL username. - **Password Environment Variable Name**. Enter the PostgreSQL password environment variable name. - **Fields/Metadata**. You can provide any customer fields to be tagged with the data collected. By default, Sumo Logic tags `_sourceCategory` with the value otel/postgresql user needs to provide the value for `db.cluster.name`. -**Timestamp Parsing**. You can do timestamp parsing for log ingested using this source template. For more details, refer to [Timestamps, Time Zones, and Date Formats](/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference) for OpenTelemetry collector. +import TimestampParsing from '../../../../../reuse/apps/opentelemetry/timestamp-parsing.md'; + + **Processing Rules**. You can add **processing rules** for logs/metrics collected. To learn more, refer to [Processing Rules](../../processing-rules/index.md). @@ -111,4 +113,4 @@ import DataConfiguration from '../../../../../reuse/apps/opentelemetry/data-conf :::info Refer to the [changelog](changelog.md) for information on periodic updates to this source template. -::: \ No newline at end of file +::: diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/rabbitmq/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/rabbitmq/index.md index 571b34d576..fdf51104c9 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/rabbitmq/index.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/rabbitmq/index.md @@ -62,12 +62,14 @@ In this step, you will configure the yaml required for Local File Collection. Be - **DenyList**. Provide path expression describing the files to be excluded. - **Endpoint**. (Default: `http://localhost:15672`.) The URL of the node to be monitored. :::note - The **Endpoint** value should have `http` at the beginning. For example, `http://localhost:port`. + The **Endpoint** value should have `http` at the beginning. For example, `http://localhost:port`. ::: - **Username**. Required. Enter the RabbitMQ username. - **Password Environment Variable Name**. Required. Enter the RabbitMQ password environment variable name. -**Timestamp Parsing**. You can do timestamp parsing for log ingested using this source template. For more details, refer to [Timestamps, Time Zones, and Date Formats](/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference) for OpenTelemetry collector. +import TimestampParsing from '../../../../../reuse/apps/opentelemetry/timestamp-parsing.md'; + + **Processing Rules**. You can add processing rules for logs collected. To learn more, refer to [Processing Rules](../../processing-rules/index.md). diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/redis/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/redis/index.md index 60948360a6..8e6b4e7cdd 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/redis/index.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/redis/index.md @@ -27,7 +27,7 @@ When you create a source template, the following [fields](/docs/manage/fields/) ### For metrics collection - Metrics for Redis are collected through OpenTelemetry [Redis receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/redisreceiver). - Receiver uses the [INFO command](https://redis.io/docs/latest/commands/info/) to get Redis statistics. -- Make sure to set the Redis user's password as an environment variable for the OpenTelemetry agent. Refer to [Setting Environment Variables with Secret Values for Source Templates](../st-with-secrets.md). +- Make sure to set the Redis user's password as an environment variable for the OpenTelemetry agent. Refer to [Setting Environment Variables with Secret Values for Source Templates](../st-with-secrets.md). ### For logs collection import LogsCollectionPrereqisites from '../../../../../reuse/apps/logs-collection-prereqisites.md'; @@ -58,7 +58,9 @@ separated by a colon. - **Username** (Optional). Enter the Redis username in case you are using a specific user for monitoring. - **Password Environment Variable Name** (Required). Enter the Redis password environment variable name. -**Timestamp Parsing**. You can do timestamp parsing for log ingested using this source template. For more details, refer to [Timestamps, Time Zones, and Date Formats](/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference) for OpenTelemetry collector. +import TimestampParsing from '../../../../../reuse/apps/opentelemetry/timestamp-parsing.md'; + + **Processing Rules**. You can add processing rules for logs collected. To learn more, refer to [Processing Rules](../../processing-rules/index.md). From 2c750a87a684d0f168dc4407871a5eea9949d920 Mon Sep 17 00:00:00 2001 From: Kim Pohas Date: Tue, 8 Jul 2025 16:29:55 -0400 Subject: [PATCH 2/7] cross-references --- .../source-templates/otrm-time-reference.md | 16 +++++++++------- .../reference-information/time-reference.md | 4 ++++ static/img/send-data/source-template-edit.png | Bin 41445 -> 41367 bytes 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md index 76d70953da..6f2dedc90a 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md @@ -1,11 +1,11 @@ --- id: otrm-time-reference -title: Timestamps, Time Zones, and Date Formats +title: Timestamps, Time Zones, Time Ranges, and Date Formats for OTRM description: Learn how Sumo Logic manages timestamps, time zones, and dates, and the configuration options that are available with OTRM source templates. keywords: - time - time reference - - time zone + - timezone - time zone --- @@ -13,15 +13,17 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import useBaseUrl from '@docusaurus/useBaseUrl'; -We support several options for timestamps, time zones, time ranges, and dates. When collecting log data, the timestamp attached to messages is vital, both for the integrity of the data in your account, and for accurate query results. +We support several options for handling timestamps, time zones, and date formats in logs ingested through our OpenTelemetry Remote Management (OTRM) source templates. + +This guide covers timestamp parsing behavior, configuration, and troubleshooting specific to OTRM. If you're using traditional Sumo Logic sources (not OTRM), refer to the general [Time Reference documentation](/docs/send-data/reference-information/time-reference/). -Because of the importance of timestamps, Sumo Logic indexes the timestamp of each message, making sure that data relevant to a query’s time range is returned properly in search results, which allows you to reconstruct a correct event timeline. +When collecting log data, the timestamp attached to messages is critical for data integrity and accurate search results. Sumo Logic indexes the timestamp of each message to ensure results fall within the query’s time range, allowing you to reconstruct event timelines reliably. ## Timestamps Timestamp is the part of a log message that marks the time that an event occurred. During ingestion, we can detect the message timestamp, convert it to Unix epoch time (the number of milliseconds since midnight, January 1, 1970 UTC), and index it. The timestamp is parsed either using the default timestamp parsing settings, or a custom format that you specify, including the time zone. -When configuring a source template, specify a custom format to parse timestamps in your log messages.  +When configuring a source template, you can specify a custom format to parse timestamps in your log messages.  :::note Currently, only `strptime` timestamps are supported in the source templates. @@ -42,7 +44,7 @@ OpenTelemetry Collectors can automatically parse most timestamps without any is 1. Perform one of the following steps: * If you're configuring a new Source template, proceed to Step 2. Or, - * To edit the timestamp settings for an existing Source template, navigate to the source template. Then click on **Edit**, to the right of the Source name and go to Step 2.
Screenshot showing the editing interface for a source template in Sumo Logic, highlighting the section for editing advanced options including timestamp settings + * To edit the timestamp settings for an existing Source template, navigate to the source template. Then click **Edit** to the right of the Source name and go to Step 2.
Screenshot showing the editing interface for a source template in Sumo Logic, highlighting the section for editing advanced options including timestamp settings 1. Navigate to the **Timestamp Parsing** section and select **Specify the format** and enter the below details: 1. **Select Timezone**. Define the geographic location (time zone) to use while parsing a timestamp that does not include a time zone. The available locations depend on the local IANA Time Zone database. For example, `America/New_York`. For more examples, refer to the [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). 1. **Format**. Specify the exact layout of the timestamp to be parsed. For example, `- %Y-%m-%dT%H:%M:%S.%LZ`. To learn more about the formatting rules, refer to [this guide](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/internal/coreinternal/timeutils/internal/ctimefmt/ctimefmt.go#L68). @@ -142,7 +144,7 @@ The following conventions are some examples of the supported formats for `strpti The following considerations apply to time zones: -We highly recommend that the time zone be set explicitly on any source template where the logs does not have a time zone available. Sumo Logic always attempts to determine the time zone for the Source. However, if that is not possible, the time zone will revert to UTC. In these cases, the time zone will be incorrect, and that could significantly affect forensic analysis and reporting. +We highly recommend that the time zone be set explicitly on any source template where the logs do not have a time zone available. Sumo Logic always attempts to determine the time zone for the Source. However, if that is not possible, the time zone will revert to UTC. In these cases, the time zone will be incorrect, and that could significantly affect forensic analysis and reporting. ### Default time zone diff --git a/docs/send-data/reference-information/time-reference.md b/docs/send-data/reference-information/time-reference.md index 82fe7a0b58..aec2c5bf06 100644 --- a/docs/send-data/reference-information/time-reference.md +++ b/docs/send-data/reference-information/time-reference.md @@ -23,6 +23,10 @@ The timestamp is the part of a log message that marks the time that an event occ When configuring a Source, you can choose to use the default timestamp parsing settings, or you can specify a custom format for us to parse timestamps in your log messages. The **Enable Timestamp Parsing** option is selected by default. If it's deselected, no timestamp information is parsed at all. Instead, we stamp logs with the time at which the messages are processed. +:::note Using OpenTelemetry Remote Management (OTRM)? +This page covers timestamp parsing for standard Sumo Logic sources. If you're using OTRM source templates, refer to [Timestamps, time zones, time ranges, and date formats for OTRM](/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference) instead. +::: + ### Timestamp considerations By default, we can automatically detect timestamps in your log messages. Automatic detection identifies timestamps in common formats and prefers timestamps that appear early in the message. diff --git a/static/img/send-data/source-template-edit.png b/static/img/send-data/source-template-edit.png index 82fcfb1568b28064e9d6397a1475d945d7d32f11..c57475ba95e4534e41c5037db1f29abecb9d6f13 100644 GIT binary patch literal 41367 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 XzcQ$lBCNS9fa`#(=WjJG$A13@WlYy( literal 41445 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 _Q(zcdo|-uIb9VCq`yS)hM?uUdP$ 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 From ad75f9da69d969118d29345a971275bf77171f63 Mon Sep 17 00:00:00 2001 From: "Kim (Sumo Logic)" <56411016+kimsauce@users.noreply.github.com> Date: Tue, 8 Jul 2025 16:31:30 -0400 Subject: [PATCH 3/7] Update docs/send-data/opentelemetry-collector/remote-management/source-templates/postgresql/index.md --- .../remote-management/source-templates/postgresql/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/postgresql/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/postgresql/index.md index 2cd7f87fb0..a9f215fe02 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/postgresql/index.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/postgresql/index.md @@ -93,7 +93,7 @@ In this step, you will configure the yaml required for PostgreSQL collection. Be - **Error Log Path**. Enter the path of the error log file for your PostgreSQL instance. - **Endpoint**. The endpoint of the PostgreSQL server. This value should be host:port. Default endpoint is `localhost:5432`. :::note - There should not be any http prefixed to this value. For example, `http://localhost:port`. + There should not be any http prefixed to this value. For example, `http://localhost:port`. ::: - **UserName**. Enter the PostgreSQL username. - **Password Environment Variable Name**. Enter the PostgreSQL password environment variable name. From 707ec72aed33dc4fbbe0020e1d1522c6dbebf9b0 Mon Sep 17 00:00:00 2001 From: "Kim (Sumo Logic)" <56411016+kimsauce@users.noreply.github.com> Date: Tue, 8 Jul 2025 16:31:39 -0400 Subject: [PATCH 4/7] Update docs/send-data/opentelemetry-collector/remote-management/source-templates/rabbitmq/index.md --- .../remote-management/source-templates/rabbitmq/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/rabbitmq/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/rabbitmq/index.md index fdf51104c9..338ea27c44 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/rabbitmq/index.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/rabbitmq/index.md @@ -62,7 +62,7 @@ In this step, you will configure the yaml required for Local File Collection. Be - **DenyList**. Provide path expression describing the files to be excluded. - **Endpoint**. (Default: `http://localhost:15672`.) The URL of the node to be monitored. :::note - The **Endpoint** value should have `http` at the beginning. For example, `http://localhost:port`. + The **Endpoint** value should have `http` at the beginning. For example, `http://localhost:port`. ::: - **Username**. Required. Enter the RabbitMQ username. - **Password Environment Variable Name**. Required. Enter the RabbitMQ password environment variable name. From 882a5f8407b5b40e0a090039884bddf5abe336b8 Mon Sep 17 00:00:00 2001 From: "Kim (Sumo Logic)" <56411016+kimsauce@users.noreply.github.com> Date: Tue, 8 Jul 2025 16:31:47 -0400 Subject: [PATCH 5/7] Update docs/send-data/opentelemetry-collector/remote-management/source-templates/redis/index.md --- .../remote-management/source-templates/redis/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/redis/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/redis/index.md index 8e6b4e7cdd..e6d982c52e 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/redis/index.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/redis/index.md @@ -27,7 +27,7 @@ When you create a source template, the following [fields](/docs/manage/fields/) ### For metrics collection - Metrics for Redis are collected through OpenTelemetry [Redis receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/redisreceiver). - Receiver uses the [INFO command](https://redis.io/docs/latest/commands/info/) to get Redis statistics. -- Make sure to set the Redis user's password as an environment variable for the OpenTelemetry agent. Refer to [Setting Environment Variables with Secret Values for Source Templates](../st-with-secrets.md). +- Make sure to set the Redis user's password as an environment variable for the OpenTelemetry agent. Refer to [Setting Environment Variables with Secret Values for Source Templates](../st-with-secrets.md). ### For logs collection import LogsCollectionPrereqisites from '../../../../../reuse/apps/logs-collection-prereqisites.md'; From d8549a39546b1883e70ae87c419d923bf16f0d1a Mon Sep 17 00:00:00 2001 From: "Kim (Sumo Logic)" <56411016+kimsauce@users.noreply.github.com> Date: Wed, 9 Jul 2025 15:44:24 -0400 Subject: [PATCH 6/7] Update docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md Co-authored-by: John Pipkin (Sumo Logic) --- .../remote-management/source-templates/otrm-time-reference.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md index 6f2dedc90a..a7f91be666 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md @@ -1,6 +1,6 @@ --- id: otrm-time-reference -title: Timestamps, Time Zones, Time Ranges, and Date Formats for OTRM +title: Timestamps, Time Zones, Time Ranges, and Date Formats for OpenTelemetry Remote Management description: Learn how Sumo Logic manages timestamps, time zones, and dates, and the configuration options that are available with OTRM source templates. keywords: - time From 426f8ca7ecde8b0408b7c21d286f830e05647f23 Mon Sep 17 00:00:00 2001 From: "Kim (Sumo Logic)" <56411016+kimsauce@users.noreply.github.com> Date: Wed, 9 Jul 2025 15:46:18 -0400 Subject: [PATCH 7/7] Update docs/reuse/apps/opentelemetry/timestamp-parsing.md Co-authored-by: John Pipkin (Sumo Logic) --- docs/reuse/apps/opentelemetry/timestamp-parsing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reuse/apps/opentelemetry/timestamp-parsing.md b/docs/reuse/apps/opentelemetry/timestamp-parsing.md index ed39646fd0..633369060c 100644 --- a/docs/reuse/apps/opentelemetry/timestamp-parsing.md +++ b/docs/reuse/apps/opentelemetry/timestamp-parsing.md @@ -1 +1 @@ -**Timestamp Parsing**. You can configure timestamp parsing for logs ingested using this source template. For more information, see [Timestamps, Time Zones, and Date Formats for the OpenTelemetry collector](/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference). +**Timestamp Parsing**. You can configure timestamp parsing for logs ingested using this source template. For more information, see [Timestamps, Time Zones, Time Ranges, and Date Formats for the OpenTelemetry Collector](/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference).