ELK日誌分析解決方案

 

 

概要

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

Elasticsearch:日誌查詢分析引擎app

Logstash日誌蒐集過濾lua

Kibana:可視化操做界面,spa

固然不限於上面3個還有不少能夠附加的插件,核心的三個部分都是開源的插件

 

 

快速示例 .Net+ElasticSearch+Kibana

添加NuGet包:日誌

log4netcode

log4net.ElasticSearchhtm

 配置好log4net:blog

  <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

相關文章
相關標籤/搜索