一、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. hdu 2255 奔小康赚大钱 最大权匹配KM

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255 传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子.这可是一件大事 ...

  2. IDA*

    模拟退火 基本思路(Main Thoughts): IDA*是一种优秀的搜索法,在一般的实际问题中,它比普通的搜索更快. 通过迭代加深和估价函数剪枝来搜索. 通常处理没有层数上界或上界很多大的搜索. ...

  3. 推荐系统之LFM(二)

    对于一个用户来说,他们可能有不同的兴趣.就以作者举的豆瓣书单的例子来说,用户A会关注数学,历史,计算机方面的书,用户B喜欢机器学习,编程语言,离散数学方面的书, 用户C喜欢大师Knuth, Jiawe ...

  4. Spring Mail

    想必大家在今天这个特殊的日子里,一定热血沸腾了一把.为上午的阅兵点70个赞! 进入Spring Mail的主题: 前后大概花了8个小时的时间来研究Spring封装的javaMail.本来觉得挺简单的应 ...

  5. WCF基本概念

    WCF是基于Windows平台下开发和部署服务的SDK.服务是一组公开的功能集合. 面向服务(Service Orientatio,SO)是一组原则的抽象, 面向服务的应用程序(SOA)将众多服务聚集 ...

  6. 2014 ACM/ICPC Asia Regional Guangzhou Online

    Wang Xifeng's Little Plot http://acm.hdu.edu.cn/showproblem.php?pid=5024 预处理出每个点八个方向能走的最远距离,然后枚举起点,枚 ...

  7. 【转载】CreateProcess的用法

    第一.第二个参数的用法: 例子: 使用ie打开指定的网页. 注意第二个参数是 可执行文件+命令行参数 #include "stdafx.h" #include <window ...

  8. HTTP常见返回代码(HTTP Status codes)的分类和含义

    HTTP错误主要分成三类:用户设备问题.Web服务器问题和连接问题.当客户端向Web服务器发送一个HTTP请求时,服务器都会返回一个响应代码.而这些响应代码主要分成五类. HTTP状态码中定义了5大类 ...

  9. 微信连WiFi关注公众号流程更新 解决ios微信扫描二维码不关注就能上网的问题

    前几天鼓捣了一下微信连WiFi功能,设置还蛮简单的,但ytkah发现如果是ios版微信扫描微信连WiFi生成的二维码不用关注公众号就可以直接上网了,而安卓版需要关注公众号才能上网,这样就少了很多ios ...

  10. PHPStorm+PHP5.6+WIN7+IIS7

    文件下载 以下为参考网址,如无法打开或变动,请自行搜索,获取最新版本文件请行搜索 PHP Manager:http://www.iis.net/downloads/community/2010/09/ ...