面向微服务开发时会涉及到多系统的日志跟踪,一旦出现问题过滤起来系统间切换非常麻烦,所以需要采用特定工具将日志统一归类处理,方便查询排查错误,下面将介绍一种开源的工具ELK.

ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方下载地址:https://www.elastic.co/cn/downloads/

准备环境

客户机:win10

Java环境: jdk1.8(必须1.7以上版本!!!)

组件信息:

      logstash: 日志收集过滤工具, 下载 https://artifacts.elastic.co/downloads/logstash/logstash-7.3.0.zip

kibana: 提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能,下载 https://artifacts.elastic.co/downloads/kibana/kibana-7.3.0-windows-x86_64.zip

elasticsearch: 开源分布式搜索引擎, 下载 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-windows-x86_64.zip

    elasticsearch-head:es插件, 一个界面化的集群操作和管理工具, 下载https://github.com/mobz/elasticsearch-head/releases

第一步

下载组件并解压到本地磁盘(注意不要解压到带有空格的路径,否则后续的安装可能出错),如下图:

第二步

安装jdk1.8,并配置环境变量

第三步

安装logstash,在powershell中执行下面的命令:

logstash.conf: 在logstash文件夹的bin目录里新建logstash.conf配置文件

具体内容如下,

input {

file {

path => "D:/ELK/logs/*"                                                    ## 日志存放目录

start_position => "beginning"

codec => plain { charset => "GBK" }

}

}

filter {

mutate {

add_field => [ "[fields][path]", "%{[path]}"]

add_field => [ "message]", "%{[message]}"]

}

}

output {

elasticsearch {

hosts => ["http://127.0.0.1:9200"]

index => "logstash-%{type}-%{+YYYY.MM.dd}"

template_overwrite => true

}

}

* 可以将运行logstash的命令"logstash.bat -f logstash.conf"保存到run.bat文件,方便下次启动

第四步

安装elasticsearch,为简化操作可以将把elasticsearch-7.3.0/bin路径加入到环境变量,那样就可以在powershell中的任意位置直接输入elasticsearch命令,用默认配置启动(默认传输端口为9300,接受HTTP请求的端口为9200),然后使用浏览器打开http://localhost:9200/,看到下图表示启动安装成功

1. 启用elasticsearch外网访问,修改config/elasticsearch.yml文件内容:

network.host: 0.0.0.0 #不限IP,须避免公网使用

2. 禁用X-Pack机器学习功能,仅限Windows

xpack.ml.enabled: false

3. 注册elasticsearch为windows系统服务,进入bin目录执行如下命令:
elasticsearch-service.bat install

elasticsearch-service.bat 可执行参数 :
install: 安装Elasticsearch服务
remove: 删除已安装的Elasticsearch服务

start: 启动Elasticsearch服务

stop: 停止服务
manager:启动GUI来管理已安装的服务

4. 重启elasticsearch服务

第五步

安装elasticsearch-head,此处需要提前安装nodejs url: https://nodejs.org/en/download/,然后依次执行下面的命令:

npm install -g grunt-cli #编译源码

npm install #安装服务

grunt server #启动服务

第六步

安装Kibana,为简化操作可以将把ibana-7.3.0-windows-x86_64/bin路径加入到环境变量,那样就可以在powershell中的任意位置直接输入Kibana命令启动

注意:连接远程elasticsearch时,需修改文件/config/kibana.yml内容 elasticsearch.hosts

启动成功后,在浏览器中输入:http://localhost:5601/,出现下面的界面

然后我们回到前面第三步中logstash.conf文件中指定的日志目录,新建日志txt文件,文件内容如图:

日志文件保存之后,在浏览器访问Url:http://localhost:5601/app/kibana#/management/kibana/index_pattern,就可以看到可以新建日志索引了

索引创建完成后就可以在下面的链接看到日志数据了,http://localhost:5601/app/kibana#/discover

window10下搭建ELK环境的更多相关文章

  1. 使用Docker快速搭建ELK环境

    今天由于Win系统的笔记本没带回家,其次Docker在非Linux系统下都需要安装额外的软件去镜像才行 所以感觉没有差别,先直接用Mac搭建一遍呢, 本篇部分命令和配置内容为摘抄 Mac下使用Dock ...

  2. Docker-compose搭建ELK环境并同步MS SQL Server数据

    前言 本文作为学习记录,供大家参考:一次使用阿里云(Aliyun)1核2G centos7.5 云主机搭建Docker下的ELK环境,并导入MS SQL Server的商品数据以供Kibana展示的配 ...

  3. Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1

    交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码,在该环境下编译出嵌入式Linux系统所需要的操作系统.应用程序等,然后再上传到目标板上. 首 先要明确gcc 和arm-linux- ...

  4. Sublime Text 2下搭建Python环境常见错误

    Sublime Text 2下搭建Python环境时,最容易出的错误就是Python环境配置错误,导致build(Ctrl+B)后没有任何反应. 关于Python编程环境的配置,网上很容易搜索到.先默 ...

  5. Android学习——windows下搭建Cygwin环境

    在上一篇博文<Android学习——windows下搭建NDK_r9环境>中,我们详细的讲解了在windows下进行Android NDK开发环境的配置,我们也讲到了在NDk r7以后,我 ...

  6. Android学习——windows下搭建NDK_r9环境

    1. NDK(Native Development Kit) 1.1 NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP功能开发的工具,通过这个 ...

  7. CentOS下搭建LAMP环境详解

    前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...

  8. Linux下搭建PHP环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  9. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

随机推荐

  1. java常用关键词关键字,方法源码解析

    transient volatile native final Integer String Class &&Object newInstance Class.forName,Clas ...

  2. vue-awesome-swiper 轮播图使用

    最近在做vue 的轮播图的问题,项目中也遇到一些问题,查了 swiper 官网资料, 还有vue-awesome-swiper的文案,最后把怎么使用这个插件简单的说下,啥东西都需要自己实践下,还是老规 ...

  3. 【mysql】利用全文索引实现中文的快速查找

    现在我们数据库表中的记录大约在17万,每一条记录都有name字段,根据name做模糊匹配,效率非常低下. 表结构如下: create table T ( id int, name ) ); 总数据量如 ...

  4. Redis :Linux和Window查看版本号

    一.Linux版本:查看服务端版本 **二者都可以** redis-server -v redis-server --version 查看客户端版本 **二者都可以** redis-cli -v re ...

  5. 对Git仓库里的.idea进行研究------引用

    1.什么是.idea文件夹 因为IntelliJ IDEA是JetBrains最早推出的IDE(JetBrains一开始叫IntelliJ),因此使用IDEA作为配置文件夹的名称.按照这个SO问题里最 ...

  6. Linux入门培训教程 linux下拷贝cp删除rm移动mv命令参数以及说明

    拷贝移动删除在windows中看起来这么简单,但linux经常使用的文字界面,所以对于linux系统 下拷贝cp删除 rm 移动mv命令参数就不得不需要了解和学习了 cp 该命令的功能是将给出的文件或 ...

  7. sublime安装完插件后出现的一些问题

    1.安装anaconda后代码前面出现小方框 解决办法:这是由于不符合PEP8代码规范,在空白地方右击,选择anaconda --> autoformat PEP8 Errors ,同时保证导入 ...

  8. Oracle数据库锁表查询

    --查看数据库最大连接数 select value from v$parameter where name = 'processes'; --更改数据库连接数 alter system scope = ...

  9. springBoot 配置url 访问图片

    需要添加依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  10. 异步实时搜索jquery select插件

    异步实时搜索jquery select插件 一.先看看效果. 二.做此插件的原因. 1.数据量过大(几千.几万条),无法一次性全部加载. 2.现有插件各不相同,无法满足功能需求. 3.美观性,可控性不 ...