精华内容
下载资源
问答
  • ELK搭建

    2020-09-28 00:59:17
    前言 在前篇文章简单介绍ELK和相关的组件ELK架构介绍,在...ELK搭建 1.ELK架构介绍 2.ElasticSearch搭建 3.Kibana搭建 4.ElasticSearch-head搭建 5.Logstash搭建 6.Kafka搭建 7.Kafka-manager搭建 8.Filebeat搭建 搭建

    前言

    在前篇文章简单介绍ELK和相关的组件ELK架构介绍,在写这篇文章之后本来是不打算搭建ELK的,过了几天吧,公司测试小哥说要看项目日志,而我们后端开发是按模块开发的,所以日志不集中,也没有统一部署到测试服务器上,那么正好找个借口帮公司搭建ELK日志收集系统!

    ELK搭建

    1.ELK架构介绍

    2.ElasticSearch搭建

    3.Kibana搭建

    4.ElasticSearch-head搭建

    5.Logstash搭建

    6.Kafka搭建

    7.Kafka-manager搭建

    8.Filebeat搭建

    搭建好的架构

    在这里插入图片描述

    这里Filebeat是将项目日志从Win/Lin的目录读取并写入Kafka,Kafka其实不一定需要,若是日志打印量特别大的情况可以考虑架设,Logstash则是从Kafka中读取数据存入到ES中,Kafka-Manager负责管理Kafka集群,Head负责ES集群管理,Kibana则读取ES数据负责ES数据可视化操作

    完整链路测试

    1.启动ES
    在这里插入图片描述
    2.启动Kibana
    在这里插入图片描述
    在这里插入图片描述
    3.启动Head
    在这里插入图片描述
    4.启动Kafka
    在这里插入图片描述
    5.启动Kafka-Manager
    在这里插入图片描述

    6…启动Logstash
    这里配置文件为读取Kafka写入ES
    在这里插入图片描述
    7.启动Filebeat
    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • elk 搭建

    2020-03-18 22:10:19
    1.创建用户 ...2.在根目录下创建目录 elk cd / mkdir elk elk 目录下创建 es cd elk mkdir es 3.更改目录elk的用户权限 chown elsearch:elsearch elk/ -R 4. 下载elk 安装包 下载可以使用迅雷 ...

    1.创建用户

    useradd es

    2.在根目录下创建目录 elk

    cd /

    mkdir elk

    elk 目录下创建 es

    cd elk

    mkdir es

    3.更改目录elk的用户权限

    chown elsearch:elsearch elk/ -R

    4. 下载elk 安装包  下载可以使用迅雷

    检查es 状态

    systemctl status elasticsearch

    安装es的谷歌浏览器插件参考地址

    https://blog.csdn.net/xixiyuguang/article/details/105392140

    https://www.gugeapps.net/webstore/detail/elasticsearch-head/ffmkiejjmecolpfloofpjologoblkegm#download

    5.安装kibana

    下载kibana 7.8.1

    修改 kibana-7.8.1-linux-x86_64/config中的文件kibana.yml

    server.host: "192.168.100.32"

    elasticsearch.hosts: ["http://192.168.100.32:9200"]   连接es

    i18n.locale: "zh-CN" 改成中文

    启动在kibana的bin目录里执行先切换用户

    su es

    ./kibana &

    6.安装logstash

    下载logstash7.8.1 

    解压后进入logstash-7.8.1/config创建文件logstash.conf内容如下

    input {
      file {
        path => "/usr/local/yunshun/logs/service-logistics-account*"
         type => "syslog"     
         start_position => beginning
      }
    }
    filter {}
     
    output {
      elasticsearch {
        hosts =>  ["http://192.168.100.32:9200"]
        action => "index"
        index => "syslog_test-%{+YYYY.MM.dd}"
        #user => "hms"
        #password => "Handmobile"
      }
    }

    启动logstash,后台启动

    ./logstash -f ../config/logstash.conf &

     

     

    https://blog.csdn.net/abtmh02622/article/details/101634560

     

    展开全文
  • ELK 搭建

    千次阅读 2016-10-31 14:46:33
    1. 安装 elasticsearch sudo apt-get install openjdk-8-jre curl -L -O ... sudo dpkg -i elasticsearch-5.0.0.deb sudo /etc/init.d
    1. 安装 elasticsearch
    sudo apt-get install openjdk-8-jre
    curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.0.deb
    sudo dpkg -i elasticsearch-5.0.0.deb
    sudo /etc/init.d/elasticsearch start


    /usr/share/elasticsearch/bin/elasticsearch-plugin -install x-pack
    用户名 elastic
    密码 changeme




    2. 安装 logstash
    sudo apt-get install openjdk-8-jre
    curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-5.0.0.deb
    sudo dpkg -i logstash-5.0.0.deb


    /usr/share/logstash


    安装插件
    ./bin/logstash-plugin install logstash-input-beats
    更新插件
    ./bin/logstash-plugin update logstash-input-beats




    编辑logstash.conf文件,添加如下代码:


    input {
      beats {
        port => 5044
      }
    }


    output {
      elasticsearch {
        hosts => "localhost:9200"
        manage_template => false
        index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
        document_type => "%{[@metadata][type]}"
      }
    }




    开启Logstash


    sudo ./bin/logstash --path.settings=/etc/logstash


    sudo /etc/init.d/logstash start


    3. 安装 Kibana


    curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-5.0.0-linux-x86_64.tar.gz
    tar xzvf kibana-5.0.0-linux-x86_64.tar.gz
    cd kibana-5.0.0-linux-x86_64/
    ./bin/kibana


    bin/kibana-plugin -install x-pack


    用户名 Kibana
    密码 changeme




    4. 安装 Packetbeat
    sudo apt-get install libpcap0.8
    curl -L -O https://artifacts.elastic.co/downloads/beats/packetbeat/packetbeat-5.0.0-amd64.deb
    sudo dpkg -i packetbeat-5.0.0-amd64.deb
    sudo /etc/init.d/packetbeat start
    展开全文
  • ELK 是 Elasticsearch、 Logstash 和 Kibana 这三个软件集合的简称,ELK 搭建实时日志分析平台视频教程,本次课程,青云QingCloud 工程师彭科、东升将会从技术角度来分享如果搭建 ELK 实时日志分析平台。
  • 主要介绍了详解利用ELK搭建Docker容器化应用日志中心,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 昨天在群里面和一起大神讨论一些关于日志系统搭建,所碰到 的一些问题吧导致没有搭建成功,幸好我也是最近研究了一些用ELK来搭建一些日志系统,这个日志系统环境搭建是一个比较初级的,使用ELK搭建的,我们用.Net log4...

    好久没有更新博客啦,昨天在群里面和一起大神讨论一些关于日志系统搭建,所碰到 的一些问题吧导致没有搭建成功,幸好我也是最近研究了一些用ELK来搭建一些日志系统,这个日志系统环境搭建是一个比较初级的,使用ELK搭建的,我们用.Net log4net 进入日志记录写进ES中,好了 废话不说了 开始进入正题

    1 ELK是什么

    elk是 Elasticsearch,Logstash,Kibana 三大开源框架的简写 在这里插入图片描述上面的图形只是对三大开源框架的一个简单分析 大概先了解下,

    ELK安装

    安装着是三个框架需要有Java环境 ,要安装JDK ,先检查本地是否有Java环境 如果没有先安装JDK:
    JDK安装:
    在这里插入图片描述
    如果有Java环境 那我们现在开始安装,首先先安装ES
    ES下载 选择与自己对应的版本
    在这里插入图片描述
    下载好之后解压 进入bin目录找到elastucsearch.bat双击就可以运行 ES ,
    ES默认端口是9200
    在这里插入图片描述
    下图是ES启动成功
    在这里插入图片描述

    安装LogStash

    LogStash下载
    选择对应的版本

    在这里插入图片描述
    下载后之后在bin目录下添加一个配置文件图下图
    在这里插入图片描述
    把下面这段代码写到tcp.conf里面去

    input {
           tcp {
                    port => "4567"
                    mode => "server"
                    type => "tcplog"
    			ssl_enable => false
        	codec =>  "json"
            }
    }
    
    output{
            elasticsearch{
                 hosts => "127.0.0.1:9200"
                 index => "tcplog-%{+YYYY.MM.dd}"
            }
    }
    

    简单介绍上面配置说明
    input :是输入 ,我的理解就是从哪个位置读取数据😄
    tcp:是配置一tcp的形式进行数据收集,

    codec :是指收集数据的编码, 他的值有 plain ,json plan 是普通文本格式数据 json 传json的数据
    output:输出,意思是通过读取过来的数据,放在哪里存储,配置中我们放在了ES里面,
    hosts是es所在的位置和端口(es默认端口是9200可以通过配置文件进行修改)
    index是ES的索引名称

    安装Kibana

    Kibana 下载

    进入bin目录 启动即可 有点慢 (机子太烂)
    在这里插入图片描述

    下图启动成功
    在这里插入图片描述
    在浏览器输入
    http://127.0.0.1:5601/ 访问

    准备工作已经好了 ,现在我们开始写程序把
    我们建立一个控制台程序 导入log4net包,配置log4net.config,平时我们用的日志不是写库就是把日志写进文件,那么今天我们把日志已tcp的形式写进服务器,下面是配置把日志已TCP的协议写进服务器

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.web>
        <compilation debug="true" targetFramework="4.5" />
        <httpRuntime targetFramework="4.5" />
      </system.web>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
      </configSections>
    <!--日志相关配置-->
    <log4net>
    <!--把日志文件已网络的形式传输  -->
    <appender name="SocketAppender" type="log4net.Appender.SocketAppender, Log4netSocketAppender">
    	  <RemoteAddress value="127.0.0.1"/>
    	  <RemotePort value="4567" />
    	  <AddressFamily value="InterNetwork" />
    	  <SocketType value="Stream" />
    	  <ProtocolType value="Tcp" />
    	  <ConAttemptsCount value="5" />
    	  <ConAttemptsWaitingTimeMilliSeconds value="3000" />
    	  <UseThreadPoolQueue value="true" />
    	    <layout type="TestLogStash.Log.BusinessIDPatternLayout">
     <conversionPattern value="%SystemLogFrom" />
    	</layout>
    	</appender>
      <!--引入-->
      <root>
        <level value="ALL" />
    <appender-ref ref="SocketAppender" />
      </root>
    </log4net>
    </configuration>
    
    

    解释下上面的配置:
    RemoteAddress:是你服务器地址
    RemotePort: 端口
    SocketType;类型
    ProtocolType:协议类型
    注意:
    TestLogStash.Log.BusinessIDPatternLayout 这个类是我自定义的 格式输出,把配置文件放到项目bin目录下
    1.导入logHelper.cs

    using log4net;
    using System;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.Linq;
    using System.Text;
    
    namespace Common.Utility
    {
        public static class Log
        {
           
           
            public static void Debug(object message)
            {
               
                LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Debug(message);
    
            }
           
    
            public static void Debug(object message, Exception ex)
            {
            
                LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Debug(message, ex);
            }
    
            public static void Error(object message)
            {
            
                LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Error(message);
            }
    
            public static void Error(object message, Exception exception)
            {
            
                LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Error(message, exception);
            }
    
    
    
            public static void Info(object message)
            {
            
                LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Info(message);
            }
    
            public static void Info(object message, Exception ex)
            {
            
                LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Info(message, ex);
            }
    
            public static void Warn(object message)
            {
            
                LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Warn(message);
            }
    
            public static void Warn(object message, Exception ex)
            {
            
                LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Warn(message, ex);
            }
    
            private static string GetCurrentMethodFullName()
            {
                StackFrame frame;
                string str;
                string str1;
                bool flag;
                try
                {
                    int num = 2;
                    StackTrace stackTrace = new StackTrace();
                    int length = stackTrace.GetFrames().Length;
                    do
                    {
                        int num1 = num;
                        num = num1 + 1;
                        frame = stackTrace.GetFrame(num1);
                        str = frame.GetMethod().DeclaringType.ToString();
                        flag = (!str.EndsWith("Exception") ? false : num < length);
                    }
                    while (flag);
                    string name = frame.GetMethod().Name;
                    str1 = string.Concat(str, ".", name);
                }
                catch
                {
                    str1 = null;
                }
                return str1;
            }
        }
    }
    

    重写Log4net格式输出类 PropresPatternConvert:`

    using log4net.Core;
    using log4net.Layout.Pattern;
    using System;
    using System.IO;
    using Newtonsoft.Json;
    using System.Text;
    namespace TestLogStash.Log
    {
        public class PropresPatternConvert : PatternLayoutConverter
        {
            //自定义输出模版
            protected override void Convert(TextWriter tw, LoggingEvent loggingEvent)
            {
                //StringBuilder sb = new StringBuilder();
                //日志输出换行符
                string lineOperator = "\r\n";
                var businessID = loggingEvent.MessageObject as BusinessLog;
                if (businessID == null) return;
                //sb.Append("======================SystemLogFrom:" + businessID.SystemLogFrom+ "==========================="+ lineOperator);
                //sb.Append("Message==========>" + businessID.Message + lineOperator);
                //sb.Append("DateTime==========>" + businessID.Date + lineOperator);
                //sb.Append("Exception==========>" + businessID.Exception + lineOperator);
                //sb.Append("=================================================================" + lineOperator);
               var str = "{\"LogData\":{\"SystemLogFrom\":\"" + businessID.SystemLogFrom + "\"," +
                   "\"Message\":\"" + businessID.Message + "\", " + "\"DateTime\":\"" + businessID.Date +
                   "\"," + "\"Exception\":\"" + businessID.Exception + "\"}}";
                tw.Write(str);
            }
        }
        //输出
        public class BusinessIDPatternLayout : log4net.Layout.PatternLayout
        {
            public BusinessIDPatternLayout()
            {
                this.AddConverter("SystemLogFrom", typeof(PropresPatternConvert));
            }
        }
        //封装日志参数
        class BusinessLog {
            public string SystemLogFrom { get; set; }
            public string Message { get; set; }
            public DateTime Date { get; set; }
            public Exception Exception { get; set; }
            public BusinessLog(string SystemLogFrom,string Message , DateTime Date, Exception Exception) {
                this.SystemLogFrom = SystemLogFrom;
                this.Message = Message;
                this.Date = Date;
                this.Exception = Exception;
            }
            public override string ToString()
            {
                return base.ToString();
            }
        }
    }
    
    

    //下面是主程序`

    using Common.Utility;
    using log4net.Appender;
    using log4net.Config;
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using TestLogStash.Log;
    using TradingSystemBackgroundApp.Config;
    namespace TestLogStash
    {
        class Program
        {
            static void Main(string[] args)
            {
                try
                {
                    var str = Console.ReadLine();
                    new LogIni();
                    Common.Utility.Log.Debug(new BusinessLog("交易系统", str, DateTime.Now, new Exception("异常")));
                    Console.ReadLine();
                }    
                catch (Exception)
                {
    
                    throw;
                }
                
            }
            public  void LogIni()
            {
                string logConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log4net.config");
                XmlConfigurator.Configure(new FileStream(logConfigPath, FileMode.Open));
            }
        }
    }
    
    

    进入Kibana 查看索引
    在这里插入图片描述
    现在我们启动程序 开始进行写日志
    在这里插入图片描述
    进入Kibana查看
    在这里插入图片描述
    LogIni 方法:`

    using log4net.Config;
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace TradingSystemBackgroundApp.Config
    {
        /// <summary>
        /// 日志初始化
        /// </summary>
       public  class LogIni
        {
            public LogIni() {
                string logConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log4net.config");
                XmlConfigurator.Configure(new FileStream(logConfigPath, FileMode.Open));
            }
        }
    }
    
    

    好了 简单的ELK日志搭建 环境已经好了 在这里简单记录一下

    展开全文
  • ELK搭建文档

    2018-10-18 17:17:01
    Linux环境下面搭建ELK步骤,,, 进行日志抽取,备份等
  • ELK 搭建记录一:Elasticsearch 集群搭建 使用 docker 容器来搭建 ELK 系统,因此需要先在服务器上安装 docker,具体安装过程不在本章显示。 一、Elasticsearch 安装 1. 从 dockerhub 上下载合适版本的 ES 镜像,...
  • ELK搭建及配置

    2020-06-27 21:12:42
    官网网站 “ELK”是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一个搜索和分析引擎。Logstash 是服务器端数据...一、ELK搭建 EKL快速搭建教程 一、ELK配置 ...
  • 基于docker的ELK搭建

    2021-01-21 10:25:10
    ELK搭建 基于docker (elasticsearch + logstash + kafka+ filebeat + kibana) 链接: link.
  • ELK搭建————elasticsearch7.3.0安装

    千次阅读 2019-09-04 15:19:33
    题注: 安装JDK-11.0.3,请参考我的博客《Centos7.6安装JDK-11.0.3》 创建虚拟机,欢迎访问我的博客《VMware创建Centos7虚拟机并配置静态IP》 ...安装logstash-7.3.0,请参考我的博客《ELK搭建————logstash-...
  • 本文分两部分,一部分是elk搭建,另一部分,grafana的dashboard配置展示 【1】ELK搭建 一、es搭建 二、kibana搭建 因直接使用公有云的ES服务,包含了kibana,所以一、二部分直接跳过 之前使用logstash收集日志...
  • ELK搭建————logstash-7.3.0安装

    千次阅读 2019-09-04 15:27:43
    题注: 安装JDK-11.0.3,请参考我的博客《Centos7.6安装JDK-11.0.3》 创建虚拟机,欢迎访问我的博客《VMware创建Centos7虚拟机并配置静态IP》...安装logstash-7.3.0,请参考我的博客《ELK搭建————logstash-7.3...
  • ELK搭建和使用

    万次阅读 2018-08-03 16:23:59
    这两天使用公司的一台cent os把ELK搭建了起来,做个记录。 1.在官网down各种安装包-elasticSearch, logstash, kibna https://www.elastic.co/downloads   2.解压并安装各种组件 2-1.elasticSearch 安装目录为...
  • ELK搭建————kibana-7.3.0安装

    千次阅读 2019-09-04 15:28:33
    题注: 安装JDK-11.0.3,请参考我的博客《Centos7.6安装JDK-11.0.3》 创建虚拟机,欢迎访问我的博客《VMware创建Centos7虚拟机并配置静态IP》 ...安装logstash-7.3.0,请参考我的博客《ELK搭建————logstash-...
  • ELK搭建过程中出现的问题与解决方法汇总ELK搭建 ELK搭建 有小伙伴在总结了ELK搭建过程问题的解决方案如下,有需求的自行点击链接去查看,就不复制了: 1.ELK搭建过程中出现的问题与解决方法汇总 2.集中式日志分析...
  • 详详解解利利用用ELK搭搭建建Docker容容器器化化应应用用日日志志中中心心 这篇文章主要介绍了详解利用ELK搭建Docker容器化应用日志中心小编觉得挺不错的现在分享给大家也给大 家 个参考一起跟随小编过来看看吧 概...
  • Linux日志服务器_ELK搭建 1.实验环境及准备 (1)两台liunx虚拟机,内存至少为4G; (2)第一台虚拟机IP为192.168.110.11,第二台虚拟机IP为192.168.110.12,可以ping通网络,彼此之间可以ping通 (3)有相应的...
  • Docker笔记02-日志平台ELK搭建 原文:Docker笔记02-日志平台ELK搭建OS: Centos7 准备工作: 虚拟机中安装Centos, 搭建Docker环境 ELK简介: 略 文档地址https://elk-docker.readthedocs.io/ 需要...
  • 通过logstash 将log日志存储到 elasticSearch 中,通过kibana 进行可视化配置进行展示。 head 、cerebro 支持对 elasticSearch 的可视化 基于ELK搭建网站监控可视化
  • ELK搭建和配置手册

    2017-12-29 14:08:57
    ELK搭建和配置手册导航 [x] 第一节 Elasticsearch+Logstash+Kibana搭建手册 [x] 第二节 Elasticsearch+Logstash+Kibana安装X-Pack手册 [ ] 第三节 Elasticsearch+Logstash+Kibana配置手册 [ ] …… (持续更新中……)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,955
精华内容 7,182
关键字:

elk搭建