From 530324e23da8c5818184998f8cb07d3f712342ac Mon Sep 17 00:00:00 2001 From: sumoanema Date: Fri, 4 Jul 2025 12:15:00 +0530 Subject: [PATCH 1/9] Source template feature for Timestamp parsing --- .../source-templates/apache/index.md | 4 +- .../source-templates/docker/index.md | 4 +- .../source-templates/elasticsearch/index.md | 3 +- .../source-templates/kafka/index.md | 3 +- .../source-templates/localfile/index.md | 3 +- .../source-templates/mysql/index.md | 3 +- .../source-templates/nginx/index.md | 4 +- .../source-templates/otrmTimestampParsing.md | 165 ++++++++++++++++++ .../source-templates/postgresql/index.md | 4 +- .../source-templates/rabbitmq/index.md | 4 +- .../source-templates/redis/index.md | 4 +- static/img/send-data/source-template-edit.png | Bin 0 -> 41445 bytes static/img/send-data/st-timestamp-parsing.png | Bin 0 -> 196148 bytes 13 files changed, 175 insertions(+), 26 deletions(-) create mode 100644 docs/send-data/opentelemetry-collector/remote-management/source-templates/otrmTimestampParsing.md create mode 100644 static/img/send-data/source-template-edit.png create mode 100644 static/img/send-data/st-timestamp-parsing.png 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 76ad098ba7..e578ffa70b 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,9 +77,7 @@ 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`. -import OtelLogAdvanceOption from '../../../../../reuse/apps/opentelemetry/logs-advance-option-otel.md'; - - +**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/otrmTimestampParsing.md) for OpenTelemetry collector. **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 289b99a274..311079daf6 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,9 +77,7 @@ 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. -import OtelLogAdvanceOption from '../../../../../reuse/apps/opentelemetry/logs-advance-option-otel.md'; - - +**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/otrmTimestampParsing.md) for OpenTelemetry collector. **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 6cca8d5b4e..8a3e4d54df 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 @@ -78,9 +78,8 @@ In this step, you will configure the yaml required for Elasticsearch collection. - **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`. -import OtelLogAdvanceOption from '../../../../../reuse/apps/opentelemetry/logs-advance-option-otel.md'; +**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/otrmTimestampParsing.md) for OpenTelemetry collector. - **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/kafka/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/kafka/index.md index 866963a5b4..453331fbf7 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,9 +68,8 @@ 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`. -import OtelLogAdvanceOption from '../../../../../reuse/apps/opentelemetry/logs-advance-option-otel.md'; +**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/otrmTimestampParsing.md) for OpenTelemetry collector. - **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 e5eeff21dc..1bbc352e9a 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,9 +55,8 @@ 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. -import OtelLogAdvanceOption from '../../../../../reuse/apps/opentelemetry/logs-advance-option-otel.md'; +**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/otrmTimestampParsing.md) for OpenTelemetry collector. - **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 6452676a6a..827b08aff8 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 @@ -88,9 +88,8 @@ 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`. -import OtelLogAdvanceOption from '../../../../../reuse/apps/opentelemetry/logs-advance-option-otel.md'; +**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/otrmTimestampParsing.md) for OpenTelemetry collector. - **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/nginx/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/nginx/index.md index 06fb335cff..3e42f0e9e9 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,9 +76,7 @@ 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`. -import OtelLogAdvanceOption from '../../../../../reuse/apps/opentelemetry/logs-advance-option-otel.md'; - - +**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/otrmTimestampParsing.md) for OpenTelemetry collector. **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/otrmTimestampParsing.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrmTimestampParsing.md new file mode 100644 index 0000000000..f93f1d134a --- /dev/null +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrmTimestampParsing.md @@ -0,0 +1,165 @@ +--- +id: otrm-time-reference +title: Timestamps, Time Zones and Date Formats +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 + - timezone + - time zone +--- + +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. + +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. + +## Timestamps + +The 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 you can specify a custom format for us to parse timestamps in your log messages.  + +:::note +Currently only strptime timestamp are supported in source templates +::: + +### 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. + +If your log messages from a Source contain multiple timestamps, timestamps in unusual formats, or a mix of distinct timestamp formats, you have two options: +* Configure a Source template for each log format +* Configure a custom timestamp format for your Source template + +## Specifying a custom timestamp format and Timezone + +OpenTelemetry Collectors can automatically parse most timestamps without any issues. However, if you see timestamp parsing issues, you can manually specify the timestamp format in the Sumo Logic UI when configuring a new Source template or editing the timestamp information for an existing Source template. + +1. Do one of the following: + * If you're configuring a new Source template, proceed to step 2. + * 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.
Screenshot of the Timestamp parsing section for logs in Sumo Logic, focusing on the timestamp format settings +1. Select **Specify the format** options +1. **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`. +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). +1. **Select Timezone**. 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). +
Screenshot illustrating the process of specifying a custom timestamp format in the Sumo Logic UI + + +### Using _format for troubleshooting + +You can use `_format` to see how the timestamp is parsed from the log file. Assign _format an alias to return it in your search results, for example:  +```sql +| _format as timestampFormat +``` + +The fields returned in the search results of `_format` are: +```sql +t:,o:,l:,p: +``` + +where `` can take the values: +* `fail`. Failed to locate timestamp. +* `cache`. Success, cached format. +* `def`. Success, default (user-specified) format. +* `full`. Success, from "full" parsing against library of patterns. +* `none`. Local/receipt time because timestamp parsing is not enabled for this source. +* `ac1`. Auto-corrected by the "window-based" heuristic (what we call "auto-correction" today). Sumo Logic assumes that all log messages coming from a particular Source will have timestamps that are close together. If a message comes through that appears to be more than one day earlier or later than recent messages from that source, it will be auto-corrected to match the current time. You can stop this auto-correction by explicitly configuring a custom timestamp format on your Source. + For example, assume the Collector parses the timestamp "Dec **2**, 2021 2:39:58 AM". If the previously received message from that Source has a timestamp prior to "Dec **1**, 2021 2:39:58 AM" or after "Dec **3**, 2021 2:39:58 AM", the Collector will auto-correct the timestamp to the current time. +* `ac2`. Auto-corrected by the -1y, +2d heuristic. Sumo Logic assumes that all log messages coming from a particular Source will have timestamps that are within a window of -1 year through +2 days compared to the current time. Any log message with a parsed timestamp outside of that window is automatically re-stamped with the current time. + For example, assume the Collector parses the timestamp "Dec 2, **2021** 2:39:58 AM". If the previously received message from that Source is prior to "Dec 1, **2020** 2:39:58 AM" or after "Dec 4, **2021** 2:39:58 AM", the Collector will auto-correct the timestamp to the current time. + +#### Example + +When you’re troubleshooting issues related to timestamp, you can run a query similar to this to see how the timestamp is parsed: +```sql +_sourceCategory=PaloAltoNetworks +| _format as timestampformat +``` + +The result would look like this:
Screenshot showing the format parsing results, illustrating how the timestamp is parsed from a log file + +### Timestamp format examples + +The following conventions are some example of the supported formats for strptime in OpenTelemetry collector +| `strptime` Format | Example | +|-------------------|---------| +| `%Y-%m-%d'T'%H:%M:%S*%f%z` | 2023-08-20'T'13:20:10*633+0000 | +| `%Y %b %d %H:%M:%S.%f %Z` | 2024 Mar 03 05:12:41.211 PDT | +| `%b %d %H:%M:%S %z %Y` | Jan 21 18:20:11 +0000 2023 | +| `%d/%b/%Y:%H:%M:%S %z` | 19/Apr/2023:06:36:15 -0700 | +| `%b %d, %Y %l:%M:%S %p` | Dec 2, 2023 2:39:58 AM | +| `%b %d %Y %H:%M:%S` | Jun 09 2023 15:28:14 | +| `%b %d %H:%M:%S %Y` | Apr 20 00:00:35 2010 | +| `%b %d %H:%M:%S %z` | Sep 28 19:00:00 +0000 | +| `%b %d %H:%M:%S` | Mar 16 8:12:04 | +| `%Y-%m-%dT%H:%M:%S%z` | 2023-10-14T22:11:20+0000 | +| `%Y-%m-%d %H:%M:%S %z` | 2023-08-19 12:17:55 -0400 | +| `%Y-%m-%d %H:%M:%S%z` | 2023-08-19 12:17:55-0400 | +| `%Y %b %d %H:%M:%S.%f*%Z` | 2023 Apr 13 22:08:13.211*PDT | +| `%Y %b %d %l:%M:%S` | 2023 Mar 10 1:44:20 | +| `%Y-%m-%d %H:%M:%S,%f%z` | 2023-03-10 14:30:12,655+0000 | +| `%Y-%m-%d %H:%M:%S` | 2023-02-27 15:35:20 | +| `%Y-%m-%d %H:%M:%S.%f%z` | 2023-03-12 13:11:34.222-0700 | +| `%Y-%m-%d'T'%H:%M:%S.%f` | 2023-07-22'T'16:28:55.444 | +| `%Y-%m-%d'T'%H:%M:%S` | 2023-09-08'T'03:13:10 | +| `%Y-%m-%d'T'%H:%M:%S'%z` | 2023-03-12'T'17:56:22'-0700' | +| `%Y-%m-%dT%H:%M:%S.%f%z` | 2023-11-22'T'10:10:15.455 | +| `%Y-%m-%d'T'%H:%M:%S` | 2023-02-11'T'18:31:44 | +| `%Y-%m-%d*%H:%M:%S:%f` | 2023-10-30*02:47:33:899 | +| `%Y-%m-%d*%H:%M:%S` | 2023-07-04*13:23:55 | +| `%y-%m-%d %H:%M:%S,%f %z` | 23-02-11 16:47:35,985 +0000 | +| `%y-%m-%d %H:%M:%S,%f` | 23-06-26 02:31:29,573 | +| `%y-%m-%d %H:%M:%S` | 23-04-19 12:00:17 | +| `%m/%d/%y %l:%M:%S` | 06/01/23 4:11:05 | +| `%m%d%y %H:%M:%S` | 220423 11:42:35 | +| `%Y%m%d %H:%M:%S.%f` | 20230423 11:42:35.173 | +| `%m/%d/%y*%H:%M:%S` | 08/10/23*13:33:56 | +| `%m/%d/%Y*%H:%M:%S` | 11/23/2023*05:13:11 | +| `%m/%d/%y %H:%M:%S %z` | 04/23/23 04:34:22 +0000 | +| `%m/%d/%Y %H:%M:%S %z` | 10/03/2023 07:29:46 -0700 | +| `%H:%M:%S` | 11:42:35 | +| `%H:%M:%S,%f` | 11:42:35,173 | +| `%d/%b %H:%M:%S,%f` | 23/Apr 11:42:35,173 | +| `%d/%b/%Y:%H:%M:%S` | 23/Apr/2023:11:42:35 | +| `%d/%b%Y %H:%M:%S` | 23/Apr/2023 11:42:35 | +| `%d-%b-%Y %H:%M:%S` | 23-Apr-2023 11:42:35 | +| `%d-%b-%Y %H:%M:%S` | 23-Apr-2023 11:42:36 | +| `%d %b %Y %H:%M:%S` | 23 Apr 2023 11:42:35 | +| `%d %b %Y %H:%M:%S*%f` | 23 Apr 2023 10:32:35*311 | +| `%m%d_%H:%M:%S` | 0423_11:42:35 | +| `%m%d_%H:%M:%S.%f` | 0423_11:42:35.883 | +| `%q/%g/%Y %l:%M:%S %p:%f` | 8/5/2023 3:31:18 AM:234 | +| `%q/%d/%Y %I:%M:%S %p` | 9/28/2023 2:23:15 PM | + +### Time zone considerations + +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 isn’t 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 + +By default, we use the time zone from your web browser set by the operating system to display hours and minutes everywhere in our user interface. You can change the default time zone that the user interface displays by adjusting the **Default Timezone** setting on the **Preferences** page. This option overrides the time zone from your web browser, and changes how hours and minutes are displayed in the UI. But this is a personal setting, and does not change the time zone for anyone else in your organization. + +UI elements that are affected by this setting include the **Search** page **Time Range** field, the **Time** column of the **Messages** pane, Dashboards, and Anomaly Detection.  + +Changing the **Default Timezone** setting affects how the UI displays messages, but not the actual timestamp in the log message. + +For example, the following screenshot shows the time zone set to **PST** in the UI, in the **Time** column. The logs were collected from a system that was also configured to use the **PST** time zone, which is displayed in the timestamp of the **Message** column. The timestamps in both columns match as they are set to the same time zone. + +Screenshot demonstrating log timestamps displayed in Pacific Standard Time (PST) in the Sumo Logic UI + +The next screenshot shows the same search result after changing the Default Timezone setting to UTC. Now the Time column is displayed in UTC, while the Message column retains the original timestamp, in PST. + +Screenshot showing the same log timestamps now displayed in Coordinated Universal Time (UTC) after changing the default time zone setting + +In another example, if your time zone is set to **UTC**, and you share a Dashboard with another user who has their time zone set to **PST**, what will they see? + +They will see the same data, just displayed using their custom set time zone. For example, if you have a Panel that uses a time series, the timeline on the X axis of your chart is displayed in your time zone, **UTC**. The other user will see the timeline on the X axis displayed in their time zone, **PST**. But the data displayed in the chart is exactly the same. + +Screenshot comparing how dashboards display time zones differently for users with custom time zone settings, highlighting the same data shown in different time zones. \ No newline at end of file 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 bb302c87a4..31b1abf7e7 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 @@ -99,9 +99,7 @@ In this step, you will configure the yaml required for PostgreSQL collection. Be - **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`. -import OtelLogAdvanceOption from '../../../../../reuse/apps/opentelemetry/logs-advance-option-otel.md'; - - +**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/otrmTimestampParsing.md) for OpenTelemetry collector. **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/rabbitmq/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/rabbitmq/index.md index bc9eee2e4b..4da80d1835 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 @@ -67,9 +67,7 @@ In this step, you will configure the yaml required for Local File Collection. Be - **Username**. Required. Enter the RabbitMQ username. - **Password Environment Variable Name**. Required. Enter the RabbitMQ password environment variable name. -import OtelLogAdvanceOption from '../../../../../reuse/apps/opentelemetry/logs-advance-option-otel.md'; - - +**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/otrmTimestampParsing.md) for OpenTelemetry collector. **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 f32725d8d7..792a84291c 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 @@ -58,9 +58,7 @@ 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. -import OtelLogAdvanceOption from '../../../../../reuse/apps/opentelemetry/logs-advance-option-otel.md'; - - +**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/otrmTimestampParsing.md) for OpenTelemetry collector. **Processing Rules**. You can add processing rules for logs collected. To learn more, refer to [Processing Rules](../../processing-rules/index.md). diff --git a/static/img/send-data/source-template-edit.png b/static/img/send-data/source-template-edit.png new file mode 100644 index 0000000000000000000000000000000000000000..82fcfb1568b28064e9d6397a1475d945d7d32f11 GIT binary patch literal 41445 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 _Q(zcdo|-uIb9VCq`yS)hM?uUdP$ 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 literal 0 HcmV?d00001 diff --git a/static/img/send-data/st-timestamp-parsing.png b/static/img/send-data/st-timestamp-parsing.png new file mode 100644 index 0000000000000000000000000000000000000000..9194950bfe6440730d4343d2c580e62861e4ebb7 GIT binary patch literal 196148 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 Date: Mon, 7 Jul 2025 19:46:54 +0530 Subject: [PATCH 2/9] Update otrmTimestampParsing.md --- .../source-templates/otrmTimestampParsing.md | 68 +++++++++++-------- 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrmTimestampParsing.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrmTimestampParsing.md index f93f1d134a..268e15a18c 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrmTimestampParsing.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrmTimestampParsing.md @@ -19,63 +19,65 @@ Because of the importance of timestamps, Sumo Logic indexes the timestamp of e ## Timestamps -The 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. +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 you can specify a custom format for us to parse timestamps in your log messages.  +When configuring a source template, specify a custom format to parse timestamps in your log messages.  :::note -Currently only strptime timestamp are supported in source templates +Currently, only `strptime` timestamp are supported in the source templates. ::: ### 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. -If your log messages from a Source contain multiple timestamps, timestamps in unusual formats, or a mix of distinct timestamp formats, you have two options: -* Configure a Source template for each log format -* Configure a custom timestamp format for your Source template +If your log messages from a source contain multiple timestamps, timestamps in unusual formats, or a mix of distinct timestamp formats, you have two options: + +* Configure a Source template for each log format. +* Configure a custom timestamp format for your Source template. ## Specifying a custom timestamp format and Timezone OpenTelemetry Collectors can automatically parse most timestamps without any issues. However, if you see timestamp parsing issues, you can manually specify the timestamp format in the Sumo Logic UI when configuring a new Source template or editing the timestamp information for an existing Source template. -1. Do one of the following: - * If you're configuring a new Source template, proceed to step 2. - * 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. 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 1. Navigate to the **Timestamp Parsing** section.
Screenshot of the Timestamp parsing section for logs in Sumo Logic, focusing on the timestamp format settings -1. Select **Specify the format** options +1. Select **Specify the format** options, 1. **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`. 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). -1. **Select Timezone**. 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). +1. **Select Timezone**. Define the geographic location (timezone) to use while 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`. For more examples, refer to the [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
Screenshot illustrating the process of specifying a custom timestamp format in the Sumo Logic UI - ### Using _format for troubleshooting -You can use `_format` to see how the timestamp is parsed from the log file. Assign _format an alias to return it in your search results, for example:  +You can use `_format` to see how the timestamp is parsed from the log file. Assign `_format` an alias to return it in your search results, for example:  + ```sql | _format as timestampFormat ``` The fields returned in the search results of `_format` are: + ```sql t:,o:,l:,p: ``` -where `` can take the values: +where `` can take the below mentioned values: + * `fail`. Failed to locate timestamp. * `cache`. Success, cached format. * `def`. Success, default (user-specified) format. * `full`. Success, from "full" parsing against library of patterns. * `none`. Local/receipt time because timestamp parsing is not enabled for this source. -* `ac1`. Auto-corrected by the "window-based" heuristic (what we call "auto-correction" today). Sumo Logic assumes that all log messages coming from a particular Source will have timestamps that are close together. If a message comes through that appears to be more than one day earlier or later than recent messages from that source, it will be auto-corrected to match the current time. You can stop this auto-correction by explicitly configuring a custom timestamp format on your Source. - For example, assume the Collector parses the timestamp "Dec **2**, 2021 2:39:58 AM". If the previously received message from that Source has a timestamp prior to "Dec **1**, 2021 2:39:58 AM" or after "Dec **3**, 2021 2:39:58 AM", the Collector will auto-correct the timestamp to the current time. -* `ac2`. Auto-corrected by the -1y, +2d heuristic. Sumo Logic assumes that all log messages coming from a particular Source will have timestamps that are within a window of -1 year through +2 days compared to the current time. Any log message with a parsed timestamp outside of that window is automatically re-stamped with the current time. - For example, assume the Collector parses the timestamp "Dec 2, **2021** 2:39:58 AM". If the previously received message from that Source is prior to "Dec 1, **2020** 2:39:58 AM" or after "Dec 4, **2021** 2:39:58 AM", the Collector will auto-correct the timestamp to the current time. +* `ac1`. Auto-corrected by the "window-based" heuristic (what we call "auto-correction" today). Sumo Logic assumes that all log messages coming from a particular Source will have timestamps that are close together. If a message comes through that appears to be more than one day earlier or later than recent messages from that source, it will be auto-corrected to match the current time. You can stop this auto-correction by explicitly configuring a custom timestamp format on your Source. For example, assume the Collector parses the timestamp "Dec **2**, 2021 2:39:58 AM". If the previously received message from that Source has a timestamp prior to "Dec **1**, 2021 2:39:58 AM" or after "Dec **3**, 2021 2:39:58 AM", the Collector will auto-correct the timestamp to the current time. +* `ac2`. Auto-corrected by the -1y, +2d heuristic. Sumo Logic assumes that all log messages coming from a particular Source will have timestamps that are within a window of -1 year through +2 days compared to the current time. Any log message with a parsed timestamp outside of that window is automatically re-stamped with the current time. For example, assume the Collector parses the timestamp "Dec 2, **2021** 2:39:58 AM". If the previously received message from that Source is prior to "Dec 1, **2020** 2:39:58 AM" or after "Dec 4, **2021** 2:39:58 AM", the Collector will auto-correct the timestamp to the current time. #### Example When you’re troubleshooting issues related to timestamp, you can run a query similar to this to see how the timestamp is parsed: + ```sql _sourceCategory=PaloAltoNetworks | _format as timestampformat @@ -85,7 +87,8 @@ The result would look like this:
Screenshot demonstrating log timestamps displayed in Pacific Standard Time (PST) in the Sumo Logic UI The next screenshot shows the same search result after changing the Default Timezone setting to UTC. Now the Time column is displayed in UTC, while the Message column retains the original timestamp, in PST. -Screenshot showing the same log timestamps now displayed in Coordinated Universal Time (UTC) after changing the default time zone setting +Screenshot showing the same log timestamps now displayed in Coordinated Universal Time (UTC) after changing the default timezone setting -In another example, if your time zone is set to **UTC**, and you share a Dashboard with another user who has their time zone set to **PST**, what will they see? +In another example, if your timezone is set to **UTC**, and you share a Dashboard with another user who has their tim zone set to **PST**, what will they see? -They will see the same data, just displayed using their custom set time zone. For example, if you have a Panel that uses a time series, the timeline on the X axis of your chart is displayed in your time zone, **UTC**. The other user will see the timeline on the X axis displayed in their time zone, **PST**. But the data displayed in the chart is exactly the same. +They will see the same data, just displayed using their custom set timezone. For example, if you have a Panel that uses a time series, the timeline on the X axis of your chart is displayed in your timezone, **UTC**. The other user will see the timeline on the X axis displayed in their timezone, **PST**. But the data displayed in the chart is exactly the same. -Screenshot comparing how dashboards display time zones differently for users with custom time zone settings, highlighting the same data shown in different time zones. \ No newline at end of file +Screenshot comparing how dashboards display timezones differently for users with custom timezone settings, highlighting the same data shown in different timezones. From 62bce84b225437197263242d124e839fbb967a63 Mon Sep 17 00:00:00 2001 From: Alekh Nema <91047769+sumoanema@users.noreply.github.com> Date: Mon, 7 Jul 2025 20:25:51 +0530 Subject: [PATCH 3/9] Apply suggestions from code review Co-authored-by: John Pipkin (Sumo Logic) --- .../source-templates/otrmTimestampParsing.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrmTimestampParsing.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrmTimestampParsing.md index 268e15a18c..cf5778ff0e 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrmTimestampParsing.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrmTimestampParsing.md @@ -1,11 +1,11 @@ --- id: otrm-time-reference -title: Timestamps, Time Zones and Date Formats +title: Timestamps, Time Zones, and Date Formats 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 - - timezone + - time zone - time zone --- @@ -36,7 +36,7 @@ If your log messages from a source contain multiple timestamps, timestamps in un * Configure a Source template for each log format. * Configure a custom timestamp format for your Source template. -## Specifying a custom timestamp format and Timezone +## Specifying a custom timestamp format and time zone OpenTelemetry Collectors can automatically parse most timestamps without any issues. However, if you see timestamp parsing issues, you can manually specify the timestamp format in the Sumo Logic UI when configuring a new Source template or editing the timestamp information for an existing Source template. From 69b598d47dca3e410cb847af5b07747812fdc437 Mon Sep 17 00:00:00 2001 From: Jagadisha V Date: Tue, 8 Jul 2025 17:43:36 +0530 Subject: [PATCH 4/9] comments incorporated --- .../source-templates/index.md | 11 +++++ ...stampParsing.md => otrm-time-reference.md} | 43 +++++++++---------- sidebars.ts | 1 + 3 files changed, 33 insertions(+), 22 deletions(-) rename docs/send-data/opentelemetry-collector/remote-management/source-templates/{otrmTimestampParsing.md => otrm-time-reference.md} (67%) diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/index.md index 24d14d6e31..4700be505d 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/index.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/index.md @@ -86,4 +86,15 @@ In this section, we'll show you how to set up source templates for the following Thumbnail icon

Windows

Learn how to configure our OTel Windows source template.

+ +
+
+ Thumbnail icon

Timestamps, Time Zones, and Date Formats

Learn how Sumo Logic manages timestamps, time zones, and dates.

+
+
+
+
+ Thumbnail icon

Setting Environment Variables with Secret Values for Source Templates

Learn about the steps for setting environment variable with secret value.

+
+
diff --git a/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrmTimestampParsing.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md similarity index 67% rename from docs/send-data/opentelemetry-collector/remote-management/source-templates/otrmTimestampParsing.md rename to docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md index cf5778ff0e..76d70953da 100644 --- a/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrmTimestampParsing.md +++ b/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md @@ -24,7 +24,7 @@ Timestamp is the part of a log message that marks the time that an event occurre When configuring a source template, specify a custom format to parse timestamps in your log messages.  :::note -Currently, only `strptime` timestamp are supported in the source templates. +Currently, only `strptime` timestamps are supported in the source templates. ::: ### Timestamp considerations @@ -41,14 +41,13 @@ If your log messages from a source contain multiple timestamps, timestamps in un OpenTelemetry Collectors can automatically parse most timestamps without any issues. However, if you see timestamp parsing issues, you can manually specify the timestamp format in the Sumo Logic UI when configuring a new Source template or editing the timestamp information for an existing Source template. 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 -1. Navigate to the **Timestamp Parsing** section.
Screenshot of the Timestamp parsing section for logs in Sumo Logic, focusing on the timestamp format settings -1. Select **Specify the format** options, -1. **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`. -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). -1. **Select Timezone**. Define the geographic location (timezone) to use while 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`. For more examples, refer to the [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). -
Screenshot illustrating the process of specifying a custom timestamp format in the Sumo Logic UI + * 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 +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). + 1. **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`.
Screenshot of the Timestamp parsing section for logs in Sumo Logic, focusing on the timestamp format settings + ### Using _format for troubleshooting @@ -87,7 +86,7 @@ The result would look like this:
Screenshot demonstrating log timestamps displayed in Pacific Standard Time (PST) in the Sumo Logic UI -The next screenshot shows the same search result after changing the Default Timezone setting to UTC. Now the Time column is displayed in UTC, while the Message column retains the original timestamp, in PST. +The next screenshot shows the same search result after changing the Default Time zone setting to UTC. Now the Time column is displayed in UTC, while the Message column retains the original timestamp, in PST. -Screenshot showing the same log timestamps now displayed in Coordinated Universal Time (UTC) after changing the default timezone setting +Screenshot showing the same log timestamps now displayed in Coordinated Universal Time (UTC) after changing the default time zone setting -In another example, if your timezone is set to **UTC**, and you share a Dashboard with another user who has their tim zone set to **PST**, what will they see? +In another example, if your time zone is set to **UTC**, and you share a dashboard with another user who has their tim zone set to **PST**, what will they see? -They will see the same data, just displayed using their custom set timezone. For example, if you have a Panel that uses a time series, the timeline on the X axis of your chart is displayed in your timezone, **UTC**. The other user will see the timeline on the X axis displayed in their timezone, **PST**. But the data displayed in the chart is exactly the same. +They will see the same data, just displayed using their custom set time zone. For example, if you have a Panel that uses a time series, the timeline on the X axis of your chart is displayed in your time zone, **UTC**. The other user will see the timeline on the X axis displayed in their time zone, **PST**. But the data displayed in the chart is exactly the same. -Screenshot comparing how dashboards display timezones differently for users with custom timezone settings, highlighting the same data shown in different timezones. +Screenshot comparing how dashboards display time zones differently for users with custom time zone settings, highlighting the same data shown in different time zones. diff --git a/sidebars.ts b/sidebars.ts index 9d8d6fedef..af4477dc21 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -274,6 +274,7 @@ module.exports = { ] }, 'send-data/opentelemetry-collector/remote-management/source-templates/st-with-secrets', + 'send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference', ], }, { From a165adb268bd94f0ec76d4011efe073e064617d3 Mon Sep 17 00:00:00 2001 From: John Pipkin Date: Tue, 8 Jul 2025 08:26:38 -0500 Subject: [PATCH 5/9] Fix broken links --- .../remote-management/source-templates/apache/index.md | 2 +- .../remote-management/source-templates/docker/index.md | 2 +- .../remote-management/source-templates/elasticsearch/index.md | 2 +- .../remote-management/source-templates/kafka/index.md | 2 +- .../remote-management/source-templates/localfile/index.md | 2 +- .../remote-management/source-templates/mysql/index.md | 2 +- .../remote-management/source-templates/nginx/index.md | 2 +- .../remote-management/source-templates/postgresql/index.md | 2 +- .../remote-management/source-templates/rabbitmq/index.md | 2 +- .../remote-management/source-templates/redis/index.md | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) 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 e578ffa70b..e0155990ff 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,7 @@ 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/otrmTimestampParsing.md) for OpenTelemetry collector. +**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. **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 311079daf6..3bce42bc78 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,7 @@ 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/otrmTimestampParsing.md) for OpenTelemetry collector. +**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. **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 8a3e4d54df..f87f59939a 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 @@ -78,7 +78,7 @@ In this step, you will configure the yaml required for Elasticsearch collection. - **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/otrmTimestampParsing.md) for OpenTelemetry collector. +**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. **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/kafka/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/kafka/index.md index 453331fbf7..0375af8aaa 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,7 +68,7 @@ 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/otrmTimestampParsing.md) for OpenTelemetry collector. +**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. **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 1bbc352e9a..78a6e6774b 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,7 +55,7 @@ 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/otrmTimestampParsing.md) for OpenTelemetry collector. +**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. **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 827b08aff8..c72bc26fae 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 @@ -88,7 +88,7 @@ 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/otrmTimestampParsing.md) for OpenTelemetry collector. +**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. **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/nginx/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/nginx/index.md index 3e42f0e9e9..093cdae443 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,7 @@ 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/otrmTimestampParsing.md) for OpenTelemetry collector. +**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. **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 31b1abf7e7..9a5fa8a63e 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 @@ -99,7 +99,7 @@ In this step, you will configure the yaml required for PostgreSQL collection. Be - **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/otrmTimestampParsing.md) for OpenTelemetry collector. +**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. **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/rabbitmq/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/rabbitmq/index.md index 4da80d1835..64d93d4016 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 @@ -67,7 +67,7 @@ In this step, you will configure the yaml required for Local File Collection. Be - **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/otrmTimestampParsing.md) for OpenTelemetry collector. +**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. **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 792a84291c..3aaba26183 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 @@ -58,7 +58,7 @@ 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/otrmTimestampParsing.md) for OpenTelemetry collector. +**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. **Processing Rules**. You can add processing rules for logs collected. To learn more, refer to [Processing Rules](../../processing-rules/index.md). From e75b65bd77e1e5d3cca56d63baa07f64eb32b069 Mon Sep 17 00:00:00 2001 From: John Pipkin Date: Tue, 8 Jul 2025 08:34:35 -0500 Subject: [PATCH 6/9] Minor change to link text --- .../remote-management/source-templates/apache/index.md | 2 +- .../remote-management/source-templates/docker/index.md | 2 +- .../remote-management/source-templates/elasticsearch/index.md | 2 +- .../remote-management/source-templates/kafka/index.md | 2 +- .../remote-management/source-templates/localfile/index.md | 2 +- .../remote-management/source-templates/mysql/index.md | 2 +- .../remote-management/source-templates/nginx/index.md | 2 +- .../remote-management/source-templates/postgresql/index.md | 2 +- .../remote-management/source-templates/rabbitmq/index.md | 2 +- .../remote-management/source-templates/redis/index.md | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) 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 e0155990ff..6df2387686 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,7 @@ 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. +**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. **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 3bce42bc78..6abf96a306 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,7 @@ 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. +**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. **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 f87f59939a..a3e0e848e8 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 @@ -78,7 +78,7 @@ In this step, you will configure the yaml required for Elasticsearch collection. - **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. +**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. **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/kafka/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/kafka/index.md index 0375af8aaa..accf97b331 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,7 +68,7 @@ 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. +**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. **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 78a6e6774b..38703f71e6 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,7 +55,7 @@ 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. +**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. **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 c72bc26fae..a2538e0c24 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 @@ -88,7 +88,7 @@ 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. +**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. **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/nginx/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/nginx/index.md index 093cdae443..a8229b62f9 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,7 @@ 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. +**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. **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 9a5fa8a63e..6673d8c5e8 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 @@ -99,7 +99,7 @@ In this step, you will configure the yaml required for PostgreSQL collection. Be - **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. +**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. **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/rabbitmq/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/rabbitmq/index.md index 64d93d4016..571b34d576 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 @@ -67,7 +67,7 @@ In this step, you will configure the yaml required for Local File Collection. Be - **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. +**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. **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 3aaba26183..60948360a6 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 @@ -58,7 +58,7 @@ 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. +**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. **Processing Rules**. You can add processing rules for logs collected. To learn more, refer to [Processing Rules](../../processing-rules/index.md). From f6762536417abbd75a244721dfc950d8629046fe Mon Sep 17 00:00:00 2001 From: "Kim (Sumo Logic)" <56411016+kimsauce@users.noreply.github.com> Date: Wed, 9 Jul 2025 15:50:34 -0400 Subject: [PATCH 7/9] Replace otelcol timestamp /reuse reference (#5566) * Replace otelcol timestamp /reuse reference * cross-references * Update docs/send-data/opentelemetry-collector/remote-management/source-templates/postgresql/index.md * Update docs/send-data/opentelemetry-collector/remote-management/source-templates/rabbitmq/index.md * Update docs/send-data/opentelemetry-collector/remote-management/source-templates/redis/index.md * Update docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md Co-authored-by: John Pipkin (Sumo Logic) * Update docs/reuse/apps/opentelemetry/timestamp-parsing.md Co-authored-by: John Pipkin (Sumo Logic) --------- Co-authored-by: John Pipkin (Sumo Logic) --- .../opentelemetry/logs-advance-option-otel.md | 5 ----- .../apps/opentelemetry/timestamp-parsing.md | 1 + .../source-templates/apache/index.md | 4 +++- .../source-templates/docker/index.md | 4 +++- .../source-templates/elasticsearch/index.md | 7 ++++--- .../source-templates/kafka/index.md | 3 ++- .../source-templates/localfile/index.md | 3 ++- .../source-templates/mysql/index.md | 7 ++++--- .../source-templates/nginx/index.md | 4 +++- .../source-templates/otrm-time-reference.md | 16 +++++++++------- .../source-templates/postgresql/index.md | 6 ++++-- .../source-templates/rabbitmq/index.md | 4 +++- .../source-templates/redis/index.md | 4 +++- .../reference-information/time-reference.md | 4 ++++ static/img/send-data/source-template-edit.png | Bin 41445 -> 41367 bytes 15 files changed, 45 insertions(+), 27 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..633369060c --- /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, Time Ranges, 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/otrm-time-reference.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md index 76d70953da..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,11 +1,11 @@ --- id: otrm-time-reference -title: Timestamps, Time Zones, and Date Formats +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 - 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/opentelemetry-collector/remote-management/source-templates/postgresql/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/postgresql/index.md index 6673d8c5e8..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 @@ -99,7 +99,9 @@ In this step, you will configure the yaml required for PostgreSQL collection. Be - **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..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 @@ -67,7 +67,9 @@ In this step, you will configure the yaml required for Local File Collection. Be - **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..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 @@ -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). 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 9605aa25da30948cd9916de390600d0f6402099e Mon Sep 17 00:00:00 2001 From: Jagadisha V Date: Thu, 10 Jul 2025 10:15:47 +0530 Subject: [PATCH 8/9] Fixes from the comments PR:5566 --- .../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 | 3 ++- .../remote-management/source-templates/kafka/index.md | 3 ++- .../source-templates/localfile/index.md | 3 ++- .../remote-management/source-templates/mysql/index.md | 3 ++- .../remote-management/source-templates/nginx/index.md | 4 +++- .../source-templates/otrm-time-reference.md | 10 +++++----- .../source-templates/postgresql/index.md | 4 +++- .../source-templates/rabbitmq/index.md | 4 +++- .../remote-management/source-templates/redis/index.md | 4 +++- docs/send-data/reference-information/time-reference.md | 4 ++++ 14 files changed, 36 insertions(+), 20 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..2bbff8ea5d --- /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). \ No newline at end of file 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..798661db41 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 @@ -78,8 +78,9 @@ In this step, you will configure the yaml required for Elasticsearch collection. - **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). 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..b6c6559156 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 @@ -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). 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/otrm-time-reference.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/otrm-time-reference.md index 76d70953da..d94938ee2d 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 @@ -5,7 +5,7 @@ description: Learn how Sumo Logic manages timestamps, time zones, and dates, and keywords: - time - time reference - - time zone + - timezone - time zone --- @@ -15,13 +15,13 @@ 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. -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 +42,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 +142,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/opentelemetry-collector/remote-management/source-templates/postgresql/index.md b/docs/send-data/opentelemetry-collector/remote-management/source-templates/postgresql/index.md index 6673d8c5e8..81fdf8780b 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 @@ -99,7 +99,9 @@ In this step, you will configure the yaml required for PostgreSQL collection. Be - **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). 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..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 @@ -67,7 +67,9 @@ In this step, you will configure the yaml required for Local File Collection. Be - **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..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 @@ -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). 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. From 94a92a71c24aaf9d46b0d32af1040afb077dbc9c Mon Sep 17 00:00:00 2001 From: Jagadisha V Date: Thu, 10 Jul 2025 10:19:13 +0530 Subject: [PATCH 9/9] minor fixes --- .../source-templates/otrm-time-reference.md | 6 ++---- 1 file changed, 2 insertions(+), 4 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 d07d51627a..823610d6c6 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 @@ -6,7 +6,6 @@ keywords: - time - time reference - timezone - - timezone - time zone --- @@ -18,14 +17,13 @@ We support several options for handling timestamps, time zones, and date formats 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/). -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. 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. @@ -46,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).