1. 程式人生 > >ELK日誌分析解決方案

ELK日誌分析解決方案

 

 

概要

ELK(Elasticsearch , Logstash, Kibana的簡稱)是目前比較流行的日誌分析解決方案,核心包括了三個部分

Elasticsearch:日誌查詢分析引擎

Logstash日誌蒐集過濾

Kibana:視覺化操作介面,

當然不限於上面3個還有很多可以附加的外掛,核心的三個部分都是開源的

 

 

快速示例 .Net+ElasticSearch+Kibana

新增NuGet包:

log4net

log4net.ElasticSearch

 配置好log4net:

  <log4net
> <root> <level value="ALL" /> <appender-ref ref="rollingFile" /> <appender-ref ref="ErrorRollingFile" /> <appender-ref ref="ElasticSearchAppender" /> </root> <appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net"
> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="DEBUG" /> <levelMax value="WARN" /> </filter> <!--日誌的路徑--> <param name="File" type="" value="D://WebLog//Log4NetTest.App//" /> <param name="Encoding" value
="UTF-8"/> <!--是否覆蓋,預設是追加true--> <param name="AppendToFile" value="true" /> <param name="RollingStyle" value="Date" /> <!--檔名稱--> <param name="DatePattern" value="yyyy-MM-dd'.Debug.log'" /> <!--設定無限備份=-1 ,最大備份數為1000--> <param name="MaxSizeRollBackups" value="1000" /> <!--每個檔案的大小--> <param name="MaximumFileSize" value="102KB" /> <!--名稱是否可以更改為false為可以更改--> <param name="StaticLogFileName" value="false" /> <layout type="log4net.Layout.PatternLayout,log4net"> <!--輸出格式--> <param name="ConversionPattern" value="[%date] [%thread] %-5level Log4NetTest %logger %method [%message%exception]%n" /> </layout> </appender> <appender name="ErrorRollingFile" type="log4net.Appender.RollingFileAppender,log4net"> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="ERROR" /> <levelMax value="FATAL" /> </filter> <!--日誌的路徑--> <param name="File" type="" value="D://WebLog//Log4NetTest.App//" /> <param name="Encoding" value="UTF-8"/> <!--是否覆蓋,預設是追加true--> <param name="AppendToFile" value="true" /> <param name="RollingStyle" value="Date" /> <!--檔名稱--> <param name="DatePattern" value="yyyy-MM-dd'.Error.log'" /> <!--設定無限備份=-1 ,最大備份數為1000--> <param name="MaxSizeRollBackups" value="1000" /> <!--每個檔案的大小--> <param name="MaximumFileSize" value="102KB" /> <!--名稱是否可以更改為false為可以更改--> <param name="StaticLogFileName" value="false" /> <layout type="log4net.Layout.PatternLayout,log4net"> <!--輸出格式--> <param name="ConversionPattern" value="[%date] [%thread] %-5level Log4NetTest %l [%message%n%exception]%n"/> </layout> </appender> <appender name="ElasticSearchAppender" type="log4net.ElasticSearch.ElasticSearchAppender, log4net.ElasticSearch"> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n" /> </layout> <connectionString value="Server=10.10.10.57;Index=log_test;Port=9200;rolling=false"/> <lossy value="false" /> <evaluator type="log4net.Core.LevelEvaluator"> <threshold value="ALL" /> </evaluator> <bufferSize value="1" /> </appender> </log4net>

 

 

 

資源:

搭建:

https://www.cnblogs.com/yuhuLin/p/7018858.html