本文主要记录使用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>
</c