使用NLog+ElasticSearch+Logstach+Kibana搭建日志监控平台

使用NLog+ElasticSearch+Logstach+Kibana搭建日志监控平台

  • 1) 目标效果预览
  • 2) 涉及知识预览
  • 3) 简单原理介绍
  • 4) 快速搭建
    • 1、新建NLog控制台程序项目
    • 2、Logstash的安装和配置
    • 3、ElasticSearch的安装和配置
    • 4、Kibana的安装和配置

1) 目标效果预览

使用NLog+ElasticSearch+Logstach+Kibana搭建日志监控平台_第1张图片

2) 涉及知识预览

  1. NLog :
    i. 是一个基于.NET平台编写的类库,它是一个简单灵活的.NET日志记录类库。通过使用NLog,我们可以根据喜好配置其表现样式之后发送到一个或多个输出目标(target)中。
  2. ElasticSearch
    i. Elasticsearch 是基于 JSON 的分布式搜索和分析引擎,专为实现水平扩展、高可靠性和管理便捷性而设计。
    ii. 下载地址:https://www.elastic.co/cn/downloads/elasticsearch
  3. Logstash
    i. Logstash 是动态数据收集管道,拥有可扩展的插件生态系统,能够与 Elasticsearch 产生强大的协同作用。
    ii. 下载地址:https://www.elastic.co/cn/downloads/logstash
  4. Kibana
    i. Kibana 能够以图表的形式呈现数据,并且具有可扩展的用户界面,供您全方位配置和管理 Elastic Stack。
    ii. 下载地址:https://www.elastic.co/cn/downloads/kibana
  5. JDK环境
    i. ElasticSearch和Logstash都需要JDK的支持,且JDK的版本需1.8及其以上。

3) 简单原理介绍

使用NLog+ElasticSearch+Logstach+Kibana搭建日志监控平台_第2张图片图片来自官网https://www.elastic.co/cn/products/

4) 快速搭建

1、新建NLog控制台程序项目

i. 新建一个控制台程序,添加NLog库。
ii. 修改NLog.Config配置文件,如下

// NLog config
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
      autoReload="true"
      throwExceptions="false"
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
  <!-- optional, add some variables
  https://github.com/nlog/NLog/wiki/Configuration-file#variables
  -->
  <variable name="myvar" value="myvalue"/>
  <!--
  See https://github.com/nlog/nlog/wiki/Configuration-file
  for information on customizing logging rules and outputs.
   -->
  <targets>
    <target name="network" xsi:type="Network" address="udp://192.168.1.102:5044" layout="${message}"/>
  </targets>		
  <rules>
    <logger name="*" minlevel="Debug" writeTo="network" />
  </rules>
</nlog>

iii. 新增日志代码:

class Program
    {
        public static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
        static void Main(string[] args)
        {
            while (true)
            {
                logger.Info("1:setup logstash ");
                logger.Debug("2:add new file[first-pipeline.conf] into logstash config");
                logger.Warn("3:add and start Nlog Demo");
                logger.Error("4:see message in logstash console");
                logger.Debug("5:setup elasticsearch");
                logger.Debug("6:setup kibana");
                Console.WriteLine("success");
                Console.ReadKey();
            }
        }
    }

2、Logstash的安装和配置

i. 下载Logstash
》》【https://www.elastic.co/cn/downloads/logstash】
ii. Logstash配置
》》解压文件,并进行config目录,新增first-pipeline.conf文件

input {
   udp{
        host=>"192.168.1.102"
        port=>5044
    } 
}

output {
  stdout{codec=>rubydebug}
     elasticsearch {
        hosts => ["127.0.0.1:9200"]
        index => "logstash-%{+YYYY.MM.dd}"
        document_type => "logs"
        }
}

iii. 启动Logstash
》》通过cmd命令进入Logstash的Bin文件下,执行命令
logstash -f …/config/first-pipeline.conf --config.reload.automatic

3、ElasticSearch的安装和配置

i. 下载
》》【https://www.elastic.co/cn/downloads/elasticsearch】
ii. 启动
》》进入bin文件,双击elasticsearch.bat文件
iii. 打开地址 http://127.0.0.1:9200/

4、Kibana的安装和配置

i. 下载
》》【https://www.elastic.co/cn/downloads/kibana】
ii. 启动
》》双击bin文件下的kibana.bat
iii. 打开网址

你可能感兴趣的:(教程)