Elastic.Ingest.Elasticsearch.CommonSchema 8.11.1
前缀已保留
dotnet add package Elastic.Ingest.Elasticsearch.CommonSchema --version 8.11.1
NuGet\Install-Package Elastic.Ingest.Elasticsearch.CommonSchema -Version 8.11.1
<PackageReference Include="Elastic.Ingest.Elasticsearch.CommonSchema" Version="8.11.1" />
paket add Elastic.Ingest.Elasticsearch.CommonSchema --version 8.11.1
#r "nuget: Elastic.Ingest.Elasticsearch.CommonSchema, 8.11.1"
// Install Elastic.Ingest.Elasticsearch.CommonSchema as a Cake Addin #addin nuget:?package=Elastic.Ingest.Elasticsearch.CommonSchema&version=8.11.1 // Install Elastic.Ingest.Elasticsearch.CommonSchema as a Cake Tool #tool nuget:?package=Elastic.Ingest.Elasticsearch.CommonSchema&version=8.11.1
Elastic.Ingest.Elasticsearch.CommonSchema
Elastic.Ingest.Elasticsearch 的一个专业化版本,提供了两种通道实现,便于编写 ECS 格式的数据以及使用 ECS 映射和设置引导目标数据流/索引。
EcsDataStreamChannel<TEvent>
一个将数据写入带时间戳的 Elasticsearch 数据流的通道。
可以创建通道以将数据推送到 logs-dotnet-default
数据流。
var dataStream = new DataStreamName("logs", "dotnet");
var bufferOptions = new BufferOptions { }
var options = new DataStreamChannelOptions<EcsDocument>(transport)
{
DataStream = dataStream,
BufferOptions = bufferOptions
};
var channel = new EcsDataStreamChannel<EcsDocument>(options);
注意:在此处了解更多有关 Elastic 数据流命名约定的内容: https://elastic.ac.cn/blog/an-introduction-to-the-elastic-data-stream-naming-scheme
现在可以使用 EcsDataStreamChannel
将数据推送到 Elasticsearch
var doc = new EcsDocument
{
Timestamp = DateTimeOffset.Now,
Message = "Hello World!",
}
channel.TryWrite(doc);
EcsIndexChannel<TEvent>
一个专门用于将目录数据写入Elastic索引的频道。
我们可以创建一个EcsIndexChannel<>
来推送EcsDocument
(或其子类)实例。
var options = new IndexChannelOptions<EcsDocument>(transport)
{
IndexFormat = "catalog-data-{0:yyyy.MM.dd}",
// BulkOperationIdLookup = c => null,
TimestampLookup = c => c.Timestamp,
};
var channel = new EcsIndexChannel<CatalogDocument>(options);
现在我们可以使用以下方式推送数据
var doc = new CatalogDocument
{
Created = date,
Title = "Hello World!",
Id = "hello-world"
}
channel.TryWrite(doc);
这将把数据推送到catalog-data-2023.01.1
,因为TimestampLookup
将Timestamp
传递给IndexFormat
。
IndexFormat
也可以简单地是一个固定字符串,用于写入Elasticsearch别名/索引。
BulkOperationIdLookup
确定文档是否应该使用create
或index
操作推送到Elasticsearch。
初始化目标Datastream或Index
可选地,可以使用以下方式初始化目标数据流或索引。
await channel.BootstrapElasticsearchAsync(BootstrapMethod.Failure, "7-days-default");
这将初始化
- 设置所有ECS字段集的组件模板
- 为数据流/索引创建一个特殊的
*-settings
组件模板,用于设置ILM。 - 为目标数据流或索引设置索引模板。
如果索引模板已经存在,则不会发生进一步的初始化。
与Elastic.Ingest.Elasticsearch
一样,该频道意识到logs
和metrics
有默认的组件模板,并确保新的索引模板引用了它们。
产品 | 版本 兼容和额外的目标框架版本。 |
---|---|
.NET | net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
.NET Core | netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。 |
.NET Standard | netstandard2.0 兼容。 netstandard2.1 兼容。 |
.NET Framework | net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
MonoAndroid | monoandroid 已计算。 |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen40 已计算。 tizen60 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETStandard 2.0
- Elastic.CommonSchema (>= 8.11.1)
- Elastic.Ingest.Elasticsearch (>= 0.7.0)
-
.NETStandard 2.1
- Elastic.CommonSchema (>= 8.11.1)
- Elastic.Ingest.Elasticsearch (>= 0.7.0)
NuGet 包 (6)
显示依赖 Elastic.Ingest.Elasticsearch.CommonSchema 的前 5 个 NuGet 包
包 | 下载 |
---|---|
Elastic.Serilog.Sinks 包描述 |
|
Elastic.CommonSchema.BenchmarkDotNetExporter 使用 Elastic Common Schema (ECS) 格式将 BenchmarkDotNet 基准测试导出到 Elasticsearch |
|
Elastic.Extensions.Logging Elasticsearch 日志提供程序用于Microsoft.Extensions.Logging。直接使用Elastic Common Schema (ECS)写入 Elasticsearch,通过消息和范围值的结构化数据语义化日志,用于与Elasticsearch-Logstash-Kibana (ELK) 堆栈一起使用。结果可以在Kibana控制台中查看和查询。 |
|
Elasticsearch.Extensions.Logging Elasticsearch 日志提供程序用于Microsoft.Extensions.Logging。直接使用Elastic Common Schema (ECS)写入 Elasticsearch,通过消息和范围值的结构化数据语义化日志,用于与Elasticsearch-Logstash-Kibana (ELK) 堆栈一起使用。结果可以在Kibana控制台中查看和查询。 |
|
Elastic.CommonSchema.Serilog.Sink 包描述 |
GitHub 仓库
此包未用于任何流行的GitHub 仓库。
版本 | 下载 | 最后更新 |
---|---|---|
8.11.1 | 69,328 | 6/10/2024 |
8.11.0 | 66,578 | 4/10/2024 |
8.6.1 | 435,357 | 8/3/2023 |
8.6.0 | 82,980 | 5/9/2023 |
8.4.0-alpha4 | 18,705 | 3/28/2023 |
8.4.0-alpha3 | 338 | 3/15/2023 |
8.4.0-alpha2 | 514 | 3/1/2023 |
8.4.0-alpha1 | 527 | 2/20/2023 |