Skip to content

Commit 77ade0c

Browse files
akhil-sumologicjpipkin1himsharma01amee-sumo
authored
Updated doc for AWS tag filters and AWSO apps (#4827)
* Updated doc for AWS tag filters * Updates from review * adding custom namespace changes * updated required terraform version * Updated doc for Subscribe Existing LogGroups by Tags * Correct alignment * updated the table and minor changes * Updated AWSO doc for rds app * Minor fix in cw metric override json * Corrected order --------- Co-authored-by: John Pipkin <[email protected]> Co-authored-by: Himanshu Sharma <[email protected]> Co-authored-by: Amee Lepcha <[email protected]>
1 parent 4307fb7 commit 77ade0c

File tree

7 files changed

+104
-19
lines changed

7 files changed

+104
-19
lines changed

docs/observability/aws/deploy-use-aws-observability/deploy-with-aws-cloudformation/index.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,11 @@ You should only install the AWS Observability apps and alerts the first time you
8989
The below tables displays the response for each text box in this section.
9090

9191
| Prompt | Guideline |
92-
|:--|:--|
92+
| :-- | :-- |
9393
| Select the kind of CloudWatch Metrics Source to create | **Note:** Switching from one type of Metrics Source to another can result in re-computation of your Root Cause Explorer anomaly detection models. This re-computation can take a couple of days to finish and meanwhile you will not get new Events of Interest (EOIs).<ul><li>**CloudWatch Metrics Source** - Creates Sumo Logic AWS CloudWatch Metrics Sources.</li><li>**Kinesis Firehose Metrics Source (Recommended)** - Creates a Sumo Logic AWS Kinesis Firehose for Metrics Source.<br/>**Note:** This new source has cost and performance benefits over the CloudWatch Metrics Source is therefore recommended.</li><li>**None** - Skips the Installation of both the Sumo Logic Sources</li></ul> |
94-
| Sumo Logic AWS Metrics Namespaces | Enter a comma-delimited list of the namespaces which will be used for both AWS CloudWatch Metrics and Inventory Sources.<br/>The default will be AWS/ApplicationELB, AWS/ApiGateway, AWS/DynamoDB, AWS/Lambda, AWS/RDS, AWS/ECS, AWS/ElastiCache, AWS/ELB, AWS/NetworkELB, AWS/SQS, AWS/SNS, and AWS/EC2.<br/> AWS/AutoScaling will be appended to Namespaces for Inventory Sources.<br/>Supported namespaces are based on the type of CloudWatch Metrics Source you have selected above. See the relevant docs for the [Kinesis Firehose Metrics Source](/docs/send-data/hosted-collectors/amazon-aws/aws-kinesis-firehose-metrics-source.md) and the [CloudWatch Metrics Source](/docs/send-data/hosted-collectors/amazon-aws/amazon-cloudwatch-source-metrics.md) for details on which namespaces they support. |
95-
| Existing Sumo Logic Metrics Source API URL | You must supply this URL if you are already collecting CloudWatch Metrics. Provide the existing Sumo Logic Metrics Source API URL. The account field will be added to the Source. For information on how to determine the URL, see [View or Download Source JSON Configuration](/docs/send-data/use-json-configure-sources/local-configuration-file-management/view-download-source-json-configuration.md). |
94+
| Sumo Logic AWS Metrics Namespaces | Enter a comma-delimited list of the namespaces which will be used for both AWS CloudWatch Metrics and Inventory Sources.<br/>The default will be AWS/ApplicationELB, AWS/ApiGateway, AWS/DynamoDB, AWS/Lambda, AWS/RDS, AWS/ECS, AWS/ElastiCache, AWS/ELB, AWS/NetworkELB, AWS/SQS, AWS/SNS, and AWS/EC2. You can provide both AWS as well as custom namespaces. <br/> AWS/AutoScaling will be appended to Namespaces for Inventory Sources.<br/>Supported namespaces are based on the type of CloudWatch Metrics Source you have selected above. See the relevant docs for the [Kinesis Firehose Metrics Source](/docs/send-data/hosted-collectors/amazon-aws/aws-kinesis-firehose-metrics-source.md) and the [CloudWatch Metrics Source](/docs/send-data/hosted-collectors/amazon-aws/amazon-cloudwatch-source-metrics.md) for details on which namespaces they support. |
95+
| Existing Sumo Logic Metrics Source API URL | You must supply this URL if you are already collecting CloudWatch Metrics. Provide the existing Sumo Logic Metrics Source API URL. The account field will be added to the Source. For information on how to determine the URL, see [View or Download Source JSON Configuration](/docs/send-data/use-json-configure-sources/local-configuration-file-management/view-download-source-json-configuration.md).|
96+
| Sumo Logic AWS Metrics Tag Filters | Provide JSON format of the namespaces with its tags values to add filters to your metrics. Use semicolons to separate multiple values for the same tag key. AWS Tag Filters will be added to the Source. See JSON format example: ```json {"AWS/ELB":{"tags":["env=prod;dev"]},"AWS/EC2":{"tags":["env=dev","creator=john"]},"AWS/RDS":{"tags":["env=prod;dev","creator=himan"]},"All":{"tags":["env=dev"]}}``` .<br/> Filters are not supported for custom metrics. |
9697

9798
## Step 6: Sumo Logic AWS ALB Log Source
9899

@@ -129,6 +130,7 @@ The below tables displays the response for each text box in this section.
129130
| Existing Sumo Logic Lambda CloudWatch Logs Source API URL | Required you already collect AWS Lambda CloudWatch logs. Provide the existing Sumo Logic AWS Lambda CloudWatch Source API URL. The account, region and namespace fields will be added to the Source. For information on how to determine the URL, see [View or Download Source JSON Configuration](/docs/send-data/use-json-configure-sources/local-configuration-file-management/view-download-source-json-configuration.md). |
130131
| Subscribe log groups to destination (lambda or kinesis firehose delivery stream) | <ul><li>**New** - Automatically subscribes new AWS Lambda log groups to Lambda, to send logs to Sumo Logic.</li><li>**Existing** - Automatically subscribes existing log groups to Lambda, to send logs to Sumo Logic.</li><li>**Both** - Automatically subscribes new and existing log groups.</li><li>**None** - Skips automatic subscription of log groups.</li></ul>|
131132
| Regex for AWS Log Groups | Default Value: **aws/(lambda\|apigateway\|rds)** <br/> With default value, log group names matching with lambda or rds will be subscribed and ingesting cloudwatch logs into sumo logic.<br/> Enter a regex for matching log group names. For more information, see [Configuring parameters](/docs/send-data/collect-from-other-data-sources/autosubscribe-arn-destination/#configuringparameters) in the *Auto-Subscribe ARN (Amazon Resource Name) Destination* topic.
133+
| Tags for filtering CloudWatch Log Groups | Enter comma separated key value pairs for filtering logGroups using tags. Ex KeyName1=string,KeyName2=string. This is optional leave it blank if tag based filtering is not needed. Visit https://help.sumologic.com/docs/send-data/collect-from-other-data-sources/autosubscribe-arn-destination/#configuringparameters |
132134

133135
:::note
134136
* Don't use forward slashes (`/`) to encapsulate the regex. While normally they are needed for raw code, it's not necessary here.

docs/observability/aws/deploy-use-aws-observability/deploy-with-terraform.md

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ System Files:
6464

6565
Before you run the Terraform script, perform the following actions on a server machine of your choice:
6666

67-
1. Install [Terraform](https://www.terraform.io/) version [0.13.0](https://releases.hashicorp.com/terraform/) or later. To check the installed Terraform version, run the following command:
67+
1. Install [Terraform](https://www.terraform.io/) version [1.6.0](https://releases.hashicorp.com/terraform/) or later. To check the installed Terraform version, run the following command:
6868
```bash
6969
$ terraform --version
7070
```
@@ -647,7 +647,7 @@ The following table provides a list of all source parameters and their default v
647647
### Configure collection of CloudWatch metrics
648648
649649
:::note
650-
To migrate CloudWatch Metrics Source to Kinesis Firehose Metrics Source using Terraform, refer to [Migration Strategy using Terraform](/docs/observability/aws/deploy-use-aws-observability/migration-strategy-using-terraform).
650+
To migrate from legacy CloudWatch Metrics Source to Kinesis Firehose Metrics Source using Terraform, refer to [Migration Strategy using Terraform](/docs/observability/aws/deploy-use-aws-observability/migration-strategy-using-terraform).
651651
:::
652652
653653
#### collect_cloudwatch_metrics
@@ -676,7 +676,7 @@ collect_cloudwatch_metrics = "Kinesis Firehose Metrics Source"
676676
677677
Provide details for the Sumo Logic CloudWatch Metrics source. If not provided, then defaults will be used.
678678
679-
* `limit_to_namespaces`. Enter a comma-delimited list of the namespaces which will be used for both AWS CloudWatch Metrics Source.
679+
* `limit_to_namespaces`. Enter a comma-delimited list of the namespaces which will be used for both AWS CloudWatch Metrics Source. You can provide both AWS and custom namespaces.
680680
681681
Supported namespaces are based on the type of CloudWatch Metrics Source you have selected above. See the relevant docs for the [Kinesis Firehose Metrics Source](/docs/send-data/hosted-collectors/amazon-aws/aws-kinesis-firehose-metrics-source) and the [CloudWatch Metrics Source](/docs/send-data/hosted-collectors/amazon-aws/amazon-cloudwatch-source-metrics) for details on which namespaces they support.
682682
@@ -703,7 +703,8 @@ Supported namespaces are based on the type of CloudWatch Metrics Source you have
703703
"AWS/NetworkELB",
704704
"AWS/SQS",
705705
"AWS/SNS"
706-
],
706+
],
707+
"tag_filters": [],
707708
"source_category": "aws/observability/cloudwatch/metrics",
708709
"source_name": "CloudWatch Metrics (Region)"
709710
}
@@ -713,8 +714,8 @@ Supported namespaces are based on the type of CloudWatch Metrics Source you have
713714
714715
The following override example collects only DynamoDB and Lambda namespaces with source_category set to `"aws/observability/cloudwatch/metrics/us-east-1"`:
715716
716-
```json
717-
Cloudwatch_metrics_source_details = {
717+
```json title="cloudwatch_metrics_source_details"
718+
cloudwatch_metrics_source_details = {
718719
"bucket_details": {
719720
"bucket_name": "",
720721
"create_bucket": true,
@@ -724,13 +725,27 @@ Cloudwatch_metrics_source_details = {
724725
"fields": {},
725726
"limit_to_namespaces": [
726727
"AWS/DynamoDB",
727-
"AWS/Lambda"
728-
],
728+
"AWS/Lambda",
729+
"CWAgent"
730+
],
731+
"tag_filters": [{
732+
"type":"TagFilters",
733+
"namespace" : "AWS/DynamoDB",
734+
"tags": ["env=prod;dev"]
735+
},{
736+
"type": "TagFilters",
737+
"namespace": "AWS/Lambda",
738+
"tags": ["env=prod"]
739+
}],
729740
"source_category": "aws/observability/cloudwatch/metrics/us-east-1",
730741
"source_name": "CloudWatch Metrics us-east-1"
731742
}
732743
```
733744
745+
:::note
746+
All namespaces specified in `tag_filters` must be included in `limit_to_namespaces`. Filters are not supported for custom metrics.
747+
:::
748+
734749
#### cloudwatch_metrics_source_url
735750
736751
Use this parameter if you are already collecting CloudWatch Metrics and want to use an existing Sumo Logic Collector Source. You need to provide the URL of the existing Sumo Logic CloudWatch Metrics Source. If the URL is for a AWS CloudWatch Metrics source, the "account" and "accountid" metadata fields will be added to the Source. If the URL is for the Kinesis Firehose for Metrics source, the "account" field will be added to the Source. For information on how to determine the URL, see [View or Download Source JSON Configuration](/docs/send-data/use-json-configure-sources/local-configuration-file-management/view-download-source-json-configuration).
@@ -1243,23 +1258,26 @@ auto_enable_logs_subscription="New"
12431258
12441259
### auto_enable_logs_subscription_options
12451260
1246-
`filter`. Enter regex for matching logGroups for AWS Lambda only. The regex will check the name. See [Configuring Parameters](/docs/send-data/collect-from-other-data-sources/autosubscribe-arn-destination).
1261+
* `filter`. Enter regex for matching logGroups for AWS Lambda only. The regex will check the name. See [Configuring Parameters](/docs/send-data/collect-from-other-data-sources/autosubscribe-arn-destination/#configuringparameters).
1262+
* `tags_filter`. Enter comma separated key value pairs for filtering logGroups using tags. Ex KeyName1=string,KeyName2=string. This is optional leave it blank if tag based filtering is not needed. See [Configuring Parameters](/docs/send-data/collect-from-other-data-sources/autosubscribe-arn-destination/#configuringparameters)
12471263
12481264
**Default value:**
12491265
12501266
```json
12511267
{
1252-
"filter": "apigateway|lambda|rds"
1268+
"filter": "apigateway|lambda|rds",
1269+
"tags_filter": ""
12531270
}
12541271
```
12551272
1256-
**Default JSON:**
1273+
**Override Example JSON:**
12571274
12581275
The following example includes all log groups that match `"lambda-cloudwatch-logs"`:
12591276
12601277
```
12611278
auto_enable_logs_subscription_options = {
12621279
"filter": "lambda-cloudwatch-logs"
1280+
"tags_filter": "Environment=Production,Application=MyApp"
12631281
}
12641282
```
12651283

docs/observability/aws/integrations/amazon-rds.md

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl';
1111

1212
[Amazon Relational Database Service (Amazon RDS)](https://aws.amazon.com/rds/) is a managed database service, optimized to run in the cloud. The RDS Amazon Web Service (AWS) simplifies the setup, operation, and scaling of relational database instances for use in applications throughout your infrastructure.
1313

14-
The Sumo Logic Amazon RDS app dashboards provide visibility into the performance and operations of your Amazon Relational Database Service (RDS). Preconfigured dashboards allow you to monitor critical metrics of your RDS instance(s) or cluster(s) including CPU, memory, storage, network transmits and receive throughput, read and write operations, database connection count, disk queue depth, and more. CloudTrail Audit dashboards help you monitor activities performed on your RDS infrastructure. MySQL Logs dashboards helps you monitor database errors, slow queries, audit sql queries and generic activities. PostgreSQL logs dashboard help you to monitor database errors, slow queries, database security, and query execution timings. MSSQL Logs dashboards helps you monitor error logs and basic infrastructure details.
14+
The Sumo Logic Amazon RDS app dashboards provide visibility into the performance and operations of your Amazon Relational Database Service (RDS). Preconfigured dashboards allow you to monitor critical metrics of your RDS instance(s) or cluster(s) including CPU, memory, storage, network transmits and receive throughput, read and write operations, database connection count, disk queue depth, and more. CloudTrail Audit dashboards help you monitor activities performed on your RDS infrastructure. MySQL Logs dashboards helps you monitor database errors, slow queries, audit sql queries and generic activities. PostgreSQL logs dashboard help you to monitor database errors, slow queries, database security, and query execution timings. MSSQL Logs dashboards helps you monitor error logs and basic infrastructure details. Oracle CloudTrail and CloudWatch Logs dashboards provide monitoring for error logs and essential infrastructure details.
1515

1616
## Log and metrics types
1717

@@ -21,6 +21,7 @@ The Amazon RDS app uses the following logs and metrics:
2121
* [Publishing RDS CloudWatch Logs, RDS Database logs for Aurora MySQL, RDS MySQL, MariaDB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.MySQLDB.PublishtoCloudWatchLogs.html).
2222
* [Publishing RDS CloudWatch logs, RDS Database logs for Aurora PostgreSQL, and RDS PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.PostgreSQL.html#USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs)
2323
* [Publishing RDS CloudWatch logs, RDS Database logs for RDS MSSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.SQLServer.html#USER_LogAccess.SQLServer.PublishtoCloudWatchLogs)
24+
* [Publishing RDS CloudWatch logs, RDS Database logs for RDS Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.Oracle.html#USER_LogAccess.Oracle.PublishtoCloudWatchLogs)
2425
### Sample CloudTrail log message
2526

2627
<details>
@@ -271,6 +272,35 @@ account=* region=* namespace=aws/rds dbidentifier=* _sourceHost=/aws/rds/*Error
271272
| sort by _timeslice
272273
```
273274
275+
```sql title="Engine and Its DB Instance (Oracle CloudTrail log based)"
276+
account=* region=* namespace=aws/rds "\"eventSource\":\"rds.amazonaws.com\"" !errorCode
277+
| json "eventTime", "eventName", "eventSource", "awsRegion", "userAgent", "recipientAccountId", "userIdentity", "requestParameters", "responseElements", "errorCode", "errorMessage", "requestID", "sourceIPAddress" as eventTime, event_name, event_source, Region, user_agent, accountId1, userIdentity, requestParameters, responseElements, error_code, error_message, requestID, src_ip nodrop
278+
| where event_source = "rds.amazonaws.com"
279+
| json "requestParameters.engine", "responseElements.engine" as engine1, engine2 nodrop
280+
| if (!isEmpty(engine1), engine1, engine2) as engine
281+
| where !isEmpty(engine) and engine contains "oracle"
282+
| json field=userIdentity "accountId", "arn", "userName", "type" as accountId, arn, username, type nodrop
283+
| parse field=arn ":assumed-role/*" as user nodrop | parse field=arn "arn:aws:iam::*:*" as accountId, user nodrop
284+
| json field=requestParameters "dBInstanceIdentifier", "resourceName", "dBClusterIdentifier" as dBInstanceIdentifier1, resourceName, dBClusterIdentifier1 nodrop
285+
| json field=responseElements "dBInstanceIdentifier" as dBInstanceIdentifier3 nodrop
286+
| parse field=resourceName "arn:aws:rds:*:db:*" as f1, dBInstanceIdentifier2 nodrop
287+
| if (resourceName matches "arn:aws:rds:*:db:*", dBInstanceIdentifier2, if (!isEmpty(dBInstanceIdentifier1), dBInstanceIdentifier1, dBInstanceIdentifier3) ) as dBInstanceIdentifier
288+
| where !isEmpty(dBInstanceIdentifier)
289+
| count as freq by engine, dBInstanceIdentifier
290+
| sort by dBInstanceIdentifier, engine asc
291+
| fields -freq
292+
```
293+
294+
295+
```sql title="ORA Messages Over Time (Oracle CloudWatch log based)"
296+
account=* region=* namespace=aws/rds dbidentifier=* _sourceHost=/aws/rds/*alert ORA-*
297+
| json "message" nodrop | if (_raw matches "{*", message, _raw) as message
298+
| parse regex field=message "(?<oraerr>ORA-\d{5}): (?<oramsg>.*)" multi
299+
| timeslice 1s
300+
| count as eventCount by oraerr, _timeslice
301+
| transpose row _timeslice column oraerr
302+
```
303+
274304
## Viewing the RDS dashboards
275305
276306
import FilterDashboards from '../../../reuse/filter-dashboards.md';
@@ -542,3 +572,36 @@ Use this dashboard to:
542572
* Track recent terminations of SQL Server instances and monitor the creation of new databases.
543573
544574
<img src={useBaseUrl('img/integrations/amazon-aws/Amazon-RDS-MSSQL-Logs-Error-Logs-Infrastructure-Overview.png')} style={{ border: '1px solid gray' }} alt="Amazon RDS dashboard" />
575+
576+
577+
### 20. Oracle Logs - Alert Logs Analysis
578+
579+
The **Amazon RDS - Oracle Logs - Alert Logs Analysis** dashboard provides details on Oracle errors, including counts of various error types, ORA messages, Oracle instance states, and other data derived from the Oracle Alert log.
580+
581+
Use this dashboard to:
582+
* Monitor Amazon Oracle RDS errors through CloudWatch Events.
583+
* Monitor ORA and TNS message events.
584+
* Monitor log switch activities, archival errors, tablespace extension issues, failures, warnings, and errors occurring on the Oracle RDS instance.
585+
586+
<img src={useBaseUrl('img/integrations/amazon-aws/Amazon-RDS-Oracle-Logs-Alert-Logs-Analysis.png')} style={{ border: '1px solid gray' }} alt="Amazon RDS dashboard" />
587+
588+
### 21. Oracle Logs - Audit Logs Analysis
589+
590+
The **Amazon RDS - Oracle Logs - Audit Logs Analysis** dashboard provides details on syslog audit trail, including successful and failed activities, and top usage by client, database user, and privileges used.
591+
592+
Use this dashboard to:
593+
* Monitor successful and failed Amazon Oracle RDS events.
594+
* Monitor top usage by client, database user, and privileges on Oracle RDS instance.
595+
596+
<img src={useBaseUrl('img/integrations/amazon-aws/Amazon-RDS-Oracle-Logs-Audit-Logs-Analysis.png')} style={{ border: '1px solid gray' }} alt="Amazon RDS dashboard" />
597+
598+
599+
### 22. Oracle Logs - Listener Troubleshooting
600+
601+
The **Amazon RDS - Oracle Logs - Listener Troubleshooting** dashboard provides insights into Oracle listener process activity, including database connections by host and application, connection failures, command execution statuses and trends, and additional data from the Oracle Listener log.
602+
603+
Use this dashboard to:
604+
* Monitor listener process activity on Oracle RDS instance.
605+
* Monitor database connections by host and application, track connection failures, analyze command execution statuses and trends, and gather insights from the Oracle Listener log.
606+
607+
<img src={useBaseUrl('img/integrations/amazon-aws/Amazon-RDS-Oracle-Logs-Listener-Troubleshooting.png')} style={{ border: '1px solid gray' }} alt="Amazon RDS dashboard" />

0 commit comments

Comments
 (0)