博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ELK系列(二):.net core中使用ELK
阅读量:5073 次
发布时间:2019-06-12

本文共 1820 字,大约阅读时间需要 6 分钟。

ELK安装好后,我们现在.net Core中使用一下,大体思路就是结合NLog日志组件将数据写入ELK中,其它语言同理。

ELK的安装还是有些复杂的,我们也可以在Docker中安装ELK:docker run -it --rm -p 9200:9200 -p 5601:5601 --name esk nshou/elasticsearch-kibana

这条命令执行完成后,我们就在本地运行了elasticsearch和Kibana,没有错误的话我们就可以通过localhost:5601直接访问Kibana界面了:

这里我们可以看到在一个容器里运行了多个程序,这样节省了资源,同样增加了管理的复杂性,不建议在生产环境中这样使用。

同样我们也可以通过localhost:9200访问elasticsearch,返回如下数据:

有了elasticsearch和kibana我们还需要logstash,我这里以阿里云上安装的logstash为例,首先进到目录下,我们需要新增一个nlog.conf配置文件:

内容如下:

这里使用最简单的配置(其实是复杂的配置我一时还没看懂。。。),这里我们指定监听端口8001,同时指定数据输出到elasticsearch中,下面是它的IP和端口。

添加完配置文件后在logstash文件夹下通过:bin/logstash -f nlog.conf 运行当前配置。

elasticsearch和kibana正常运行就可以,这样我么的ELK就算都运行起来了。

 

 

新建一个.net core API项目,通过Nuget安装Nlog依赖包:

 

 

在Startup.cs添加Nlog服务

我们这里用到了一个配置文件nlog.conf,配置如下:

注意点是下面这里我们需要指定logstash的地址和端口:

然后我们在默认的ValueController中使用如下:

public class ValuesController : Controller    {        private readonly ILogger _logger=LogManager.GetCurrentClassLogger();        // GET api/values        [HttpGet]        public IEnumerable
Get() { _logger.Info("这是一条测试日志信息"); _logger.Warn("这是一条测试日志信息Warn"); _logger.Error("这是一条测试日志信息Error"); return new string[] { "value1", "value2" }; } }

如何不出问题的话,F5之后数据已经被写入ELK,如图:

 

这里只是简单的展示如何在程序里集成ELK,公司里并不是用的NLog日志组件,是架构组封装的日志组件,当然,方法原理都是一样的,通过logstash将日志数据输出到elasticsearch,通过kibana展示。

 

参考文章:

https://blog.csdn.net/quryktcs/article/details/71331718

https://www.cnblogs.com/piscesLoveCc/p/7230426.html

转载于:https://www.cnblogs.com/weiBlog/p/9744597.html

你可能感兴趣的文章
多服务器操作利器 - Polysh
查看>>
jQuery 自定义函数
查看>>
jquery datagrid 后台获取datatable处理成正确的json字符串
查看>>
ActiveMQ与spring整合
查看>>
web服务器
查看>>
网卡流量检测.py
查看>>
ajax
查看>>
poj1981 Circle and Points 单位圆覆盖问题
查看>>
POP的Stroke动画
查看>>
SQL语句在查询分析器中可以执行,代码中不能执行
查看>>
yii 1.x 添加 rules 验证url数组
查看>>
html+css 布局篇
查看>>
SQL优化
查看>>
用C语言操纵Mysql
查看>>
轻松学MVC4.0–6 MVC的执行流程
查看>>
redis集群如何清理前缀相同的key
查看>>
Python 集合(Set)、字典(Dictionary)
查看>>
获取元素
查看>>
proxy写监听方法,实现响应式
查看>>
第一阶段冲刺06
查看>>