elasticsearch,logging,docker-compose,asp.net-core-webapi,C#,elasticsearch,Logging,Docker Compose,Asp.net Core Webapi" /> elasticsearch,logging,docker-compose,asp.net-core-webapi,C#,elasticsearch,Logging,Docker Compose,Asp.net Core Webapi" />

C# 如何不使用Kibana直接从elasticsearch读取日志

C# 如何不使用Kibana直接从elasticsearch读取日志,c#,elasticsearch,logging,docker-compose,asp.net-core-webapi,C#,elasticsearch,Logging,Docker Compose,Asp.net Core Webapi,我有一个用C#编写的ASP.NET核心Web API,其中包括docker compose、elasticsearch、serilog和Kibana。我计划从docker-compose.yml文件中删除Kibana。Serilog生成日志文件后,将接收器配置为Elasticsearch,以便它可以将日志写入Elasticsearch可以读取的位置我如何阅读elasticsearch中的日志,而不必去Kibana查看日志并阅读它们? 关于这方面的文档和/或软件包是否有任何建议,或者这是否需要从头

我有一个用C#编写的ASP.NET核心Web API,其中包括docker compose、elasticsearch、serilog和Kibana。我计划从docker-compose.yml文件中删除Kibana。Serilog生成日志文件后,将接收器配置为Elasticsearch,以便它可以将日志写入Elasticsearch可以读取的位置我如何阅读elasticsearch中的日志,而不必去Kibana查看日志并阅读它们?

关于这方面的文档和/或软件包是否有任何建议,或者这是否需要从头开始编程?


建议尝试:

我去了,然后我作为管理员去了powershell,做了一个
wget(url)
。下载后,我运行了
tar-xzf-kafka_2.13-2.8.0.tgz
&
cd卡夫卡2.13-2.8.0
。然后我按照你的建议激活Zookeeper broker和Kafka,然后创建主题。然而,当你说要做的每一步都没有发生。我会尝试激活zookeeper,它会告诉我如何打开文件,所以我只需按ESC键,然后运行其他命令,但会出现同样的情况。这应该这样做吗


使用log4net作为日志提供,它是。这个appender将在每个级别生成您的操作日志,以主题和it消费者为对象,然后Logstash将这些日志作为输出接收到您的弹性索引中

在这个路线图中有很多特权,您拥有超级强大的流处理器,如ApacheKafka,其基于队列的消息传递功能可帮助您始终跟踪它生成的每个日志。另一个是Logstash,您甚至可以添加更多流处理器和grok之类的过滤器,并具有多个输出,甚至可以将日志存储为Csv或文件系统

首先激活Zookeeper和Kafka broker,并在下载的Kafka文件的bin目录中创建一个具有某个主题名称的使用者:

激活Zookeeper代理

./zookeeper-server-start.sh ../config/zookeeper.properties
激活卡夫卡经纪人

./kafka-server-start.sh ../config/server.properties
创建主题

./kafka-topics.sh --create --topic test-topic -zookeeper localhost:2181 --replication-factor 1 --partitions 4
所创建主题的活动使用者

./kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic
然后添加用于消费日志的创建主题的日志追加器(此主题由您决定),然后创建一个日志存储管道,如下面的配置

输入{
卡夫卡{
组id=>“35834”
主题=>[“yourtopicname”]
引导服务器=>“本地主机:9092”
编解码器=>json
}
}
滤器{
}
输出{
文件{
路径=>“C:\somedirectory”
}
弹性搜索{
hosts=>[“localhost:9200”]
文档类型=>“\u文档”
index=>“yourindexname”
}
stdout{codec=>rubydebug
}

}
使用log4net作为日志提供,它是。这个appender将生成每个级别的操作日志到主题,然后Logstash将这些日志作为输出接收到您的弹性索引中

在这个路线图中有很多特权,您拥有超级强大的流处理器,如ApacheKafka,其基于队列的消息传递功能可帮助您始终跟踪它生成的每个日志。另一个是Logstash,您甚至可以添加更多流处理器和grok之类的过滤器,并具有多个输出,甚至可以将日志存储为Csv或文件系统

首先激活Zookeeper和Kafka broker,并在下载的Kafka文件的bin目录中创建一个具有某个主题名称的使用者:

激活Zookeeper代理

./zookeeper-server-start.sh ../config/zookeeper.properties
激活卡夫卡经纪人

./kafka-server-start.sh ../config/server.properties
创建主题

./kafka-topics.sh --create --topic test-topic -zookeeper localhost:2181 --replication-factor 1 --partitions 4
所创建主题的活动使用者

./kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic
然后添加用于消费日志的创建主题的日志追加器(此主题由您决定),然后创建一个日志存储管道,如下面的配置

输入{
卡夫卡{
组id=>“35834”
主题=>[“yourtopicname”]
引导服务器=>“本地主机:9092”
编解码器=>json
}
}
滤器{
}
输出{
文件{
路径=>“C:\somedirectory”
}
弹性搜索{
hosts=>[“localhost:9200”]
文档类型=>“\u文档”
index=>“yourindexname”
}
stdout{codec=>rubydebug
}

}
您可以使用.NET使用两个官方客户端之一进行elasticsearch


有一个低级别和高级别客户端,您可以在中阅读更多关于差异以及如何使用每一个的信息。

您可以使用.NET使用两个官方客户端中的一个进行elasticsearch


有一个低级别和高级别客户端,您可以阅读更多关于差异的信息以及如何使用中的每一个。

因此,使用Apache Kafka(),这将允许我能够读取、写入、存储和处理我创建的C#应用程序中出现的日志。正确吗?因此,在创建主题之后,我将创建一个logstash管道,以便将这些日志传递到logstash,这将允许我在可以查看日志的地方显示日志?如果我最终想在直接从elasticsearch读取日志后使用Grafana查看日志,则日志库将允许我通过将其导入Grafana来纠正此错误?另一方面,请参阅原始问题帖子上的建议尝试。是的,在最后阶段,您可以使用Kibana,Grafana或任何其他observibility dashboard为了跟踪所有更改,我们在一些应用程序和企业产品中使用了此过程和路线图。这两个链接将帮助您开始使用Apache Kafka,启动Zookeeper,然后启动Kafka broker,然后创建主题,然后为该主题添加一个简单的使用者,然后再添加。使用ApacheKafka(),我可以读取、写入、存储和处理我创建的C#应用程序中的日志,对吗?因此,在创建主题之后,我将创建一个logstash管道,以便将这些日志传递到logstash,这将允许我在可以查看日志的地方显示日志?如果我最终想在直接从elasticsearch读取日志后使用Grafana查看日志,那么日志库将允许我这样做