一、ELK的组成
二、工作流程
三、环境准备
四、正式安装

一、ELK的组成

ELK由ElasticSearch、Logstash和Kibana三部分组成,每一部分的功能及特点如下图所示:

二、工作流程

在需要收集日志的所有服务上部署logstash,作为logstash agent(logstash shipper)用于监控并过滤收集日志,

将过滤后的内容发送到Redis,然后logstash indexer将日志收集在一起交给全文搜索服务ElasticSearch,

可以用ElasticSearch进行自定义搜索通过Kibana 来结合自定义搜索进行页面展示。

而Logstash 社区通常习惯用 shipperbrokerindexer 来描述数据流中不同进程各自的角色。如下图:

三、环境准备

操作系统:Red Hat Enterprise Linux Server release 7.2
本机IP地址:192.168.96.128 所需文件及版本:
logstash-2.4.0.tar.gz
kibana-4.6.1-linux-x86_64.tar.gz
elasticsearch-2.4.1.tar.gz

四、正式安装

注意:为了避免影响测试,临时将firewall与selinux关闭。
# systemctl stop firewalld.service
# setenforce

 4.1 JDK安装

确认系统是否装有JDK,如果系统默认已经装有JDK请忽略此步骤,若没安装请自行安装。

[root@localhost ~]# java -version
openjdk version "1.8.0_101"
OpenJDK Runtime Environment (build 1.8.0_101-b13)
OpenJDK -Bit Server VM (build 25.101-b13, mixed mode)
4.2 Logstash安装
安装官网下载最新版的logstash,地址为https://www.elastic.co/downloads/logstash
[root@localhost ~]# wget https://download.elastic.co/logstash/logstash/logstash-2.4.0.tar.gz
将下载好的文件解压到/usr/local目录下
[root@localhost ~]# tar zxf logstash-2.4.0.tar.gz -C /usr/local/
配置logstash环境变量
[root@localhost ~]# echo "export PATH=\$PATH:/usr/local/logstash-2.4.0/bin/" > /etc/profile.d/logstash.sh
[root@localhost ~]# . /etc/profile
 启动Logstash
通过-e参数指定logstash的配置信息,用于快速测试,直接输出到屏幕。
[root@localhost ~]# logstash -e "input{stdin{}} output{stdout{}}"
hello world                    \\手动输入hello world后,稍等片刻会直接返回如下结果
Settings: Default pipeline workers:
Pipeline main started
--18T06::.873Z localhost.localdomain hello world
通过-e参数指定logstash的配置信息,用于快速测试,以json格式输出到屏幕

[root@localhost ~]# logstash -e 'input{stdin{}} output{stdout{codec => rubydebug}}'
hello world                    \\手动输入hello world后,稍等片刻会以json格式返回如下结果
Settings: Default pipeline workers: 1
Pipeline main started
{
"message" => "hello world",
"@version" => "1",
"@timestamp" => "2016-10-18T06:10:02.765Z",
"host" => "localhost.localdomain"
}

4.3 ElasticSearch下载并安装
[root@localhost ~]#  wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.4.1/elasticsearch-2.4.1.tar.gz

[root@localhost ~]# tar zxf elasticsearch-2.4.1.tar.gz -C /usr/local/

修改ElasticSearch的配置文件elasticsearch.yml并做以下修改
[root@localhost ~]# cd /usr/local/elasticsearch-2.4.1/
[root@localhost elasticsearch-2.4.1]# vim config/elasticsearch.yml
编辑和新增以下内容
network.host: 192.168.96.128
启动elasticsearch,发现报错“don't run elasticsearch as root.”
[root@localhost config]# /usr/local/elasticsearch-2.4./bin/elasticsearch
Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
...

 出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,需要创建一个

单独的用户用来运行ElasticSearch 即可解决该问题。

[root@localhost config]# groupadd elsearch
[root@localhost config]# useradd elsearch -g elsearch -p elasticsearch
[root@localhost elasticsearch-2.4.1]# chown -R elsearch:elsearch /usr/local/elasticsearch-2.4.1/
[root@localhost elasticsearch-2.4.1]# su - elsearch            \\切换至新用户

[elsearch@localhost ~]$ cd /usr/local/elasticsearch-2.4.1/bin/
[elsearch@localhost bin]$ ./elasticsearch                   \\再次尝试启动elasticsearch
[2016-10-18 16:08:32,546][INFO ][node ] [Alex] version[2.4.1], pid[71956], build[c67dc32/2016-09-27T18:57:55Z]

...
[2016-10-18 16:08:40,728][INFO ][node ] [Alex] started

在elasticsearch在2.*新版本中,output标签的host更改为了hosts,编辑配置文件时注意以下参数不要写错。

[root@localhost logstash]# cat logstash_agent.conf
input {
file {
type => "messages"
path => ["/var/log/messages"]
}
}
output {
elasticsearch {
hosts => "192.168.96.128"
}
}

 4.4 安装elasticsearch插件
Elasticsearch-kopf插件可以查询Elasticsearch中的数据,安装elasticsearch-kopf,只要在你安装Elasticsearch的目录中执行以下命令即可:

[elsearch@localhost elk]$ cd /usr/local/elasticsearch-2.4./bin/
[elsearch@localhost bin]$ ./plugin install lmenezes/elasticsearch-kopf
...
Installed kopf into /usr/local/elasticsearch-2.4./plugins/kopf

浏览器访问kopf页面查看elasticsearch的数据
  访问链接:http://192.168.96.128:9200/_plugin/kopf/#!/cluster


4.5 安装Kinaba
[root@localhost elk_file]# wget https://download.elastic.co/kibana/kibana/kibana-4.6.1-linux-x86_64.tar.gz

[root@localhost elk_file]# tar zxf kibana-4.6.-linux-x86_64.tar.gz -C /usr/local

[root@localhost elk_file]# vim /usr/local/kibana-4.6.-linux-x86_64/config/kibana.yml

编辑添加内容:

 elasticsearch.url: "http://192.168.96.128:9200"

启动kibana

[root@localhost elk_file]# /usr/local/kibana-4.6.-linux-x86_64/bin/kibana
log [::42.720] [info][status][plugin:kibana@1.0.] Status changed from uninitialized to green - Ready
log [::42.757] [info][status][plugin:elasticsearch@1.0.] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log [::42.778] [info][status][plugin:kbn_vislib_vis_types@1.0.] Status changed from uninitialized to green - Ready
log [::42.799] [info][status][plugin:markdown_vis@1.0.] Status changed from uninitialized to green - Ready

浏览器访问

http://192.168.96.128:5601/#/settings/indices/?_g=()

使用默认的logstash-*的索引名称,并且是基于时间的,点击“Create”即可。看到如下界面说明索引创建完成。

点击“Discover”,可以搜索和浏览Elasticsearch中的数据。

RedHat7 部署ELK日志分析系统的更多相关文章

  1. 最新Centos7.6 部署ELK日志分析系统

    下载elasticsearch 创建elk用户并授权 useradd elk chown -R elk:elk /home/elk/elasticsearch chown -R elk:elk /ho ...

  2. ELK日志分析系统简单部署

    1.传统日志分析系统: 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安 ...

  3. ELK 日志分析系统的部署

    一.ELK简介 ElasticSearch介绍Elasticsearch是一个基于Lucene的搜索服务器. 它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口. Elasti ...

  4. ELK日志分析系统-Logstack

    ELK日志分析系统 作者:Danbo 2016-*-* 本文是学习笔记,参考ELK Stack中文指南,链接:https://www.gitbook.com/book/chenryn/kibana-g ...

  5. 《ElasticSearch6.x实战教程》之实战ELK日志分析系统、多数据源同步

    第十章-实战:ELK日志分析系统 ElasticSearch.Logstash.Kibana简称ELK系统,主要用于日志的收集与分析. 一个完整的大型分布式系统,会有很多与业务不相关的系统,其中日志系 ...

  6. Docker笔记(十):使用Docker来搭建一套ELK日志分析系统

    一段时间没关注ELK(elasticsearch —— 搜索引擎,可用于存储.索引日志, logstash —— 可用于日志传输.转换,kibana —— WebUI,将日志可视化),发现最新版已到7 ...

  7. Rsyslog+ELK日志分析系统

    转自:https://www.cnblogs.com/itworks/p/7272740.html Rsyslog+ELK日志分析系统搭建总结1.0(测试环境) 因为工作需求,最近在搭建日志分析系统, ...

  8. 十分钟搭建和使用ELK日志分析系统

    前言 为满足研发可视化查看测试环境日志的目的,准备采用EK+filebeat实现日志可视化(ElasticSearch+Kibana+Filebeat).题目为“十分钟搭建和使用ELK日志分析系统”听 ...

  9. elk 日志分析系统Logstash+ElasticSearch+Kibana4

    elk 日志分析系统 Logstash+ElasticSearch+Kibana4 logstash 管理日志和事件的工具 ElasticSearch 搜索 Kibana4 功能强大的数据显示clie ...

随机推荐

  1. 阴影 box-shadow(一)

    阴影 box-shadow(一) box-shadow是向盒子添加阴影.支持添加一个或者多个. 很简单的一段代码,就实现了投影效果,酷毙了.我们来看下语法: box-shadow: X轴偏移量 Y轴偏 ...

  2. PHP图形图像处理之初识GD库

    d=====( ̄▽ ̄*)b 引语 php不仅仅局限于html的输出,还可以创建和操作各种各样的图像文件,如GIF.PNG.JPEG.WBMP.XBM等. php还可以将图像流直接显示在浏览器中. 要处 ...

  3. OS X 使用技巧——轻松地调整窗口大小

    如果你想调整窗口大小,只需要把鼠标指针悬停在窗口边框上.当它变成双向箭头时,点击并拖动鼠标即可完成这一操作. 但在实际操作中,迅速把鼠标指针定位到边框上比较困难. 解决的办法是:在终端输入以下命令: ...

  4. 802.11 wireless 六

    802.11 wireless 6Bluetooth蓝牙1.无线个人网络(WPAN)的无线电系统2.普通链路范围 10米/0dBm(100米/20dBm)3.传输频率在2.402 GHZ和2.480 ...

  5. [COCI]coci2015/2016 nekameleoni

    题意: 初始数列,每个数都在1~k以内 支持两种操作:1.修改一个数,修改后的数在1~k内                           2.查询一个最短包含1~k的序列的长度 查询100000 ...

  6. Poj 1255 覆盖的面积 2014-07-28 12:29 116人阅读 评论(0) 收藏

    覆盖的面积 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  7. Sprite Kit 入门教程

    Sprite Kit 入门教程  Ray Wenderlich on September 30, 2013 Tweet 这篇文章还可以在这里找到 英语, 日语 If you're new here, ...

  8. Oracle NULL 和空值

      如果你工作中用到了Oracle,你必须要留意NULL和空值的处理与SQL Server上的不同.现在让我们看些例子. 建立这张数据库表并插入记录 CREATE TABLE TestNull(Col ...

  9. Python编程指南 chapter 1

    1.python使用方括号[]来存取一个序列中的某个数据项,像字符串.列表等包含若干数据项的序列都采用这种方法. 2.强制类型转换,int('24234'),str(235) 3.python中没有变 ...

  10. HYSBZ2038 小Z的袜子(莫队算法)

    今天学了一下传说中的解决离线询问不修改的一种算法.题目的意思非常简单,就是询问在一个[L,R]区间里的取两个物品,然后这两个物品颜色相同的概率.其实就是对于每种颜色i,这个区间里对应的个数cnt[i] ...