Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion blog-cse/2023/12-31.md
Original file line number Diff line number Diff line change
Expand Up @@ -1021,7 +1021,7 @@ Automations (and other objects) are accessible through the **Configuration** men

Automation results are accessible from Insight and Entity detail pages.

**The Insight Enrichment Server and the Actions functionality in Cloud SIEM, which is replaced by the Automation Service, will be deprecated on November 30, 2023.** Until then, they will continue to be fully supported and operational. To aid in migration, all current Enrichment Server examples and Actions have equivalent actions and playbooks in the Automation Service. In addition, through the Bridge, customers can execute any existing Powershell script currently connected to the Insight Enrichment Server.
**The Insight Enrichment Server and the Actions functionality in Cloud SIEM, which is replaced by the Automation Service, will be deprecated on November 30, 2023.** Until then, they will continue to be fully supported and operational. To aid in migration, all current Enrichment Server examples and Actions have equivalent actions and playbooks in the Automation Service. In addition, through the Bridge, customers can execute any existing PowerShell script currently connected to the Insight Enrichment Server.

:::note
The Automation Service currently has **Limited Availability**. This means that it is fully functional and supported in production environments, but not automatically deployed to every customer. If you would like it deployed to your environment, please contact Sumo Logic and we will enable it for you.
Expand Down
2 changes: 1 addition & 1 deletion blog-service/2017/12-31.md
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ Bug Fix - In-product notification icons now display correctly.
---
## September 11, 2017

**Azure Audit**. [The Sumo Logic App for Azure Audit](/docs/integrations/microsoft-azure/audit) is now updated to include the Activity Logs from Event Hub, along with the existing collection from Azure Insight API using Sumo Powershell scripts. For more details, see [collect logs for Azure Audit from Event Hub](/docs/integrations/microsoft-azure/audit). All the pre-configured dashboards in the App, except the Azure Audit - Active Directory dashboard, support logs from both Event Hub and Insight API. This update also includes minor bug fixes and query optimization.
**Azure Audit**. [The Sumo Logic App for Azure Audit](/docs/integrations/microsoft-azure/audit) is now updated to include the Activity Logs from Event Hub, along with the existing collection from Azure Insight API using Sumo PowerShell scripts. For more details, see [collect logs for Azure Audit from Event Hub](/docs/integrations/microsoft-azure/audit). All the pre-configured dashboards in the App, except the Azure Audit - Active Directory dashboard, support logs from both Event Hub and Insight API. This update also includes minor bug fixes and query optimization.

---
## September 1, 2017
Expand Down
2 changes: 1 addition & 1 deletion blog-service/2024-01-15-active-directory-app-update.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ If you have only the **[Active Directory JSON - OpenTelemetry](/docs/integration
- key: `sumo.datasource`
- value: `windows`
- action: `insert`
1. Restart the collector by using the following Powershell command `Restart-Service -Name OtelcolSumo`.
1. Restart the collector by using the following PowerShell command `Restart-Service -Name OtelcolSumo`.

If you have both the **[Windows - OpenTelemetry](/docs/integrations/hosts-operating-systems/opentelemetry/windows-opentelemetry)** and **[Active Directory JSON - OpenTelemetry](/docs/integrations/microsoft-azure/opentelemetry/active-directory-json-opentelemetry)** apps installed, you should remove the Active Directory OTEL YAML configuration from your machine to prevent double data ingestion. When upgrading the Active Directory app, there's no need to set up a new collection.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ For example, you can create a scheduled search that triggers an Azure function w

First, create an HTTP-triggered Azure function. For more information, see [Azure Functions HTTP triggers and bindings overview](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook?tabs=in-process%2Cfunctionsv2&pivots=programming-language-csharp).

1. Create an Azure function using the template **HttpTrigger-Powershell**.
1. Create an Azure function using the template **HttpTrigger-PowerShell**.
1. Copy and paste code of the Azure function into the code field. The following example is an HTTP-triggered PowerShell function:
```
$requestBody = Get-Content $req -Raw | ConvertFrom-Json
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import ApmTrace from '../../../../../reuse/apm-traces-layer-order.md';

This document covers how to install and configure OpenTelemetry distributed tracing for AWS Lambda functions based on NodeJS and send the data to Sumo Logic.

To obtain tracing data from AWS Lambda functions developed in Node.js you can use [Sumo Logic Distribution for OpenTelemetry NodeJS Lambda](https://github.com/SumoLogic/sumologic-otel-lambda/tree/main/nodejs). It provides auto instrumentation.
To obtain tracing data from AWS Lambda functions developed in Node.js, you can use [Sumo Logic Distribution for OpenTelemetry NodeJS Lambda](https://github.com/SumoLogic/sumologic-otel-lambda/tree/main/nodejs), which provides auto-instrumentation.

**Sumo Logic OTel NodeJS Lambda layer supports:**

Expand All @@ -30,40 +30,24 @@ It is very simple to instrument your AWS NodeJS Lambda function using the Sumo L
* Sumo Logic OTLP/HTTP Source endpoint URL - To send spans from the instrumented Lambda function to Sumo Logic you need an endpoint URL from an existing or new [OTLP/HTTP source](/docs/send-data/hosted-collectors/http-source/otlp).

1. Navigate to [functions](https://console.aws.amazon.com/lambda/home#/functions) in the AWS Lambda Console and open the function you want to instrument.

1. Navigate to the **Layers** section and click **Add a layer**.

1. In the **Choose a layer** menu, select **Specify an ARN** and paste the ARN ID for your Lambda function AWS Region. Reference the [amd64](#sumo-logic-distro-lambda-layers-for-aws-region---amd64-x86_64-architecture) and [arm64](#sumo-logic-distro-lambda-layers-for-aws-region---arm64-arm-architecture) tables for the ARN ID.

<img src={useBaseUrl('img/traces/lambda-nodejs1.png')} alt="Choose a layer" style={{border: '1px solid gray'}} width="800" />

1. Ensure the AWS Distro layer is present in the Layers section:

<img src={useBaseUrl('img/traces/lambda-nodejs2.png')} alt="Layers section" style={{border: '1px solid gray'}} width="800" />

1. In the **Choose a layer** menu, select **Specify an ARN** and paste the ARN ID for your Lambda function AWS Region. Reference the [amd64](#sumo-logic-distro-lambda-layers-for-aws-region---amd64-x86_64-architecture) and [arm64](#sumo-logic-distro-lambda-layers-for-aws-region---arm64-arm-architecture) tables for the ARN ID. <br/> <img src={useBaseUrl('img/traces/lambda-nodejs1.png')} alt="Choose a layer" style={{border: '1px solid gray'}} width="800" />
1. Ensure the AWS Distro layer is present in the Layers section: <br/> <img src={useBaseUrl('img/traces/lambda-nodejs2.png')} alt="Layers section" style={{border: '1px solid gray'}} width="800" />
:::note
<ApmTrace/>
:::

1. Navigate to the **Configuration > Environment variables** section and set up the following environment variables (the first are three **required**):

* `AWS_LAMBDA_EXEC_WRAPPER = /opt/otel-handler` - Enables auto-instrumentation.
* `OTEL_TRACES_SAMPLER = always_on` - Enables traces sampling.
* `OTEL_SERVICE_NAME = YOUR_SERVICE_NAME` - Ensure you define it as a string value that represents the function name and its business logic such as "Check SQS Lambda". This will appear as the tracing service name in Sumo Logic.
* `OTEL_RESOURCE_ATTRIBUTES` - Sets OpenTelemetry resources. Add the `deployment.environment=[environment-name]` tag as needed to allow for filtering by environment on dashboard panels. (For more information, see [Services Dashboard Panels](/docs/apm/traces/services-list-map#services-dashboard-panels)). Tracing `application` and `cloud.account.id` are set with the `OTEL_RESOURCE_ATTRIBUTES` environment variable:

* `application=YOUR_APPLICATION_NAME` - the string value, if the function is a part of complex system/application then set it for all other functions/applications.
* `cloud.account.id=YOUR_CLOUD_ACCOUNT_ID` - set an additional tag that will contain your [AWS Lambda Account ID](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). This will help to provide more relevant data. 

All of the attributes above are comma separated key/value pairs (this is also a way to add additional information to the spans, just after comma add additional key=value pair) such as, `OTEL_RESOURCE_ATTRIBUTES=application=YOUR_APPLICATION_NAME,cloud.account.id=123456789012`.

* `AWS_LAMBDA_EXEC_WRAPPER = /opt/otel-handler`. Enables auto-instrumentation.
* `OTEL_TRACES_SAMPLER = always_on`. Enables traces sampling.
* `OTEL_SERVICE_NAME = YOUR_SERVICE_NAME`. Ensure you define it as a string value that represents the function name and its business logic such as "Check SQS Lambda". This will appear as the tracing service name in Sumo Logic.
* `OTEL_RESOURCE_ATTRIBUTES`. Sets OpenTelemetry resources. Add the `deployment.environment=[environment-name]` tag as needed to allow for filtering by environment on dashboard panels. (For more information, see [Services Dashboard Panels](/docs/apm/traces/services-list-map#services-dashboard-panels)). Tracing `application` and `cloud.account.id` are set with the `OTEL_RESOURCE_ATTRIBUTES` environment variable:
* `application=YOUR_APPLICATION_NAME`. the string value, if the function is a part of complex system/application then set it for all other functions/applications.
* `cloud.account.id=YOUR_CLOUD_ACCOUNT_ID`. set an additional tag that will contain your [AWS Lambda Account ID](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). This will help to provide more relevant data. All of the attributes above are comma separated key/value pairs (this is also a way to add additional information to the spans, just after comma add additional key=value pair) such as: `OTEL_RESOURCE_ATTRIBUTES=application=YOUR_APPLICATION_NAME,cloud.account.id=123456789012`.
* `SUMO_OTLP_HTTP_ENDPOINT_URL` has to be set to send all gathered telemetry data to Sumo Logic. The URL comes from an [OTLP/HTTP source](/docs/send-data/hosted-collectors/http-source/otlp). You can use an existing Source or create a new one, if needed.
:::note
The `SUMOLOGIC_HTTP_TRACES_ENDPOINT_URL` environment variable is deprecated. You'll need to switch from the HTTP Traces Source to [OTLP/HTTP source](/docs/send-data/hosted-collectors/http-source/otlp) and use the `SUMO_OTLP_HTTP_ENDPOINT_URL` environment variable instead.
:::

<img src={useBaseUrl('img/traces/lambda-nodejs3.png')} alt="Environment variables" style={{border: '1px solid gray'}} width="800" />

1. Your function should be successfully instrumented. Invoke the function and find your traces in the [Sumo Logic Tracing screen](/docs/apm/traces/view-and-investigate-traces).

### Sumo Logic Distro Lambda layers for AWS Region - amd64 (x86_64) architecture
Expand Down Expand Up @@ -112,18 +96,17 @@ The following are the Sumo Logic OTel Lambda layers for AWS Region for arm64.
| us-east-2 | arn:aws:lambda:us-east-2:663229565520:layer:sumologic-otel-lambda-nodejs-arm64-v1-17-2:1 |
| us-west-2 | arn:aws:lambda:us-west-2:663229565520:layer:sumologic-otel-lambda-nodejs-arm64-v1-17-2:1 |

## Sumo Logic OTel Lambda container instrumentation
## Sumo Logic Distribution for OpenTelemetry Lambda container instrumentation

[Sumo Logic Distribution for OpenTelemetry Lambda Layer version 1.17.2](https://github.com/SumoLogic/sumologic-otel-lambda/tree/release-nodejs-v1.17.2/nodejs) also provides packed [OpenTelemetry NodeJS](https://github.com/open-telemetry/opentelemetry-js) libraries for container based Lambda functions.
[Sumo Logic Distribution for OpenTelemetry Lambda Layer version 1.17.2](https://github.com/SumoLogic/sumologic-otel-lambda/tree/release-nodejs-v1.17.2/nodejs) also provides packed [OpenTelemetry NodeJS](https://github.com/open-telemetry/opentelemetry-js) libraries for container-based Lambda functions.

:::note
The instructions below support only [AWS Base Images for Lambda](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-images.html).
:::

### Container based lambda requirements
### Container-based lambda requirements

Instrumentation of container based AWS Lambda function requires some
changes in the Dockerfile and image rebuild. You'll need the following:
Instrumentation of container-based AWS Lambda function requires some changes in the Dockerfile and image rebuild. You'll need the following:

* Docker
* NodeJS v16.x or newer
Expand All @@ -132,57 +115,43 @@ changes in the Dockerfile and image rebuild. You'll need the following:
### Lambda function image changes

1. Download and extract Sumo Logic OTel Lambda archive with instrumentation packages specific for your architecture - [amd64 (x86_64)](https://github.com/SumoLogic/sumologic-otel-lambda/releases/download/nodejs-v1.17.2/opentelemetry-nodejs-amd64.zip) or [arm64](https://github.com/SumoLogic/sumologic-otel-lambda/releases/download/nodejs-v1.17.2/opentelemetry-nodejs-arm64.zip).

1. Extracted instrumentation libraries have to be added to the image in /opt directory. Please see Dockerfile example:

```dockerfile
1. Add extracted instrumentation libraries to the image in the `/opt` directory. See the following Dockerfile example:
```sh
FROM public.ecr.aws/lambda/nodejs:16-arm64

# Lambda Function Code
COPY index.js ${LAMBDA_TASK_ROOT}
COPY package.json ${LAMBDA_TASK_ROOT}
RUN  npm install

**# Copy OT Instrumentation
# Copy OT Instrumentation
COPY collector-config/ /opt/collector-config/
COPY extensions/ /opt/extensions/
COPY nodejs/ /opt/nodejs/
COPY otel-handler /opt/
COPY wrapper.d.ts /opt/
COPY wrapper.d.ts.map /opt/
COPY wrapper.js /opt/
COPY wrapper.js.map /opt/**
COPY wrapper.js.map /opt/

CMD \[ "index.handler" \]
```

1. Rebuild docker image.

### Deployment

1. Navigate to [functions](https://console.aws.amazon.com/lambda/home#/functions) in the AWS Lambda Console and open the function you want to instrument.

1. Deploy new function image.

1. Navigate to the **Configuration > Environment variables** section and set up the following environment variables:

* `AWS_LAMBDA_EXEC_WRAPPER = /opt/otel-handler` - Enables auto-instrumentation.
* `OTEL_TRACES_SAMPLER = always_on` - Enables traces sampling.
* `OTEL_SERVICE_NAME = YOUR_SERVICE_NAME` - Sets the tracing service name in Sumo Logic. Make sure to define it as a string value that represents the function name and its business logic, such as "Check SQS Lambda".
* `OTEL_RESOURCE_ATTRIBUTES` - Sets OpenTelemetry resources. Add the `deployment.environment=[environment-name]` tag as needed to allow for filtering by environment on dashboard panels. (For more information, see [Services Dashboard Panels](/docs/apm/traces/services-list-map#services-dashboard-panels)). Tracing `application` and `cloud.account.id` are set with the `OTEL_RESOURCE_ATTRIBUTES` environment variable:

* `application=YOUR_APPLICATION_NAME` - the string value, if the function is a part of complex system/application then set it for all other functions/applications.
* `cloud.account.id=YOUR_CLOUD_ACCOUNT_ID` - set an additional tag that will contain your [AWS Lambda Account ID](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). This will help to provide more relevant data. 

All of the attributes above are comma separated key/value pairs (this is also a way to add additional information to the spans, just after comma add additional key=value pair) such as, `OTEL_RESOURCE_ATTRIBUTES=application=YOUR_APPLICATION_NAME,cloud.account.id=123456789012`.

* `AWS_LAMBDA_EXEC_WRAPPER = /opt/otel-handler`. Enables auto-instrumentation.
* `OTEL_TRACES_SAMPLER = always_on`. Enables traces sampling.
* `OTEL_SERVICE_NAME = YOUR_SERVICE_NAME`. Sets the tracing service name in Sumo Logic. Make sure to define it as a string value that represents the function name and its business logic, such as "Check SQS Lambda".
* `OTEL_RESOURCE_ATTRIBUTES`. Sets OpenTelemetry resources. Add the `deployment.environment=[environment-name]` tag as needed to allow for filtering by environment on dashboard panels. (For more information, see [Services Dashboard Panels](/docs/apm/traces/services-list-map#services-dashboard-panels)). Tracing `application` and `cloud.account.id` are set with the `OTEL_RESOURCE_ATTRIBUTES` environment variable:
* `application=YOUR_APPLICATION_NAME`. The string value, if the function is a part of complex system/application then set it for all other functions/applications.
* `cloud.account.id=YOUR_CLOUD_ACCOUNT_ID`. Set an additional tag that will contain your [AWS Lambda Account ID](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). This will help to provide more relevant data. All of the attributes above are comma separated key/value pairs (this is also a way to add additional information to the spans, just after comma add additional key=value pair) such as: `OTEL_RESOURCE_ATTRIBUTES=application=YOUR_APPLICATION_NAME,cloud.account.id=123456789012`.
* `SUMO_OTLP_HTTP_ENDPOINT_URL` has to be set to send all gathered telemetry data to Sumo Logic. The URL comes from an [OTLP/HTTP source](/docs/send-data/hosted-collectors/http-source/otlp). You can use an existing Source or create a new one, if needed.
:::note
The `SUMOLOGIC_HTTP_TRACES_ENDPOINT_URL` environment variable is deprecated. You'll need to switch from the HTTP Traces Source to [OTLP/HTTP source](/docs/send-data/hosted-collectors/http-source/otlp) and use the `SUMO_OTLP_HTTP_ENDPOINT_URL` environment variable instead.
:::

* `SUMO_OTEL_DISABLE_AWS_CONTEXT_PROPAGATION` (optional, default: true, values: true, false) - in case of `xray trace context` propagation (AWS) set to `false`.

<img src={useBaseUrl('img/traces/lambda-nodejs4.png')} alt="Environment variables" style={{border: '1px solid gray'}} width="800" />

* `SUMO_OTEL_DISABLE_AWS_CONTEXT_PROPAGATION` (optional, default: true, values: true, false). In case of `xray trace context` propagation (AWS), set to `false`.<br/><img src={useBaseUrl('img/traces/lambda-nodejs4.png')} alt="Environment variables" style={{border: '1px solid gray'}} width="800" />
1. Your function should be successfully instrumented. Invoke the function and find your traces in the [Sumo Logic Tracing screen](/docs/apm/traces/view-and-investigate-traces).
Loading