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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0f77b193c8121a3b1e99f505cbf101c5f882f8bc307c7e44d5d23c26775230a3
4
- data.tar.gz: d4ad2452b52b6c7e17e7ee60264eece406f38a45f0be65c84fea33e770134d6c
3
+ metadata.gz: 627bb4ae14cbb73ebfadd92ba9342f81fddba5f96a6537fd416da8ce6b19b322
4
+ data.tar.gz: 4b3c7f257296155d58cb48cffa520e992cfecb7028434c0ecef77823d99473df
5
5
  SHA512:
6
- metadata.gz: 1994c3752c45290802f5979b00ca25ac27e3bf3d5dd6237741ff29332077b255f433857ab3485c57cccdf2f402a2d7efd25b357b61ead3eb3dcb26515e4a9a22
7
- data.tar.gz: cd681f40f8fa06b4eda60015052cd247904acdaefea5dc9294cdb017b64ffa30b10f15d47dfab9b539714cfd7f14d7fa4dd6c39893c12e56bb8bd750678c83d2
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.2.0
7
- Released on: 2026-05-04
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 the Output Plugin
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
- ```bash
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.2.0
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
- # NOTE: Java plugin (no Ruby plugin class). This file exists only to ensure
5
- # jar-dependencies loads the packaged jar into JRuby's classpath.
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
@@ -1,4 +1,18 @@
1
1
  # AUTOGENERATED BY THE GRADLE SCRIPT. EDITS WILL BE OVERWRITTEN.
2
2
  # encoding: utf-8
3
- require "logstash-output-microsoft-sentinel-log-analytics-logstash-output-plugin_jars"
4
- require "java"
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)
@@ -0,0 +1,5 @@
1
+ # AUTOGENERATED BY THE GRADLE SCRIPT. EDITS WILL BE OVERWRITTEN.
2
+ # encoding: utf-8
3
+
4
+ require 'jar_dependencies'
5
+ require_jar('org.logstashplugins', 'microsoft-sentinel-log-analytics-logstash-output-plugin', '2.3.0')
@@ -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.2.0'
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.2.0
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-05-04 00:00:00.000000000 Z
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/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
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
@@ -1,5 +0,0 @@
1
- # AUTOGENERATED BY THE GRADLE SCRIPT. EDITS WILL BE OVERWRITTEN.
2
- # encoding: utf-8
3
-
4
- require 'jar_dependencies'
5
- require_jar('org.logstashplugins', 'logstash-output-microsoft-sentinel-log-analytics-logstash-output-plugin', '2.2.0')