.netcore3.1使用ELK日志中心(使用NLog数据传输)
2020-12-16 22:12
标签:创建索引 nec 模板 sam 解决 mvc start pen sdn ELK是elasticsearch、kibana、Logstash组合而成的整套解决方案,前面我们使用skywalking时候已经部署好elasticsearch(参见上一篇随笔),接下来只需要安装Logstash和kibana即可 前面使用的elasticsearch是7.5.0版本,这里kibana选择相同版本: 运行: 浏览器访问: 进入容器查看配置文件: 将配置文件中的http://elasticsearch:9200改为http://192.168.56.10:9200 重启容器: 还是出现问题则稍等1分钟,重试,页面正常加载: 同样选择7.5.0版本: 查看日志: 进入容器 修改配置文件: 重启: 在最后增加配置 先看结果: Logstatsh配置文件logstash.conf中配置的output属性: Index patterns这里同样输入sample* 其他输入项目前还没搞清楚是干嘛的,反正是可选项,直接下一步,完成创建即可。 首页即会提示创建,或者点击最左上角图标到主页,再点击 配置页,输入sample*,直接下一步即可(全部按默认创建,显示所有字段即可) 可以看到上面写入的日志记录了 到这里,基本的日志写入和呈现就完成了。 参考: https://blog.csdn.net/xiaozm1223/article/details/89475003 https://www.cnblogs.com/chongyao/p/14098197.html https://www.cnblogs.com/Leo_wl/p/11796634.html .netcore3.1使用ELK日志中心(使用NLog数据传输) 标签:创建索引 nec 模板 sam 解决 mvc start pen sdn 原文地址:https://www.cnblogs.com/wanggang2016/p/14121095.html1、ELK部署
1.1、安装kibana
docker run -d --restart=always --name kibana -e ELASTICSEARCH_URL=http://192.168.56.10:9200 -p 5601:5601 kibana:7.5.0
docker exec -it kibana /bin/bash
docker restart kibana
1.2、安装Logstash
sudo docker pull logstash:7.5.0
1.2.1、启动
docker run -d --name=logstash -p 5044:5044 logstash:7.5.0
docker logs -f logstash
docker exec -it logstash /bin/bash
vi config/logstash.yml
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.56.10:9200" ]
vi pipeline/logstash.conf
input {
tcp {
port => 5044
}
}
filter {
grok {
match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" }
}
}
output {
elasticsearch {
hosts => "192.168.56.10:9200"
index => "sample"
}
stdout {
codec => rubydebug
}
}
docker restart logstash
2、NetCore 使用 ELK
2.1、添加NLog、NLog.Web.AspNetCore nuget包
2.2、根目录添加配置文件nlog.config
xml version="1.0" encoding="utf-8"?>
nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true"
internalLogLevel="Warn"
internalLogFile="internal-nlog.txt">
extensions>
add assembly="NLog.Web.AspNetCore"/>
extensions>
variable name="logDirectory" value="${basedir}/logs/${shortdate}"/>
variable name="nodeName" value="node1"/>
targets async="true">
target xsi:type="File"
name="allfile"
fileName="${logDirectory}/nlog-all/${shortdate}.log"
layout="#node1#${longdate}#${logger}#${uppercase:${level}}#${callsite}#${callsite-linenumber}#${aspnet-request-url}#${aspnet-request-method}#${aspnet-mvc-controller}#${aspnet-mvc-action}#${message}#${exception:format=ToString}#"
keepFileOpen="false"
/>
target xsi:type="File"
name="ownLog-file"
fileName="${logDirectory}/nlog-${level}/${shortdate}.log"
layout="#${longdate}#${nodeName}#${logger}#${uppercase:${level}}#${callsite}#${callsite-linenumber}#${aspnet-request-url}#${aspnet-request-method}#${aspnet-mvc-controller}#${aspnet-mvc-action}#${message}#${exception:format=ToString}#"
keepFileOpen="false"
/>
target xsi:type="Network"
name="ownLog-tcp"
keepConnection="false"
address ="tcp://192.168.56.10:5044"
layout="#${longdate}#${nodeName}#${logger}#${uppercase:${level}}#${callsite}#${callsite-linenumber}#${aspnet-request-url}#${aspnet-request-method}#${aspnet-mvc-controller}#${aspnet-mvc-action}#${message}#${exception:format=ToString}#"
/>
target xsi:type="Null" name="blackhole" />
targets>
rules>
logger name="*" minlevel="Trace" writeTo="allfile" />
logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" />
logger name="*" minlevel="Debug" writeTo="ownLog-file" />
logger name="*" minlevel="Info" writeTo="ownLog-tcp" />
rules>
nlog>
2.3、修改Program
ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
}).UseNLog();
2.4、修改Startup
var currentClassLogger = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
services.AddSingleton(currentClassLogger);
2.5、写入测试(接口必须访问几遍,不然下面Kibana面板上无数据)
public class HealthCheckController : ControllerBase
{
private readonly ILogger
3、Kibana查看数据
3.1、首先创建索引模板:
3.2、根据索引模板查看数据
3.3、点击Discover
文章标题:.netcore3.1使用ELK日志中心(使用NLog数据传输)
文章链接:http://soscw.com/index.php/essay/36764.html