zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    java几种数据的默认扩容机制
    web.xml配置详解
    Bootstrap文件上传组件
    JAVA四则运算算法
    Oracle 和 mysql 的批量操作Sql语句 的区别
    JAVA使用ItextPDF
    c# 状态机实现
    c++11模拟boost元占位符placeholder
    vs2012 函数参数内存对齐引发编译错误
    windows下matplotlib编译安装备忘
  • 原文地址:https://www.cnblogs.com/xmai/p/9764474.html
Copyright © 2011-2022 走看看