ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。

Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

一. ElasticSearch 的安装与运行

ES 是一个基于 Lucene 的使用 Java 开发的开源搜索引擎,因此其运行是基于 JVM 的,因此在安装之前需要保证已经安装了 Java 环境。ES 要求使用 Java8 或者更高版本的 Java 环境。

确定机器已经安装了 Java 环境后,就可以安装 ES 了。官网提供了压缩包可以直接下载,

# 下载压缩包 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.2.tar.gz # 解压 tar -xzf elasticsearch-6.2.2.tar.gz # 进入文件 cd elasticsearch-6.2.2/

  • 下载解压完成后进入目录,启动命令在 bin 目录下,直接运行命令就可以启动了

注意: 启动报错

解决方法:es不能用root启动,先建立一个es用户,并给与启动文件权限 useradd ***       chown -R  **:**   ././(es的文件路径)

切换到es用户

bin/elasticsearch

ElasticSearch 的默认启动端口是 9200。手动访问出现如下信息说明启动成功。

二. FileBeats 与 LogStash 的安装

LogStash 可以用来对日志进行收集并进行过滤整理后输出到 ES 中,FileBeats 是一个更加轻量级的日志收集工具。

现在最常用的方式是通过 FileBeats 收集目标日志,然后统一输出到 LogStash 做进一步的过滤,在由 LogStash 输出到 ES 中进行存储。

1. LogStash 的安装运行

官方提供了压缩包下载, https://www.elastic.co/downloads/logstash 。 下载完成后解压即可。

tar zxvf logstash-6.2.2.tar.gz # 进入目录 cd logstash-6.2.2

LogStash 的运行需要指定一个配置文件,来指定数据的流向,我们在当前目录下创建一个 first.conf 文件,其内容如下:

# 配置输入为 beats

input {

beats {

port => "5044"

}

}

# 数据过滤

filter {

grok {

match => { "message" => "%{COMBINEDAPACHELOG}" }

}

geoip {

source => "clientip"

}

}

# 输出到本机的 ES

output {

elasticsearch {

hosts => [ "localhost:9200"  ]

}

}

配置完成后就可以通过如下方式启动 LogStash 了

bin/logstash -f first.conf --config.reload.automatic

#--config.reload.automatic选项启用自动配置重新加载,因此每次修改配置文件时都不必停止并重新启动Logstash

注意:

NameError: cannot link Java class org.apache.logging.log4j.core.config.LoggerConfig needs Java 8 (java.lang.UnsupportedClassVersionError: org/logstash/log/LogstashLogEventFactory : Unsupported major.minor version 52.0)

显示version版本问题,应该是JDK版本没有更新    java -version查看版本是否为1.8.

如果为1.7则需要:1.去网站下载jdk18*版本

2.tar -zxvf jdk-8u181-linux-x64.tar

3.sudo mv jdk1.8.0_181  /usr/local/java

4.vim /etc/profile

export JAVA_HOME=/usr/local/java(此处根据自己jdk安装的目录来写) export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=.:${JAVA_HOME}/bin:$PATH

5.生效配置文件sourc /etc/profile

6.java -version

重新启动logstash

可以看到命令行会打印出如下信息, 可以看到 LogStash 默认端口为 5044:

2. 安装运行 FileBeats

FileBeats 也提供了下载包,地址为 https://www.elastic.co/downloads/beats/filebeat 。找到系统对应的包下载后解压即可。

tar zxvf filebeat-6.2.2-darwin-x86_64.tar.gz cd filebeat-6.2.2-darwin-x86_64

进入目录编辑 filebeat.yml 找到对应的配置项,配置如下

- type: log   # Change to true to enable this prospector configuration.    enabled: True    # Paths that should be crawled and fetched. Glob based paths.    # 读取 Nginx 的日志    paths:      - /usr/local/nginx/logs/*.log(想监控的日志目录都可以添加进去)

- /var/log/message/*.log #----------------------------- Logstash output -------------------------------- # 输出到本机的 LogStash output.logstash:  # The Logstash hosts  hosts: ["localhost:5044"]

配置完成后执行如下命令,启动 FileBeat 即可

# FileBeat 需要以 root 身份启动,因此先更改配置文件的权限 sudo chown root filebeat.yml sudo ./filebeat -e -c filebeat.yml -d "publish"(通过./filebeat -c -e测试配置的FileBeat脚本.-d“publish”显示所有“publish”相关的消息。)

启动成功。

三. Kibana 的安装运行

Kibana 也提供了对应的安装包下载,链接为 https://www.elastic.co/downloads/kibana , Mac、Linux、Win 都有对应的安装包,直接下载解压即可

tar zxvf kibana-6.2.2-darwin-x86_64.tar.gz cd kibana-6.2.2-darwin-x86_64 # 直接启动即可 bin/kibana

Kibana 默认链接了本机的 9200 端口,其绑定的端口为 5601,启动成功后直接访问 127.0.0.1:5601 端口即可,界面如下。

注意:有时本地启动kibana之后打开界面127.0.0.1:5601会出现这样的情况。

有可能是因为本地的浏览器不兼容问题之类的。可以试着打开远程连接。用别的设备远程访问.

1.打开Kibana配置文件: vim /usr/local/kibana-6.3.2-linux-x86_64/config/kibana.yml

2.修改访问参数:server.host修改为本机网卡的地址。

3.重启kibana服务。

4.访问成功。

开始建立索引模式。

注意:有的时候会出现索引模式不能建立的情况。(不能点下一步)

一般为数据回传异常。先检查filebeat、logstash、elasticsearch、kibana服务启动是不是都正常。

检查filebeat的配置文件。/usr/local/filebeat/config/filebeat.yml.检查配置。

我上次就是因为配置文件里的output.logstash模块的端口写错。

修改完之后重启服务就可以了。

这里选定一个时间戳,使用默认的 timestamp 即可,设置完成后我们可以根据时间范围筛选数据。

设置完成后创建后显示如下

这时在点击 Discover 就可以看到我们创建的索引了,此时输入 UnicodeEncodeError 已经返回了匹配到的日志信息。

注意:如果你觉得英语看起来很不舒服,可以考虑汉化。不过提前说明一下,汉化过程是不可逆的。

# 下载并解压 wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.0-linux-x86_64.tar.gz tar -zxf kibana-6.3.0-linux-x86_64.tar.gz


汉化

github汉化项目:

https://github.com/anbai-inc/Kibana_Hanization

# 下载并解压 wget https://github.com/anbai-inc/Kibana_Hanization/archive/master.zip unzip master.zip cd master # 汉化 python main.py Kibana目录 # 启动elasticsearch cd elasticsearch-6.3.0/bin elasticsearch -d # 启动kibana cd kibana-6.3.0-linux-x86_64/bin kibana

浏览器访问 localhost:5601

注意:最后再说一句ELK平台的启动可以按照filebeat--> elasticsearch --->  logstash--->  kibana这个顺序启动,不会那么容易出问题。

转载于:https://blog.51cto.com/12283048/2159115

快速搭建ELK,以及简单故障处理相关推荐

  1. win10下快速搭建metasploitable3教程-简单版-已避坑

    最近搭建metasploitable3时遇到了诸多问题,有一说一不管是网上的教程还是官方的教程都tm全是坑,我也是服的,经过三天的折腾才tm装好靶场,网上有很多傻卵只会转发复制粘贴,坑人不浅,太智障了 ...

  2. 手把手教你如何快速搭建 ELK 实时日志分析平台

    本篇文章主要是手把手教你搭建 ELK 实时日志分析平台,那么,ELK 到底是什么呢? ELK 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash 和 Kiban ...

  3. 快速搭建ELK日志分析系统

    官网地址:https://www.elastic.co/cn/ 官网权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide/current/i ...

  4. 基于Docker快速搭建ELK

    [摘要] 本文基于自建的Docker平台速搭建一套完整的ELK系统,相关的镜像直接从Docker Hub上获取,可以快速实现日志的采集和分析检索. 准备镜像 l  获取ES镜像:docker pull ...

  5. 懒人必备:.NetCore快速搭建ELK分布式日志中心

    该篇内容由个人博客点击跳转同步更新!转载请注明出处! 前言 ELK是什么 它是一个分布式日志解决方案,是Logstash.Elastaicsearch.Kibana的缩写,可用于从不同的服务中收集日志 ...

  6. 快速搭建flashcom的简单应用

    1打开flash mx 新建一个文档,(ctrl+j)设置文档大小为780*428. 2选择 window/components/communication components 托若干组件到舞台中. ...

  7. 快速搭建博客-简单篇之快速搭建

    原文地址:点此查看效果 文章目录 开篇博客-说明 第一次创建命令 致谢 开篇博客-说明 专注分享JAVA全栈技术,JAVA零基础到高级,数据结构,框架,设计模式,微服务,中间件,大数据,网络爬虫,开源 ...

  8. CentOS快速搭建服务器 超简单

    一.购买腾讯云学生优惠服务器 https://cloud.tencent.com/act/campus?fromSource=gwzcw.594895.594895.594895 二.在电脑上安装XS ...

  9. docker mysql 操作_[Docker] Docker 快速搭建本地MySQL开发环境

    [Docker] Docker 快速搭建本地MySQL开发环境 关于 Docker 的安装使用本文不再赘述,有兴趣的可以通过官网或是浏览我的专栏文章了解.今天着重给大家介绍下如何利用Docker快速搭 ...

最新文章

  1. 今年下半年,中日合拍的《Git游记》即将正式开机,我将...(上集)
  2. 这篇文章说出了研究生和导师的相处真谛……
  3. 作为产品经理,你需要了解的基本算法知识和实操
  4. BZOJ 4086: [Sdoi2015]travel(SDOI2015 round2 day1)(分类讨论+容斥原理)
  5. iOS 页面间几种传值方式(属性,代理,block,单例,通知)
  6. ajax无刷新留言板远吗,php+ajax制作无刷新留言板,phpajax刷新留言板_PHP教程
  7. MySQL带BETWEEN AND关键字的查询
  8. 北理工计算机原理与应用实验,北理工计算机原理与应用实验三教程.docx
  9. 手把手教你完成CSDN对接百度统计 看完这篇文章你还不会对接 欢迎您提刀顺着网线来砍我!!!!
  10. 【必懂C++】第一个程序当然是HelloWorld呀 01
  11. python正则表达式怎么用_Python如何使用正则表达式
  12. 文件系统c语言程序,C语言程序设计(第8章 输入输出和文件系统)01
  13. vue.js三种安装方式
  14. mysql中转换成字符串_如何在R中转换字符串的大小写?
  15. matlab 三维矩阵 reshape,matlab中的reshape及3D数组reshape的注意事项转载
  16. 广联达软件未检测到加密锁请重新插入加密锁或网络服务器
  17. 解决Teamviewer屏保锁屏、黑屏无法进入问题
  18. VMware中安装linux系统(可视化界面centOS 7)
  19. 3d建模师是吃青春饭的吗?混子上限也就8K,资历能力都很重要
  20. 【Visio开发工具】用Visio绘制封闭曲面并填充颜色

热门文章

  1. 面试关于ISO七层模型你应该知道的东西
  2. C语言数组的一些运算*a,a+1,a+1,a+0
  3. 前端三十一:标签的属性
  4. python email模块
  5. 免费资源 | ActiveReports 报表控件发布多平台 Demo 代码集合
  6. Spring的Java配置方式
  7. JavaScript权威指南科03章 种类、值和变量(1)
  8. Skype for Business Server 2015-03-后端服务器-1-安装
  9. 四层负载均衡——LVS
  10. Struct2小结: