serverless-plugin-datadog 3.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -25,31 +25,31 @@ Each version of the plugin is published with a [specific set of versions of the
25
25
 
26
26
  To further configure your plugin, use the following custom parameters in your `serverless.yml`:
27
27
 
28
- | Parameter | Description |
29
- | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
30
- | `flushMetricsToLogs` | Send custom metrics by using logs with the Datadog Forwarder Lambda function (recommended). Defaults to `true`. If you disable this parameter, it's required to set `apiKey` (or `apiKMSKey` if encrypted). `flushMetricsToLogs` is ignored when `addExtension` is true. |
31
- | `site` | Set which Datadog site to send data, this is only used when `flushMetricsToLogs` is `false` or `addExtension` is `true`. Possible values are `datadoghq.com`, `datadoghq.eu`, `us3.datadoghq.com` and `ddog-gov.com`. The default is `datadoghq.com`. |
32
- | `apiKey` | Datadog API Key, only needed when `flushMetricsToLogs` is `false` or `addExtension` is `true`. Defining `apiKey` will add the Datadog API key directly to your Lambda functions as an environment variable. For more information about getting a Datadog API key, see the [API key documentation][3]. |
33
- | `apiKMSKey` | Datadog API Key encrypted using KMS. Use this parameter in place of `apiKey` when `flushMetricsToLogs` is `false` or `addExtension` is `true`, and you are using KMS encryption. Defining `apiKMSKey` will add the Datadog API Key directly to your Lambda functions as an environment variable. |
34
- | `monitorsApiKey` | Datadog API Key. Only needed when using plugin to create monitors for your functions and when `monitors` is defined. Separate from `apiKey` with your function, `monitorsApiKey` is only used to create monitors through the Datadog Monitors API. You may use the same API key for both `apiKey` and `monitorsApiKey`. |
35
- | `monitorsAppKey` | Datadog Application Key. Only needed when using plugin to create monitors for your function and when `monitors` is defined. |
36
- | `addLayers` | Whether to install the Datadog Lambda library as a layer. Defaults to `true`. Set to `false` when you plan to package the Datadog Lambda library to your function's deployment package on your own so that you can install a specific version of the Datadog Lambda library ([Python][4] or [Node.js][5]). |
37
- | `addExtension` | Whether to install the Datadog Lambda Extension as a layer. Defaults to `false`. When enabled, it's required to set the `apiKey` (or `apiKMSKey`) parameter. Learn more about the Lambda Extension Layer [here][8]. Note: AWS only supports Lambda Extensions for [certain runtimes][9]. |
38
- | `logLevel` | The log level, set to `DEBUG` for extended logging. |
39
- | `enableXrayTracing` | Set `true` to enable X-Ray tracing on the Lambda functions and API Gateway integrations. Defaults to `false`. |
40
- | `enableDDTracing` | Enable Datadog tracing on the Lambda function. Note: This applies only to integrations using the Datadog Extension. Defaults to `true`. |
41
- | `enableDDLogs` | Enable Datadog log collection for the Lambda function. Note: This setting has no effect on logs sent via the Datadog Forwarder. Defaults to `true`. |
42
- | `subscribeToApiGatewayLogs` | Enable automatic subscription of the Datadog Forwarder to API Gateway log groups. Defaults to `true`. |
43
- | `subscribeToHttpApiLogs` | Enable automatic subscription of the Datadog Forwarder to Http-api log groups. Defaults to `true`. |
44
- | `subscribeToWebsocketLogs` | Enable automatic subscription of the Datadog Forwarder to Websocket log groups. Defaults to `true`. |
45
- | `forwarderArn` | Setting this parameter subscribes the given Datadog forwarder to the Lambda functions’ CloudWatch log groups. Required when `enableDDTracing` is set to `true` unless the subscription is otherwise applied. For example, if a Datadog Forwarder subscription is applied via Datadog's AWS Integration, then `forwarderArn` is not required. |
46
- | `integrationTesting` | Set `true` when running integration tests. This will bypass the validation of the Forwarder ARN and the addition of Datadog Monitor output links. Defaults to `false`. |
47
- | `enableTags` | When set, automatically tag the Lambda functions with the `service` and `env` tags using the `service` and `stage` values from the serverless application definition. It does NOT override if a `service` or `env` tag already exists. Defaults to `true`. |
48
- | `injectLogContext` | When set, the lambda layer will automatically patch console.log with Datadog's tracing ids. Defaults to `true`. |
49
- | `exclude` | When set, this plugin will ignore all specified functions. Use this parameter if you have any functions that should not include Datadog functionality. Defaults to `[]`. |
50
- | `enabled` | When set to false, the Datadog plugin will stay inactive. Defaults to `true`. You can control this option using an environment variable, e.g. `enabled: ${strToBool(${env:DD_PLUGIN_ENABLED, true})}`, to activate/deactivate the plugin during deployment. Alternatively, you can also use the value passed in through `--stage` to control this option, [see example.](#disable-plugin-for-particular-environment) |
51
- | `monitors` | When defined, the Datadog plugin will configure monitors for the deployed function. You must also have `monitorsApiKey` and `monitorsAppKey` defined. To learn how to define monitors, see [To Enable and Configure a Recommended Serverless Monitor.](#to-enable-and-configure-a-recommended-serverless-monitor) |
52
- | `customHandler` | When set, the specified handler is set as the handler for all the functions. By deafult, the handler is set to `/opt/nodejs/node_modules/datadog-lambda-js/handler.handler` if `addLayers` is set to `true`, or `node_modules/datadog-lambda-js/dist/handler.handler` if `addLayers` is set to `false` |
28
+ | Parameter | Description |
29
+ | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
30
+ | `flushMetricsToLogs` | Send custom metrics by using logs with the Datadog Forwarder Lambda function (recommended). Defaults to `true`. If you disable this parameter, it's required to set `apiKey` (or `apiKMSKey` if encrypted). `flushMetricsToLogs` is ignored when `addExtension` is true. |
31
+ | `site` | Set which Datadog site to send data, this is only used when `flushMetricsToLogs` is `false` or `addExtension` is `true`. Possible values are `datadoghq.com`, `datadoghq.eu`, `us3.datadoghq.com` and `ddog-gov.com`. The default is `datadoghq.com`. |
32
+ | `apiKey` | Datadog API Key, only needed when `flushMetricsToLogs` is `false` or `addExtension` is `true`. Defining `apiKey` will add the Datadog API key directly to your Lambda functions as an environment variable. For more information about getting a Datadog API key, see the [API key documentation][3]. |
33
+ | `apiKMSKey` | Datadog API Key encrypted using KMS. Use this parameter in place of `apiKey` when `flushMetricsToLogs` is `false` or `addExtension` is `true`, and you are using KMS encryption. Defining `apiKMSKey` will add the Datadog API Key directly to your Lambda functions as an environment variable. |
34
+ | `monitorsApiKey` | Datadog API Key. Only needed when using plugin to create monitors for your functions and when `monitors` is defined. Separate from `apiKey` with your function, `monitorsApiKey` is only used to create monitors through the Datadog Monitors API. You may use the same API key for both `apiKey` and `monitorsApiKey`. |
35
+ | `monitorsAppKey` | Datadog Application Key. Only needed when using plugin to create monitors for your function and when `monitors` is defined. |
36
+ | `addLayers` | Whether to install the Datadog Lambda library as a layer. Defaults to `true`. Set to `false` when you plan to package the Datadog Lambda library to your function's deployment package on your own so that you can install a specific version of the Datadog Lambda library ([Python][4] or [Node.js][5]). |
37
+ | `addExtension` | Whether to install the Datadog Lambda Extension as a layer. Defaults to `false`. When enabled, it's required to set the `apiKey` (or `apiKMSKey`) parameter. Learn more about the Lambda Extension Layer [here][8]. Note: AWS only supports Lambda Extensions for [certain runtimes][9]. |
38
+ | `logLevel` | The log level, set to `DEBUG` for extended logging. |
39
+ | `enableXrayTracing` | Set `true` to enable X-Ray tracing on the Lambda functions and API Gateway integrations. Defaults to `false`. |
40
+ | `enableDDTracing` | Enable Datadog tracing on the Lambda function. Note: This applies only to integrations using the Datadog Extension. Defaults to `true`. |
41
+ | `enableDDLogs` | Enable Datadog log collection for the Lambda function. Note: This setting has no effect on logs sent via the Datadog Forwarder. Defaults to `true`. |
42
+ | `subscribeToAccessLogs` | Enable automatic subscription of the Datadog Forwarder to API Gateway Access log groups. Requires that logging for the respective APIs are enabled in the provider section of the `serverless.yaml` file. Defaults to `true`. ] |
43
+ | `subscribeToExecutionLogs` | Enable automatic subscription of the Datadog Forwarder to Execution log groups for REST and Websocket APIs. Requires that logging for the respective APIs are enabled in the provider section of the `serverless.yaml` file. Note: CloudFormation does not maintain these log groups. If the stack is removed the log groups will need to be removed manually or the next deploy may be unsuccessful. Defaults to `false`. |
44
+
45
+ | `forwarderArn` | Setting this parameter subscribes the given Datadog forwarder to the Lambda functions’ CloudWatch log groups. Required when `enableDDTracing` is set to `true` unless the subscription is otherwise applied. For example, if a Datadog Forwarder subscription is applied via Datadog's AWS Integration, then `forwarderArn` is not required. |
46
+ | `integrationTesting` | Set `true` when running integration tests. This will bypass the validation of the Forwarder ARN and the addition of Datadog Monitor output links. Defaults to `false`. |
47
+ | `enableTags` | When set, automatically tag the Lambda functions with the `service` and `env` tags using the `service` and `stage` values from the serverless application definition. It does NOT override if a `service` or `env` tag already exists. Defaults to `true`. |
48
+ | `injectLogContext` | When set, the lambda layer will automatically patch console.log with Datadog's tracing ids. Defaults to `true`. |
49
+ | `exclude` | When set, this plugin will ignore all specified functions. Use this parameter if you have any functions that should not include Datadog functionality. Defaults to `[]`. |
50
+ | `enabled` | When set to false, the Datadog plugin will stay inactive. Defaults to `true`. You can control this option using an environment variable, e.g. `enabled: ${strToBool(${env:DD_PLUGIN_ENABLED, true})}`, to activate/deactivate the plugin during deployment. Alternatively, you can also use the value passed in through `--stage` to control this option, [see example.](#disable-plugin-for-particular-environment) |
51
+ | `monitors` | When defined, the Datadog plugin will configure monitors for the deployed function. You must also have `monitorsApiKey` and `monitorsAppKey` defined. To learn how to define monitors, see [To Enable and Configure a Recommended Serverless Monitor.](#to-enable-and-configure-a-recommended-serverless-monitor) |
52
+ | `customHandler` | When set, the specified handler is set as the handler for all the functions. By default, the handler is set to `/opt/nodejs/node_modules/datadog-lambda-js/handler.handler` if `addLayers` is set to `true`, or `node_modules/datadog-lambda-js/dist/handler.handler` if `addLayers` is set to `false` |
53
53
 
54
54
  To use any of these parameters, add a `custom` > `datadog` section to your `serverless.yml` similar to this example:
55
55
 
@@ -66,7 +66,7 @@ custom:
66
66
  enableXrayTracing: false
67
67
  enableDDTracing: true
68
68
  enableDDLogs: true
69
- subscribeToApiGatewayLogs: true
69
+ subscribeToAccessLogs: true
70
70
  forwarderArn: arn:aws:lambda:us-east-1:000000000000:function:datadog-forwarder
71
71
  enableTags: true
72
72
  injectLogContext: true
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "serverless-plugin-datadog",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Serverless plugin to automatically instrument python and node functions with datadog tracing",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": "https://github.com/DataDog/serverless-plugin-datadog",
package/dist/src/env.d.ts CHANGED
@@ -25,9 +25,8 @@ export interface Configuration {
25
25
  [key: string]: any;
26
26
  };
27
27
  }[];
28
- subscribeToApiGatewayLogs: boolean;
29
- subscribeToHttpApiLogs: boolean;
30
- subscribeToWebsocketLogs: boolean;
28
+ subscribeToAccessLogs: boolean;
29
+ subscribeToExecutionLogs: boolean;
31
30
  customHandler?: string;
32
31
  }
33
32
  export declare const defaultConfiguration: Configuration;
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,OAAO,MAAM,4BAA4B,CAAC;AAEjD,MAAM,WAAW,aAAa;IAE5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,SAAS,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,kBAAkB,EAAE,OAAO,CAAC;IAE5B,iBAAiB,EAAE,OAAO,CAAC;IAE3B,eAAe,EAAE,OAAO,CAAC;IAEzB,YAAY,EAAE,OAAO,CAAC;IAEtB,YAAY,EAAE,OAAO,CAAC;IAGtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAI7B,UAAU,EAAE,OAAO,CAAC;IAEpB,gBAAgB,EAAE,OAAO,CAAC;IAG1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAA;KAAE,EAAE,CAAC;IAGtD,yBAAyB,EAAE,OAAO,CAAC;IACnC,sBAAsB,EAAE,OAAO,CAAC;IAChC,wBAAwB,EAAE,OAAO,CAAC;IAGlC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAWD,eAAO,MAAM,oBAAoB,EAAE,aAgBlC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,QA6BlF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAczD;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,QAgB3D;AAiBD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,WAehD"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,OAAO,MAAM,4BAA4B,CAAC;AAEjD,MAAM,WAAW,aAAa;IAE5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,SAAS,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,kBAAkB,EAAE,OAAO,CAAC;IAE5B,iBAAiB,EAAE,OAAO,CAAC;IAE3B,eAAe,EAAE,OAAO,CAAC;IAEzB,YAAY,EAAE,OAAO,CAAC;IAEtB,YAAY,EAAE,OAAO,CAAC;IAGtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAI7B,UAAU,EAAE,OAAO,CAAC;IAEpB,gBAAgB,EAAE,OAAO,CAAC;IAG1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAA;KAAE,EAAE,CAAC;IAGtD,qBAAqB,EAAE,OAAO,CAAC;IAE/B,wBAAwB,EAAE,OAAO,CAAC;IAGlC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAWD,eAAO,MAAM,oBAAoB,EAAE,aAelC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,QA6BlF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAczD;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,QAgB3D;AAiBD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,WAehD"}
package/dist/src/env.js CHANGED
@@ -29,9 +29,8 @@ exports.defaultConfiguration = {
29
29
  injectLogContext: true,
30
30
  exclude: [],
31
31
  integrationTesting: false,
32
- subscribeToApiGatewayLogs: true,
33
- subscribeToHttpApiLogs: true,
34
- subscribeToWebsocketLogs: true,
32
+ subscribeToAccessLogs: true,
33
+ subscribeToExecutionLogs: false,
35
34
  enableDDLogs: true,
36
35
  };
37
36
  function setEnvConfiguration(config, handlers) {
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,23 @@ import Aws = require("serverless/plugins/aws/provider/awsProvider");
4
4
  interface ForwarderConfigs {
5
5
  AddExtension: boolean;
6
6
  IntegrationTesting: boolean | undefined;
7
- SubToApiGatewayLogGroup: boolean;
8
- SubToHttpApiLogGroup: boolean;
9
- SubToWebsocketLogGroup: boolean;
7
+ SubToAccessLogGroups: boolean;
8
+ SubToExecutionLogGroups: boolean;
10
9
  }
10
+ declare type SubLogsConfig = boolean | {
11
+ accessLogging: boolean | undefined;
12
+ executionLogging: boolean | undefined;
13
+ } | undefined;
14
+ declare type LogsConfig = {
15
+ restApi: SubLogsConfig;
16
+ httpApi: SubLogsConfig;
17
+ websocket: SubLogsConfig;
18
+ } | undefined;
11
19
  export interface CloudFormationObjectArn {
12
20
  "Fn::Sub"?: string;
13
21
  "arn:aws"?: string;
14
22
  }
23
+ export declare function addExecutionLogGroupsAndSubscriptions(service: Service, aws: Aws, functionArn: CloudFormationObjectArn | string): Promise<void>;
15
24
  export declare function addCloudWatchForwarderSubscriptions(service: Service, aws: Aws, functionArn: CloudFormationObjectArn | string, forwarderConfigs: ForwarderConfigs, handlers: FunctionInfo[]): Promise<string[]>;
16
25
  export declare function canSubscribeLogGroup(aws: Aws, logGroupName: string, expectedSubName: string): Promise<boolean>;
17
26
  export declare function describeSubscriptionFilters(aws: Aws, logGroupName: string): Promise<{
@@ -23,5 +32,6 @@ export declare function describeSubscriptionFilters(aws: Aws, logGroupName: stri
23
32
  logGroupName: string;
24
33
  roleArn: string;
25
34
  }[]>;
35
+ export declare function isLogsConfig(obj: any): obj is LogsConfig;
26
36
  export {};
27
37
  //# sourceMappingURL=forwarder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"forwarder.d.ts","sourceRoot":"","sources":["../../src/forwarder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,OAAO,MAAM,4BAA4B,CAAC;AACjD,OAAO,GAAG,GAAG,QAAQ,6CAA6C,CAAC,CAAC;AAqBpE,UAAU,gBAAgB;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,uBAAuB,EAAE,OAAO,CAAC;IACjC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAcD,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmBD,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,uBAAuB,GAAG,MAAM,EAC7C,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,YAAY,EAAE,qBAmDzB;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,oBAejG;AAED,wBAAsB,2BAA2B,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM;;;;;;;;KAc/E"}
1
+ {"version":3,"file":"forwarder.d.ts","sourceRoot":"","sources":["../../src/forwarder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,OAAO,MAAM,4BAA4B,CAAC;AACjD,OAAO,GAAG,GAAG,QAAQ,6CAA6C,CAAC,CAAC;AAqBpE,UAAU,gBAAgB;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAaD,aAAK,aAAa,GACd,OAAO,GACP;IACE,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;CACvC,GACD,SAAS,CAAC;AAEd,aAAK,UAAU,GACX;IACE,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,aAAa,CAAC;CAC1B,GACD,SAAS,CAAC;AAQd,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmBD,wBAAsB,qCAAqC,CACzD,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,uBAAuB,GAAG,MAAM,iBA4B9C;AAED,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,uBAAuB,GAAG,MAAM,EAC7C,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,YAAY,EAAE,qBAyCzB;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,oBAejG;AAED,wBAAsB,2BAA2B,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM;;;;;;;;KAc/E;AAyHD,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,UAAU,CAuBxD"}
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.describeSubscriptionFilters = exports.canSubscribeLogGroup = exports.addCloudWatchForwarderSubscriptions = void 0;
12
+ exports.isLogsConfig = exports.describeSubscriptionFilters = exports.canSubscribeLogGroup = exports.addCloudWatchForwarderSubscriptions = exports.addExecutionLogGroupsAndSubscriptions = void 0;
13
13
  const logGroupKey = "AWS::Logs::LogGroup";
14
14
  const logGroupSubscriptionKey = "AWS::Logs::SubscriptionFilter";
15
15
  const maxAllowableLogGroupSubscriptions = 2;
@@ -20,6 +20,10 @@ class DatadogForwarderNotFoundError extends Error {
20
20
  this.message = message;
21
21
  }
22
22
  }
23
+ const REST_EXECUTION_LOG_GROUP_KEY = "RestExecutionLogGroup";
24
+ const REST_EXECUTION_SUBSCRIPTION_KEY = "RestExecutionLogGroupSubscription";
25
+ const WEBSOCKETS_EXECUTION_LOG_GROUP_KEY = "WebsocketsExecutionLogGroup";
26
+ const WEBSOCKETS_EXECUTION_SUBCRIPTION_KEY = "WebsocketsExecutionLogGroupSubscription";
23
27
  function isLogGroup(value) {
24
28
  return value.Type === logGroupKey;
25
29
  }
@@ -38,6 +42,35 @@ function validateForwarderArn(aws, functionArn) {
38
42
  }
39
43
  });
40
44
  }
45
+ function addExecutionLogGroupsAndSubscriptions(service, aws, functionArn) {
46
+ var _a, _b;
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const extendedProvider = (_a = service.provider) === null || _a === void 0 ? void 0 : _a.logs;
49
+ if (!isLogsConfig(extendedProvider)) {
50
+ return;
51
+ }
52
+ const resources = (_b = service.provider.compiledCloudFormationTemplate) === null || _b === void 0 ? void 0 : _b.Resources;
53
+ if (restExecutionLoggingIsEnabled(extendedProvider)) {
54
+ // create log group
55
+ const logGroupName = yield createRestExecutionLogGroupName(aws);
56
+ const executionLogGroupName = addExecutionLogGroup(logGroupName);
57
+ resources[REST_EXECUTION_LOG_GROUP_KEY] = executionLogGroupName;
58
+ // add subscription
59
+ const executionSubscription = subscribeToExecutionLogGroup(functionArn, REST_EXECUTION_LOG_GROUP_KEY);
60
+ resources[REST_EXECUTION_SUBSCRIPTION_KEY] = executionSubscription;
61
+ }
62
+ if (websocketExecutionLoggingIsEnabled(extendedProvider)) {
63
+ // create log group
64
+ const logGroupName = yield createWebsocketExecutionLogGroupName(aws);
65
+ const executionLogGroupName = addExecutionLogGroup(logGroupName);
66
+ // add subscription
67
+ resources[WEBSOCKETS_EXECUTION_LOG_GROUP_KEY] = executionLogGroupName;
68
+ const executionSubscription = subscribeToExecutionLogGroup(functionArn, WEBSOCKETS_EXECUTION_LOG_GROUP_KEY);
69
+ resources[WEBSOCKETS_EXECUTION_SUBCRIPTION_KEY] = executionSubscription;
70
+ }
71
+ });
72
+ }
73
+ exports.addExecutionLogGroupsAndSubscriptions = addExecutionLogGroupsAndSubscriptions;
41
74
  function addCloudWatchForwarderSubscriptions(service, aws, functionArn, forwarderConfigs, handlers) {
42
75
  var _a;
43
76
  return __awaiter(this, void 0, void 0, function* () {
@@ -56,7 +89,7 @@ function addCloudWatchForwarderSubscriptions(service, aws, functionArn, forwarde
56
89
  yield validateForwarderArn(aws, functionArn);
57
90
  }
58
91
  for (const [name, resource] of Object.entries(resources)) {
59
- if (!shouldSubscribe(name, resource, forwarderConfigs, handlers)) {
92
+ if (!shouldSubscribe(name, resource, forwarderConfigs, handlers, service)) {
60
93
  continue;
61
94
  }
62
95
  const logGroupName = resource.Properties.LogGroupName;
@@ -74,17 +107,6 @@ function addCloudWatchForwarderSubscriptions(service, aws, functionArn, forwarde
74
107
  // Create subscriptions for each log group
75
108
  const subscription = subscribeToLogGroup(functionArn, name);
76
109
  resources[scopedSubName] = subscription;
77
- // Create the Execution log group for API Gateway logging manually so we can subscribe
78
- if (validateApiGatewaySubscription(resource, forwarderConfigs.SubToApiGatewayLogGroup)) {
79
- // add api gateway execution log group
80
- const executionLogGroup = createExecutionLogGroup(aws);
81
- const executionLogGroupKey = "ExecutionLogGroup";
82
- resources[executionLogGroupKey] = executionLogGroup;
83
- // add subscription to execution log group
84
- const executionSubscription = subscribeToExecutionLogGroup(functionArn);
85
- const executionSubscriptionKey = "ExecutionLogGroupSubscription";
86
- resources[executionSubscriptionKey] = executionSubscription;
87
- }
88
110
  }
89
111
  return errors;
90
112
  });
@@ -126,31 +148,43 @@ function describeSubscriptionFilters(aws, logGroupName) {
126
148
  }
127
149
  exports.describeSubscriptionFilters = describeSubscriptionFilters;
128
150
  // Helper functions to validate we have a particular log group and if we should subscribe to it
129
- function validateApiGatewaySubscription(resource, subscribe) {
130
- return resource.Properties.LogGroupName.startsWith("/aws/api-gateway/") && subscribe;
151
+ function validateRestApiSubscription(resource, subscribe, extendedProvider) {
152
+ return (restAccessLoggingIsEnabled(extendedProvider) &&
153
+ resource.Properties.LogGroupName.startsWith("/aws/api-gateway/") &&
154
+ subscribe);
131
155
  }
132
- function validateHttpApiSubscription(resource, subscribe) {
133
- return resource.Properties.LogGroupName.startsWith("/aws/http-api/") && subscribe;
156
+ function validateHttpApiSubscription(resource, subscribe, extendedProvider) {
157
+ return (httpAccessLoggingIsEnabled(extendedProvider) &&
158
+ resource.Properties.LogGroupName.startsWith("/aws/http-api/") &&
159
+ subscribe);
134
160
  }
135
- function validateWebsocketSubscription(resource, subscribe) {
136
- return resource.Properties.LogGroupName.startsWith("/aws/websocket/") && subscribe;
161
+ function validateWebsocketSubscription(resource, subscribe, extendedProvider) {
162
+ return (websocketAccessLoggingIsEnabled(extendedProvider) &&
163
+ resource.Properties.LogGroupName.startsWith("/aws/websocket/") &&
164
+ subscribe);
137
165
  }
138
- function shouldSubscribe(resourceName, resource, forwarderConfigs, handlers) {
166
+ function shouldSubscribe(resourceName, resource, forwarderConfigs, handlers, service) {
167
+ var _a;
168
+ const extendedProvider = (_a = service.provider) === null || _a === void 0 ? void 0 : _a.logs;
139
169
  if (!isLogGroup(resource)) {
140
170
  return false;
141
171
  }
172
+ // we don't want to run the shouldSubscribe validation on execution log groups since we manually add those.
173
+ if (typeof resource.Properties.LogGroupName !== "string") {
174
+ return false;
175
+ }
142
176
  // if the extension is enabled, we don't want to subscribe to lambda log groups
143
177
  if (forwarderConfigs.AddExtension &&
144
- !(validateApiGatewaySubscription(resource, forwarderConfigs.SubToApiGatewayLogGroup) ||
145
- validateHttpApiSubscription(resource, forwarderConfigs.SubToHttpApiLogGroup) ||
146
- validateWebsocketSubscription(resource, forwarderConfigs.SubToWebsocketLogGroup))) {
178
+ !(validateRestApiSubscription(resource, forwarderConfigs.SubToAccessLogGroups, extendedProvider) ||
179
+ validateHttpApiSubscription(resource, forwarderConfigs.SubToAccessLogGroups, extendedProvider) ||
180
+ validateWebsocketSubscription(resource, forwarderConfigs.SubToAccessLogGroups, extendedProvider))) {
147
181
  return false;
148
182
  }
149
183
  // if the extension is disabled, we should subscribe to lambda log groups
150
184
  if (!(resource.Properties.LogGroupName.startsWith("/aws/lambda/") ||
151
- validateApiGatewaySubscription(resource, forwarderConfigs.SubToApiGatewayLogGroup) ||
152
- validateHttpApiSubscription(resource, forwarderConfigs.SubToHttpApiLogGroup) ||
153
- validateWebsocketSubscription(resource, forwarderConfigs.SubToWebsocketLogGroup))) {
185
+ validateRestApiSubscription(resource, forwarderConfigs.SubToAccessLogGroups, extendedProvider) ||
186
+ validateHttpApiSubscription(resource, forwarderConfigs.SubToAccessLogGroups, extendedProvider) ||
187
+ validateWebsocketSubscription(resource, forwarderConfigs.SubToAccessLogGroups, extendedProvider))) {
154
188
  return false;
155
189
  }
156
190
  // If the log group does not belong to our list of handlers, we don't want to subscribe to it
@@ -171,30 +205,117 @@ function subscribeToLogGroup(functionArn, name) {
171
205
  };
172
206
  return subscription;
173
207
  }
174
- function createExecutionLogGroup(aws) {
175
- // Create the Execution log group for API Gateway logging manually
176
- const executionLogGroupName = {
177
- "Fn::Join": ["", ["API-Gateway-Execution-Logs_", { Ref: "ApiGatewayRestApi" }, "/", aws.getStage()]],
178
- };
208
+ function createRestExecutionLogGroupName(aws) {
209
+ return __awaiter(this, void 0, void 0, function* () {
210
+ return {
211
+ "Fn::Join": ["", ["API-Gateway-Execution-Logs_", { Ref: "ApiGatewayRestApi" }, "/", aws.getStage()]],
212
+ };
213
+ });
214
+ }
215
+ function createWebsocketExecutionLogGroupName(aws) {
216
+ return __awaiter(this, void 0, void 0, function* () {
217
+ return {
218
+ "Fn::Join": ["", ["/aws/apigateway/", { Ref: "WebsocketsApi" }, "/", aws.getStage()]],
219
+ };
220
+ });
221
+ }
222
+ function addExecutionLogGroup(logGroupName) {
223
+ // Create the Execution log group for API Gateway REST logging manually
179
224
  const executionLogGroup = {
180
225
  Type: "AWS::Logs::LogGroup",
181
226
  Properties: {
182
- LogGroupName: executionLogGroupName,
227
+ LogGroupName: logGroupName,
183
228
  },
184
229
  };
185
230
  return executionLogGroup;
186
231
  }
187
- function subscribeToExecutionLogGroup(functionArn) {
232
+ function subscribeToExecutionLogGroup(functionArn, executionLogGroupKey) {
188
233
  const executionSubscription = {
189
234
  Type: logGroupSubscriptionKey,
190
235
  Properties: {
191
236
  DestinationArn: functionArn,
192
237
  FilterPattern: "",
193
- LogGroupName: { Ref: "ExecutionLogGroup" },
238
+ LogGroupName: { Ref: executionLogGroupKey },
194
239
  },
195
240
  };
196
241
  return executionSubscription;
197
242
  }
243
+ function isLogsConfig(obj) {
244
+ if (typeof obj !== "object") {
245
+ return false;
246
+ }
247
+ if (obj.hasOwnProperty("restApi")) {
248
+ if (!isSubLogsConfig(obj.restApi)) {
249
+ return false;
250
+ }
251
+ }
252
+ if (obj.hasOwnProperty("httpApi")) {
253
+ if (!isSubLogsConfig(obj.httpApi)) {
254
+ return false;
255
+ }
256
+ }
257
+ if (obj.hasOwnProperty("websocket")) {
258
+ if (!isSubLogsConfig(obj.websocket)) {
259
+ return false;
260
+ }
261
+ }
262
+ return true;
263
+ }
264
+ exports.isLogsConfig = isLogsConfig;
265
+ function isSubLogsConfig(obj) {
266
+ if (typeof obj === "boolean") {
267
+ return true;
268
+ }
269
+ if (typeof obj !== "object") {
270
+ return false;
271
+ }
272
+ if (obj.hasOwnProperty("accessLogging")) {
273
+ if (typeof obj.accessLogging !== "boolean" && typeof obj.accessLogging !== undefined) {
274
+ return false;
275
+ }
276
+ }
277
+ if (obj.hasOwnProperty("executionLogging")) {
278
+ if (typeof obj.executionLogging !== "boolean" && typeof obj.executionLogging !== undefined) {
279
+ return false;
280
+ }
281
+ }
282
+ return true;
283
+ }
284
+ function restAccessLoggingIsEnabled(obj) {
285
+ var _a;
286
+ if ((obj === null || obj === void 0 ? void 0 : obj.restApi) === false) {
287
+ return false;
288
+ }
289
+ return (obj === null || obj === void 0 ? void 0 : obj.restApi) === true || ((_a = obj === null || obj === void 0 ? void 0 : obj.restApi) === null || _a === void 0 ? void 0 : _a.accessLogging) === true;
290
+ }
291
+ function restExecutionLoggingIsEnabled(obj) {
292
+ var _a;
293
+ if ((obj === null || obj === void 0 ? void 0 : obj.restApi) === false) {
294
+ return false;
295
+ }
296
+ return (obj === null || obj === void 0 ? void 0 : obj.restApi) === true || ((_a = obj === null || obj === void 0 ? void 0 : obj.restApi) === null || _a === void 0 ? void 0 : _a.executionLogging) === true;
297
+ }
298
+ function httpAccessLoggingIsEnabled(obj) {
299
+ var _a;
300
+ if ((obj === null || obj === void 0 ? void 0 : obj.httpApi) === false) {
301
+ return false;
302
+ }
303
+ return (obj === null || obj === void 0 ? void 0 : obj.httpApi) === true || ((_a = obj === null || obj === void 0 ? void 0 : obj.httpApi) === null || _a === void 0 ? void 0 : _a.accessLogging) === true;
304
+ }
305
+ function websocketAccessLoggingIsEnabled(obj) {
306
+ var _a;
307
+ if ((obj === null || obj === void 0 ? void 0 : obj.websocket) === false) {
308
+ return false;
309
+ }
310
+ return (obj === null || obj === void 0 ? void 0 : obj.websocket) === true || ((_a = obj === null || obj === void 0 ? void 0 : obj.websocket) === null || _a === void 0 ? void 0 : _a.accessLogging) === true;
311
+ }
312
+ function websocketExecutionLoggingIsEnabled(obj) {
313
+ var _a;
314
+ if ((obj === null || obj === void 0 ? void 0 : obj.websocket) === false) {
315
+ return false;
316
+ }
317
+ return (obj === null || obj === void 0 ? void 0 : obj.websocket) === true || ((_a = obj === null || obj === void 0 ? void 0 : obj.websocket) === null || _a === void 0 ? void 0 : _a.executionLogging) === true;
318
+ }
198
319
  // Created from https://github.com/serverless/serverless/blob/master/lib/plugins/aws/lib/naming.js#L125-L127
199
320
  // Skipped lodash because Lambda Function Names can't include unicode chars or symbols
200
321
  function getLogGroupLogicalId(functionName) {
@@ -1 +1 @@
1
- {"version":3,"file":"forwarder.js","sourceRoot":"","sources":["../../src/forwarder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forwarder.js","sourceRoot":"","sources":["../../src/forwarder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAKhD,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjC,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACzC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMhD,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjC,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACzC"}
package/dist/src/index.js CHANGED
@@ -90,6 +90,7 @@ module.exports = class ServerlessPlugin {
90
90
  if (config.enabled === false)
91
91
  return;
92
92
  this.serverless.cli.log("Auto instrumenting functions with Datadog");
93
+ configHasOldProperties(config);
93
94
  validateConfiguration(config);
94
95
  const defaultRuntime = this.serverless.service.provider.runtime;
95
96
  const handlers = layer_1.findHandlers(this.serverless.service, config.exclude, defaultRuntime);
@@ -136,17 +137,20 @@ module.exports = class ServerlessPlugin {
136
137
  const forwarderConfigs = {
137
138
  AddExtension: config.addExtension,
138
139
  IntegrationTesting: config.integrationTesting,
139
- SubToApiGatewayLogGroup: config.subscribeToApiGatewayLogs,
140
- SubToHttpApiLogGroup: config.subscribeToHttpApiLogs,
141
- SubToWebsocketLogGroup: config.subscribeToWebsocketLogs,
140
+ SubToAccessLogGroups: config.subscribeToAccessLogs,
141
+ SubToExecutionLogGroups: config.subscribeToExecutionLogs,
142
142
  };
143
143
  const defaultRuntime = this.serverless.service.provider.runtime;
144
144
  const handlers = layer_1.findHandlers(this.serverless.service, config.exclude, defaultRuntime);
145
145
  let datadogForwarderArn;
146
146
  datadogForwarderArn = setDatadogForwarder(config);
147
+ this.serverless.cli.log("Setting Datadog Forwarder");
147
148
  if (datadogForwarderArn) {
148
149
  const aws = this.serverless.getProvider("aws");
149
150
  const errors = yield forwarder_1.addCloudWatchForwarderSubscriptions(this.serverless.service, aws, datadogForwarderArn, forwarderConfigs, handlers);
151
+ if (config.subscribeToExecutionLogs) {
152
+ yield forwarder_1.addExecutionLogGroupsAndSubscriptions(this.serverless.service, aws, datadogForwarderArn);
153
+ }
150
154
  for (const error of errors) {
151
155
  this.serverless.cli.log(error);
152
156
  }
@@ -222,6 +226,25 @@ module.exports = class ServerlessPlugin {
222
226
  });
223
227
  }
224
228
  };
229
+ function configHasOldProperties(obj) {
230
+ let hasOldProperties = false;
231
+ let message = "The following configuration options have been removed:";
232
+ if (obj.subscribeToApiGatewayLogs) {
233
+ message += " subscribeToApiGatewayLogs";
234
+ hasOldProperties = true;
235
+ }
236
+ if (obj.subscribeToHttpApiLogs) {
237
+ message += " subscribeToHttpApiLogs";
238
+ hasOldProperties = true;
239
+ }
240
+ if (obj.subscribeToWebsocketLogs) {
241
+ message += " subscribeToWebsocketLogs";
242
+ hasOldProperties = true;
243
+ }
244
+ if (hasOldProperties) {
245
+ throw new Error(message + ". Please use the subscribeToAccessLogs or subscribeToExecutionLogs options instead.");
246
+ }
247
+ }
225
248
  function validateConfiguration(config) {
226
249
  const siteList = ["datadoghq.com", "datadoghq.eu", "us3.datadoghq.com", "ddog-gov.com"];
227
250
  if (config.apiKey !== undefined && config.apiKMSKey !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "serverless-plugin-datadog",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Serverless plugin to automatically instrument python and node functions with datadog tracing",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": "https://github.com/DataDog/serverless-plugin-datadog",