microsoft-sentinel-log-analytics-logstash-output-plugin 2.2.0-java → 2.3.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -0
- data/README.md +14 -26
- data/VERSION +1 -1
- data/lib/logstash/outputs/microsoft-sentinel-log-analytics-logstash-output-plugin.rb +11 -4
- data/lib/logstash_registry.rb +16 -2
- data/lib/microsoft-sentinel-log-analytics-logstash-output-plugin_jars.rb +5 -0
- data/logstash-output-microsoft-sentinel-log-analytics-logstash-output-plugin.gemspec +1 -1
- data/vendor/jar-dependencies/org/logstashplugins/{logstash-output-microsoft-sentinel-log-analytics-logstash-output-plugin/2.2.0/logstash-output-microsoft-sentinel-log-analytics-logstash-output-plugin-2.2.0.jar → microsoft-sentinel-log-analytics-logstash-output-plugin/2.3.0/microsoft-sentinel-log-analytics-logstash-output-plugin-2.3.0.jar} +0 -0
- metadata +5 -4
- data/lib/logstash-output-microsoft-sentinel-log-analytics-logstash-output-plugin_jars.rb +0 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 627bb4ae14cbb73ebfadd92ba9342f81fddba5f96a6537fd416da8ce6b19b322
|
|
4
|
+
data.tar.gz: 4b3c7f257296155d58cb48cffa520e992cfecb7028434c0ecef77823d99473df
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 380a333181a76006354d4c65899779d4f839eb7adc34aa188441f8dae073ab868cfc6fe559172066a514ad56c20cb41395e2bcfd24b0f61dc56556ae0692b66c
|
|
7
|
+
data.tar.gz: bd1566a0eba6ba8713bf415d329e1f0a09f494a3ec0301509b94a13ba49e50127956397805ee061f0a720b1173bbc091f894fe6b33ab3f84aafb62f4ec764026
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
## 2.3.0
|
|
2
|
+
- Added optional Id configuration value for telemetry.
|
|
3
|
+
- Added DCR stream to sent-batches logging.
|
|
4
|
+
- Enabled functionality with logstash 9.4.
|
|
5
|
+
- Bumped dependency versions for external libraries (azure-sdk-bom, logback, slf4j, Netty).
|
|
6
|
+
|
|
7
|
+
## 2.2.1
|
|
8
|
+
- Adds info-level logging line when batches are successfully sent.
|
|
9
|
+
|
|
10
|
+
## 2.2.0
|
|
11
|
+
- Adds ability to use either new or old configuration values.
|
|
12
|
+
|
|
13
|
+
## 2.1.2
|
|
14
|
+
- Documentation updates.
|
|
15
|
+
|
|
16
|
+
## 2.1.1
|
|
17
|
+
- Improved efficiency.
|
|
18
|
+
|
|
19
|
+
## 2.1.0
|
|
20
|
+
- Fixed event normalization.
|
|
21
|
+
|
|
22
|
+
## 2.0.0
|
|
23
|
+
- Refactored the plugin from Ruby to Java.
|
|
24
|
+
- Added ManagedIdentity authentication.
|
data/README.md
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Microsoft Sentinel provides a new output plugin for Logstash. Use this output plugin to send any log via Logstash to the Microsoft Sentinel/Log Analytics workspace. This is done with the Log Analytics DCR-based API.
|
|
4
4
|
You may send logs to custom or standard tables.
|
|
5
5
|
|
|
6
|
-
Plugin version: v2.
|
|
7
|
-
Released on: 2026-
|
|
6
|
+
Plugin version: v2.3.0
|
|
7
|
+
Released on: 2026-06-17
|
|
8
8
|
|
|
9
9
|
This plugin is currently in development and is free to use. We request and appreciate feedback from users.
|
|
10
10
|
|
|
@@ -19,18 +19,19 @@ This plugin is currently in development and is free to use. We request and appre
|
|
|
19
19
|
|
|
20
20
|
Microsoft Sentinel provides Logstash output plugin to Log analytics workspace using DCR based logs API.
|
|
21
21
|
|
|
22
|
-
The plugin is published on [RubyGems](https://rubygems.org/gems/microsoft-sentinel-log-analytics-logstash-output-plugin). To install to an existing logstash installation, run `logstash-plugin install microsoft-sentinel-log-analytics-logstash-output-plugin`.
|
|
22
|
+
The plugin is published on [RubyGems](https://rubygems.org/gems/microsoft-sentinel-log-analytics-logstash-output-plugin/versions/2.2.2-java). To install to an existing logstash installation, run `logstash-plugin install microsoft-sentinel-log-analytics-logstash-output-plugin`.
|
|
23
23
|
|
|
24
24
|
If you do not have a direct internet connection, you can install the plugin to another logstash installation, and then export and import a plugin bundle to the offline host. For more information, see [Logstash Offline Plugin Management instruction](<https://www.elastic.co/guide/en/logstash/current/offline-plugins.html>).
|
|
25
25
|
|
|
26
26
|
Microsoft Sentinel's Logstash output plugin supports the following versions
|
|
27
27
|
- 7.0 - 7.17.13
|
|
28
|
-
- 8.0 - 8.9
|
|
29
|
-
- 8.11 - 8.15
|
|
30
|
-
- 8.19.2
|
|
31
|
-
- 9.0.8
|
|
32
|
-
- 9.1.10
|
|
33
|
-
- 9.2.4 - 9.2.5
|
|
28
|
+
- 8.0 - 8.9 (NOTE: these versions require a security update, according to Logstash!)
|
|
29
|
+
- 8.11 - 8.15 (NOTE: these versions require a security update, according to Logstash!)
|
|
30
|
+
- 8.19.2 (NOTE: this version requires a security update, according to Logstash!)
|
|
31
|
+
- 9.0.8 (NOTE: this version requires a security update, according to Logstash!)
|
|
32
|
+
- 9.1.10 (NOTE: this version requires a security update, according to Logstash!)
|
|
33
|
+
- 9.2.4 - 9.2.5 (NOTE: these versions require a security update, according to Logstash! [Security Update](https://discuss.elastic.co/t/logstash-8-19-14-9-2-8-9-3-3-security-update-esa-2026-29/385816))
|
|
34
|
+
- 9.3.3
|
|
34
35
|
|
|
35
36
|
Please note that when using Logstash 8, it is recommended to disable ECS in the pipeline. For more information refer to [Logstash documentation.](<https://www.elastic.co/guide/en/logstash/8.4/ecs-ls.html>)
|
|
36
37
|
|
|
@@ -94,15 +95,13 @@ To configure Microsoft Sentinel Logstash plugin you first need to create the DCR
|
|
|
94
95
|
|
|
95
96
|
*Note:* The identity (service principal or managed identity) must have the **Monitoring Metrics Publisher** role on the target DCR:
|
|
96
97
|
|
|
97
|
-
```bash
|
|
98
98
|
az role assignment create \
|
|
99
99
|
--assignee <object-id-of-identity> \
|
|
100
100
|
--role "Monitoring Metrics Publisher" \
|
|
101
101
|
--scope "/subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.Insights/dataCollectionRules/<dcr-name>"
|
|
102
|
-
```
|
|
103
102
|
|
|
104
103
|
|
|
105
|
-
## 4. Configure
|
|
104
|
+
## 4. Configure Logstash configuration file
|
|
106
105
|
|
|
107
106
|
Add the `microsoft-sentinel-log-analytics-logstash-output-plugin` block to the `output` section of your Logstash configuration file (e.g., `logstash.conf`). The plugin requires three values from your Azure DCR resources plus authentication credentials depending on your method.
|
|
108
107
|
|
|
@@ -124,7 +123,6 @@ The plugin auto-detects the auth method based on which config values are present
|
|
|
124
123
|
|
|
125
124
|
Provide `client_id`, `client_secret`, and `tenant_id` for your Azure App Registration / service principal.
|
|
126
125
|
|
|
127
|
-
```logstash
|
|
128
126
|
output {
|
|
129
127
|
microsoft-sentinel-log-analytics-logstash-output-plugin {
|
|
130
128
|
data_collection_endpoint => "https://<your-dce-name>.<region>.ingest.monitor.azure.com"
|
|
@@ -135,14 +133,12 @@ Provide `client_id`, `client_secret`, and `tenant_id` for your Azure App Registr
|
|
|
135
133
|
tenant_id => "<your-azure-tenant-id>"
|
|
136
134
|
}
|
|
137
135
|
}
|
|
138
|
-
```
|
|
139
136
|
|
|
140
137
|
|
|
141
138
|
#### Option 2: Managed Identity
|
|
142
139
|
|
|
143
140
|
When running on an Azure VM with a system-assigned managed identity, omit `client_id`, `client_secret`, and `tenant_id`. The plugin will automatically use the VM's managed identity.
|
|
144
141
|
|
|
145
|
-
```logstash
|
|
146
142
|
output {
|
|
147
143
|
microsoft-sentinel-log-analytics-logstash-output-plugin {
|
|
148
144
|
data_collection_endpoint => "https://<your-dce-name>.<region>.ingest.monitor.azure.com"
|
|
@@ -150,13 +146,11 @@ When running on an Azure VM with a system-assigned managed identity, omit `clien
|
|
|
150
146
|
stream_name => "Custom-MyTableRawData_CL"
|
|
151
147
|
}
|
|
152
148
|
}
|
|
153
|
-
```
|
|
154
149
|
|
|
155
150
|
#### Option 3: Client Secret + Sovereign Cloud
|
|
156
151
|
|
|
157
152
|
To authenticate against a sovereign cloud, add `azure_cloud`. Supported values: `AzurePublicCloud` (default), `AzureUSGovernment`, `AzureChinaCloud`, `AzureGermanyCloud`.
|
|
158
153
|
|
|
159
|
-
```logstash
|
|
160
154
|
output {
|
|
161
155
|
microsoft-sentinel-log-analytics-logstash-output-plugin {
|
|
162
156
|
data_collection_endpoint => "https://<your-dce-ingestion-endpoint>"
|
|
@@ -168,11 +162,9 @@ To authenticate against a sovereign cloud, add `azure_cloud`. Supported values:
|
|
|
168
162
|
azure_cloud => "AzureUSGovernment"
|
|
169
163
|
}
|
|
170
164
|
}
|
|
171
|
-
```
|
|
172
165
|
|
|
173
166
|
#### Option 4: Managed Identity + Sovereign Cloud
|
|
174
167
|
|
|
175
|
-
```logstash
|
|
176
168
|
output {
|
|
177
169
|
microsoft-sentinel-log-analytics-logstash-output-plugin {
|
|
178
170
|
data_collection_endpoint => "https://<your-dce-ingestion-endpoint>"
|
|
@@ -181,7 +173,6 @@ To authenticate against a sovereign cloud, add `azure_cloud`. Supported values:
|
|
|
181
173
|
azure_cloud => "AzureUSGovernment"
|
|
182
174
|
}
|
|
183
175
|
}
|
|
184
|
-
```
|
|
185
176
|
---
|
|
186
177
|
Security notice: We recommend not to implicitly state client_id, client_secret, tenant_id, data_collection_endpoint, and dcr_id in your Logstash configuration for security reasons.
|
|
187
178
|
It is best to store this sensitive information in a Logstash KeyStore as described here- ['Secrets Keystore'](<https://www.elastic.co/guide/en/logstash/current/keystore.html>)
|
|
@@ -192,7 +183,6 @@ Security notice: We recommend not to implicitly state client_id, client_secret,
|
|
|
192
183
|
|
|
193
184
|
A complete `logstash.conf` using client secret auth with a Beats input:
|
|
194
185
|
|
|
195
|
-
```logstash
|
|
196
186
|
input {
|
|
197
187
|
beats {
|
|
198
188
|
port => 5044
|
|
@@ -212,7 +202,6 @@ A complete `logstash.conf` using client secret auth with a Beats input:
|
|
|
212
202
|
tenant_id => "72f988bf-86f1-41af-91ab-xxxxxxxxxxxx"
|
|
213
203
|
}
|
|
214
204
|
}
|
|
215
|
-
```
|
|
216
205
|
---
|
|
217
206
|
|
|
218
207
|
## Optional Config Values
|
|
@@ -233,18 +222,17 @@ A complete `logstash.conf` using client secret auth with a Beats input:
|
|
|
233
222
|
| `batcher_workers_count` | *(auto)* | Number of batcher threads |
|
|
234
223
|
| `sender_workers_count` | *(auto)* | Number of sender threads |
|
|
235
224
|
| `unifier_workers_count` | *(auto)* | Number of unifier threads |
|
|
225
|
+
| `id` | `None` | A custom identification tag to be added to sent-batches logs |
|
|
236
226
|
|
|
237
227
|
## Known issues
|
|
238
228
|
|
|
239
229
|
When using Logstash installed on a Docker image of Lite Ubuntu, the following warning may appear:
|
|
240
230
|
|
|
241
|
-
```
|
|
242
231
|
java.lang.RuntimeException: getprotobyname_r failed
|
|
243
|
-
```
|
|
244
232
|
|
|
245
233
|
To resolve it, use the following commands to install the *netbase* package within your Dockerfile:
|
|
246
|
-
```
|
|
234
|
+
```
|
|
247
235
|
USER root
|
|
248
236
|
RUN apt install netbase -y
|
|
249
|
-
```
|
|
237
|
+
```
|
|
250
238
|
For more information, see [JNR regression in Logstash 7.17.0 (Docker)](https://github.com/elastic/logstash/issues/13703).
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.3.0
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
# AUTOGENERATED BY THE GRADLE SCRIPT. EDITS WILL BE OVERWRITTEN.
|
|
2
2
|
# encoding: utf-8
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
require "logstash-output-microsoft-sentinel-log-analytics-logstash-output-plugin_jars"
|
|
3
|
+
require "logstash/outputs/base"
|
|
4
|
+
require "logstash/namespace"
|
|
5
|
+
require "microsoft-sentinel-log-analytics-logstash-output-plugin_jars"
|
|
7
6
|
require "java"
|
|
7
|
+
|
|
8
|
+
class LogStash::Outputs::MicrosoftSentinelLogAnalyticsLogstashOutputPlugin < LogStash::Outputs::Base
|
|
9
|
+
config_name "microsoft-sentinel-log-analytics-logstash-output-plugin"
|
|
10
|
+
|
|
11
|
+
def self.javaClass
|
|
12
|
+
Java::org.logstashplugins.MicrosoftSentinelLogAnalyticsLogstashOutputPlugin.java_class
|
|
13
|
+
end
|
|
14
|
+
end
|
data/lib/logstash_registry.rb
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
# AUTOGENERATED BY THE GRADLE SCRIPT. EDITS WILL BE OVERWRITTEN.
|
|
2
2
|
# encoding: utf-8
|
|
3
|
-
require "logstash
|
|
4
|
-
|
|
3
|
+
require "logstash/plugins/registry"
|
|
4
|
+
|
|
5
|
+
# Workaround for elastic/logstash registry.rb#is_a_plugin? not handling
|
|
6
|
+
# Java plugin classes whose name uses dashes. Strip both '-' and '_'.
|
|
7
|
+
LogStash::Plugins::Registry.class_eval do
|
|
8
|
+
define_method(:is_a_plugin?) do |klass, name|
|
|
9
|
+
if klass.class == Java::JavaLang::Class
|
|
10
|
+
klass.simple_name.downcase == name.gsub(/[-_]/, '')
|
|
11
|
+
else
|
|
12
|
+
klass.ancestors.include?(LogStash::Plugin) && klass.respond_to?(:config_name) && klass.config_name == name
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
require "logstash/outputs/microsoft-sentinel-log-analytics-logstash-output-plugin"
|
|
18
|
+
LogStash::PLUGIN_REGISTRY.add(:output, "microsoft-sentinel-log-analytics-logstash-output-plugin", LogStash::Outputs::MicrosoftSentinelLogAnalyticsLogstashOutputPlugin)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# AUTOGENERATED BY THE GRADLE SCRIPT. EDITS WILL BE OVERWRITTEN.
|
|
2
2
|
Gem::Specification.new do |s|
|
|
3
3
|
s.name = 'microsoft-sentinel-log-analytics-logstash-output-plugin'
|
|
4
|
-
s.version = '2.
|
|
4
|
+
s.version = '2.3.0'
|
|
5
5
|
s.licenses = ['Apache-2.0']
|
|
6
6
|
s.summary = 'Microsoft Sentinel Log Analytics output plugin'
|
|
7
7
|
s.description = 'Microsoft Sentinel provides a new output plugin for Logstash. Use this output plugin to send any log via Logstash to the Microsoft Sentinel/Log Analytics workspace. This is done with the Log Analytics DCR-based API.'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: microsoft-sentinel-log-analytics-logstash-output-plugin
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.3.0
|
|
5
5
|
platform: java
|
|
6
6
|
authors:
|
|
7
7
|
- Microsoft
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-06-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -67,14 +67,15 @@ executables: []
|
|
|
67
67
|
extensions: []
|
|
68
68
|
extra_rdoc_files: []
|
|
69
69
|
files:
|
|
70
|
+
- CHANGELOG.md
|
|
70
71
|
- Gemfile
|
|
71
72
|
- README.md
|
|
72
73
|
- VERSION
|
|
73
|
-
- lib/logstash-output-microsoft-sentinel-log-analytics-logstash-output-plugin_jars.rb
|
|
74
74
|
- lib/logstash/outputs/microsoft-sentinel-log-analytics-logstash-output-plugin.rb
|
|
75
75
|
- lib/logstash_registry.rb
|
|
76
|
+
- lib/microsoft-sentinel-log-analytics-logstash-output-plugin_jars.rb
|
|
76
77
|
- logstash-output-microsoft-sentinel-log-analytics-logstash-output-plugin.gemspec
|
|
77
|
-
- vendor/jar-dependencies/org/logstashplugins/
|
|
78
|
+
- vendor/jar-dependencies/org/logstashplugins/microsoft-sentinel-log-analytics-logstash-output-plugin/2.3.0/microsoft-sentinel-log-analytics-logstash-output-plugin-2.3.0.jar
|
|
78
79
|
homepage:
|
|
79
80
|
licenses:
|
|
80
81
|
- Apache-2.0
|