Skip to content

Commit 679101c

Browse files
[sysdig] Add support for security event datastream (elastic#13626)
This security events logs provides an overview of your infrastructure, and allows you to deep-dive into specific security events, distinguish, false positives, and configure policies to enhance performance. Sanitized test case inputs were obtained from live Sysdig Secure instance using the Sysdig Next Gen API.
1 parent 8718b40 commit 679101c

24 files changed

+7103
-103
lines changed

packages/sysdig/_dev/build/docs/README.md

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
# Sysdig Integration
2-
This integration allows for the shipping of [Sysdig](https://sysdig.com/) alerts to Elastic for observability and organizational awareness. Alerts can then be analyzed by using either the dashboard included with the integration or via the creation of custom dashboards within Kibana.
2+
This integration allows for the shipping of [Sysdig](https://sysdig.com/) logs to Elastic for security, observability and organizational awareness. Logs can then be analyzed by using either the dashboard included with the integration or via the creation of custom dashboards within Kibana.
33

44
## Data Streams
5-
The Sysdig integration collects one type of data stream: alerts.
5+
The Sysdig integration collects two type of logs:
66

77
**Alerts** The Alerts data stream collected by the Sysdig integration is comprised of Sysdig Alerts. See more details about Sysdig Alerts in [Sysdig's Alerts Documentation](https://docs.sysdig.com/en/docs/sysdig-monitor/alerts/). A complete list of potential fields used by this integration can be found in the [Logs reference](#logs-reference)
88

9+
**Event** The event data stream collected through the Sysdig integration consists of Sysdig Security Events. See more details about Security Events in [Sysdig's Events Feed Documentation](https://docs.sysdig.com/en/docs/sysdig-secure/threats/activity/events-feed/).
10+
911
## Requirements
1012

11-
You need Elasticsearch for storing and searching your data and Kibana for visualizing and managing it.
12-
You can use our hosted Elasticsearch Service on Elastic Cloud, which is recommended, or self-manage the Elastic Stack on your own hardware.
13+
### Agent-based installation
14+
15+
Elastic Agent must be installed. For more details, check the Elastic Agent [installation instructions](docs-content://reference/fleet/install-elastic-agents.md).
1316

1417
Sysdig must be configured to output alerts to a supported output channel as defined in [Setup](#setup). The system will only receive common fields output by Sysdig's rules, meaning that if a rule does not include a desired field the rule must be edited in Sysdig to add the field.
1518

@@ -25,14 +28,41 @@ The HTTP input allows the Elastic Agent to receive Sysdig Alerts via HTTP webhoo
2528

2629
**Required:** To configure Sysdig to output JSON, you must set up as webhook notification channel as outlined in the [Sysdig Documentation](https://docs.sysdig.com/en/docs/administration/administration-settings/outbound-integrations/notifications-management/set-up-notification-channels/configure-a-webhook-channel/).
2730

31+
### To collect data from the Sysdig Next Gen API:
32+
33+
- Retrieve the API Token by following [Sysdig's API Token Guide](https://docs.sysdig.com/en/retrieve-the-sysdig-api-token).
34+
35+
### Enabling the integration in Elastic:
36+
37+
1. In Kibana navigate to Management > Integrations.
38+
2. In "Search for integrations" top bar, search for `Sysdig`.
39+
3. Select the "Sysdig" integration from the search results.
40+
4. Select "Add Sysdig" to add the integration.
41+
5. Add all the required integration configuration parameters, including the URL, API Token, Interval, and Initial Interval, to enable data collection.
42+
6. Select "Save and continue" to save the integration.
43+
44+
**Note**:
45+
- The URL may vary depending on your region. Please refer to the [Documentation](https://docs.sysdig.com/en/developer-tools/sysdig-api/#access-the-sysdig-api-using-the-regional-endpoints) to find the correct URL for your region.
46+
- If you see an error saying `exceeded maximum number of CEL executions` during data ingestion, it usually means a large volume of data is being processed for the selected time interval. To fix this, try increasing the `Maximum Pages Per Interval` setting in the configuration.
47+
2848
## Logs Reference
2949

30-
### alerts
50+
### Alerts
3151

3252
Sysdig alerts can contain a multitude of various fields pertaining to the type of activity on the host machine.
3353

54+
#### Example
55+
56+
{{ event "alerts" }}
57+
3458
{{ fields "alerts" }}
3559

36-
**Example event**
60+
### Event
61+
62+
This is the `event` dataset.
63+
64+
#### Example
65+
66+
{{event "event"}}
3767

38-
{{ event "alerts" }}
68+
{{fields "event"}}

packages/sysdig/_dev/deploy/docker/docker-compose.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,16 @@ services:
77
- STREAM_PROTOCOL=webhook
88
- STREAM_ADDR=http://elastic-agent:9035/
99
command: log --start-signal=SIGHUP --delay=5s /sample_logs/sysdig.log
10+
sysdig:
11+
image: docker.elastic.co/observability/stream:v0.17.1
12+
hostname: sysdig
13+
ports:
14+
- 8090
15+
volumes:
16+
- ./files:/files:ro
17+
environment:
18+
PORT: '8090'
19+
command:
20+
- http-server
21+
- --addr=:8090
22+
- --config=/files/config.yml

packages/sysdig/_dev/deploy/docker/files/config.yml

Lines changed: 519 additions & 0 deletions
Large diffs are not rendered by default.

packages/sysdig/changelog.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
# newer versions go on top
2+
- version: "0.4.0"
3+
changes:
4+
- description: Add support for security event datastream.
5+
type: enhancement
6+
link: https://github.com/elastic/integrations/pull/13626
27
- version: "0.3.0"
38
changes:
49
- description: Update Kibana constraint to support 9.0.0.

packages/sysdig/data_stream/alerts/_dev/test/pipeline/test-sysdig.log-expected.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1706,4 +1706,4 @@
17061706
}
17071707
}
17081708
]
1709-
}
1709+
}

packages/sysdig/data_stream/alerts/sample_event.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
2-
"@timestamp": "2024-09-12T13:06:12.675Z",
2+
"@timestamp": "2025-05-15T20:55:10.950Z",
33
"agent": {
4-
"ephemeral_id": "fe172d2f-7b14-4b87-bc5a-acc14684e4c5",
4+
"ephemeral_id": "d1edefb2-dd7d-40f4-bc12-f3e8e0e8a0c8",
55
"id": "58014837",
6-
"name": "docker-fleet-agent",
6+
"name": "elastic-agent-68303",
77
"type": "filebeat",
88
"version": "8.14.1"
99
},
@@ -31,22 +31,22 @@
3131
},
3232
"data_stream": {
3333
"dataset": "sysdig.alerts",
34-
"namespace": "15372",
34+
"namespace": "85290",
3535
"type": "logs"
3636
},
3737
"ecs": {
3838
"version": "8.0.0"
3939
},
4040
"elastic_agent": {
41-
"id": "a2d71da8-f67f-43fa-a895-0251c4a68bb0",
41+
"id": "e5c61bf4-097f-42fe-90df-25e8ef080bd8",
4242
"snapshot": false,
4343
"version": "8.14.1"
4444
},
4545
"event": {
4646
"agent_id_status": "mismatch",
4747
"dataset": "sysdig.alerts",
4848
"id": "17dec715376910362c8c3f62a4ceda2e",
49-
"ingested": "2024-09-12T13:06:22Z",
49+
"ingested": "2025-05-15T20:55:12Z",
5050
"kind": "alert",
5151
"provider": "syscall",
5252
"severity": 7,
@@ -197,4 +197,4 @@
197197
"threat.technique.id": [
198198
"T1136"
199199
]
200-
}
200+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
fields:
2+
tags:
3+
- preserve_duplicate_custom_fields

packages/sysdig/data_stream/event/_dev/test/pipeline/test-event.log

Lines changed: 6 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)