ELK Docker版集成.net abp log4net使用

本文介绍如何将ELK与.NET ABP应用的日志系统整合,利用log4net将日志数据接入ELK Docker镜像。在集成过程中,解决了max_map_count报错问题,并提供log4net与log4stash的配置方法,使得在Docker部署后,通过调整环境变量即可完成ELK配置。同时展示了在ABP框架中集成log4stash的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要记录使用ELK完成业务系统的日志收集,主要使用log4net进行数据入职对接。
相关连接:
ELK docker img: https://hub.docker.com/r/sebp/elk
说明文档: https://elk-docker.readthedocs.io/#usage

docker 版本安装:docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it -d --restart=always --name elk sebp/elk

遇到报错信息:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修复方法:
永久解决:在/etc/sysctl.conf文件最后添加一行:vm.max_map_count=262144 重启虚拟机
临时解决:sysctl -w vm.max_map_count=262144

Kinaba的可视化端口为:5601
在这里插入图片描述
项目中需要引入Log4net 与 log4stash两个nuget包即可。
log4stash源码与配置文档可以参考地址:https://github.com/urielha/log4stash
在这里插入图片描述
log4net.config配置文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <appender name="ElasticSearchAppender" type="log4stash.ElasticSearchAppender, log4stash">
      <Server>localhost</Server>
      <Port>9200</Port>
      <IndexName>log_test_%{+yyyy-MM-dd-mm}</IndexName>
      <IndexType>LogEvent</IndexType>
      <Bulksize>2000</Bulksize>
      <BulkIdleTimeout>10000</BulkIdleTimeout>
      <IndexAsync>True</IndexAsync>
    </appender>
    <logger name="log">
      <!--(高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低) -->
      <level value="INFO" />
      <appender-ref ref="ElasticSearchAppender"/>
    </logger>
  </log4net>
</configuration>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值