11.ELk部署安装

(1) 安装Logstash依赖包JDK

Logstash的运行依赖于Java运行环境, Logstash 1.5以上版本不低于java 7推荐使用最新版本的Java。由于我们只是运行Java程序,而不是开发,下载JRE即可。

下载linux-64的版本。如果使用Linux下载执行如下命令下载即可。


1


#wget http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz

JDK的安装方式比较简单,只需将下载回来的程序包解压到相应的目录即可。


1

2


# mkdir /usr/local/java

# tar -zxf jdk-8u45-linux-x64.tar.gz -C /usr/local/java/

设置JDK的环境变量,如下:


1

2

3

4


# vim /etc/profile.d/java.sh

export JAVA_HOME=/usr/local/java/jdk1.8.0_45

export PATH=$PATH:$JAVA_HOME/bin

exportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

# source /etc/profile

在Shell提示符中执行java –version命令,显示如下结果,说明安装成功:


1

2

3

4


# java -version

java version "1.8.0_45"

Java(TM) SE Runtime Environment (build 1.8.0_45-b14)

Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02,mixed mode)

报错总结

[[email protected] java]# java -version

-bash: /usr/local/java/jdk1.8.0_101/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录

yum install glibc.i686 –y

(2)安装Logstash

下载并安装Logstash,安装logstash只需将它解压的对应目录即可,例如:/usr/local下:


1

2


# https://download.elastic.co/logstash/logstash/logstash-1.5.2.tar.gz

# tar –zxf logstash-1.5.2.tar.gz -C /usr/local/

安装完成后运行如下命令:


1

2

3

4


# /usr/local/logstash-1.5.2/bin/logstash -e ‘input { stdin { } } output { stdout {} }‘

等待用户输入,然后输出到屏幕

我们可以看到,我们输入什么内容logstash按照某种格式输出,其中-e参数参数允许Logstash直接通过命令行接受设置。这点尤其快速的帮助我们反复的测试配置是否正确而不用写配置文件。使用CTRL-C命令可以退出之前运行的Logstash。

使用-e参数在命令行中指定配置是很常用的方式,不过如果需要配置更多设置则需要很长的内容。这种情况,我们首先创建一个简单的配置文件,并且指定logstash使用这个配置文件。例如:在logstash安装目录下创建一个“基本配置”测试文件logstash-test.conf,文件内容如下:


1

2

3

4

5


# cat logstash-simple.conf

input { stdin { } }

output {

stdout { codec=> rubydebug }

}

Logstash使用input和output定义收集日志时的输入和输出的相关配置,本例中input定义了一个叫"stdin"的input,output定义一个叫"stdout"的output。无论我们输入什么字符,Logstash都会按照某种格式来返回我们输入的字符,其中output被定义为"stdout"并使用了codec参数来指定logstash输出格式。

使用logstash的-f参数来读取配置文件,执行如下开始进行测试:


4

5

6

7

8

9

10

11


# echo "`date`  hello World"

Thu Jul 16 04:06:48 CST 2015 hello World

# /usr/local/logstash-1.5.2/bin/logstash agent -f logstash-simple.conf

Logstash startup completed

Tue Jul 14 18:07:07 EDT 2015 hello World   #该行是执行echo “`date`hello World” 后输出的结果,直接粘贴到该位置

{

"message" => "Tue Jul 14 18:07:07 EDT 2015 helloWorld",

"@version" => "1",

"@timestamp" => "2015-07-14T22:07:28.284Z",

"host" => " localhost.localdomain"

}

(3)安装Elasticsearch

下载Elasticsearch后,解压到对应的目录就完成Elasticsearch的安装。

建立app用户,以app用户启动elasticsearch


1


# tar -zxf elasticsearch-1.6.0.tar.gz -C /usr/local/

# chown app.app /usr/local/elasticsearch-1.6.0 -R

启动Elasticsearch


1


$ /usr/local/elasticsearch-1.6.0/bin/elasticsearch

如果使用远程连接的Linux的方式并想后台运行elasticsearch执行如下命令:


1


# nohup /usr/local/elasticsearch-1.6.0/bin/elasticsearch >nohup &

确认elasticsearch的9200端口已监听,说明elasticsearch已成功运行

接下来我们在logstash安装目录下创建一个用于测试logstash使用elasticsearch作为logstash的后端的测试文件logstash-es-simple.conf,该文件中定义了stdout和elasticsearch作为output,这样的“多重输出”即保证输出结果显示到屏幕上,同时也输出到elastisearch中。


# cat logstash-es-simple.conf

input { stdin { } }

output {

elasticsearch {hosts => "localhost" }

stdout { codec=> rubydebug }

}

执行如下命令


# /usr/local/logstash-1.5.2/bin/logstash agent -f logstash-es-simple.conf

… …

Logstash startup completed

hello logstash

{

"message" => "hello logstash",

"@version" => "1",

"@timestamp" => "2015-07-15T18:12:00.450Z",

"host" => "noc.vfast.com"

}

我们可以使用curl命令发送请求来查看ES是否接收到了数据:


# curl ‘http://localhost:9200/_search?pretty‘

返回结果

{

"took": 58,

"timed_out" : false,

"_shards" : {

"total" : 5,

"successful" : 5,

"failed" : 0

},

"hits": {

"total" : 1,

"max_score" : 1.0,

"hits" : [ {

"_index" : "logstash-2015.07.15",

"_type" : "logs",

"_id" : "AU6TWiixxDXYhySMyTkP",

"_score" : 1.0,

"_source":{"message":"hellologstash","@version":"1","@timestamp":"2015-07-15T20:13:55.199Z","host":"noc.vfast.com"}

} ]

}

}

至此,你已经成功利用Elasticsearch和Logstash来收集日志数据了。

(4)安装elasticsearch插件

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


1

2


# cd /usr/local/elasticsearch-1.6.0/bin

# ./plugin install lmenezes/elasticsearch-kopf

安装完成后在plugins目录下可以看到kopf


1

2


# ls plugins/ kopf

修改配置文件vim /usr/local/elasticsearch-2.3.5/config/elasticsearch.yml

network.host: 10.1.1.188     #本机IP

http.port: 9200 #端口

在浏览器访问http:// 10.4.55.39:9200/_plugin/kopf浏览保存在Elasticsearch中的数据,如下所示:

(5)安装Kibana

下载kibana后,解压到对应的目录就完成kibana的安装


1


# tar -zxf kibana-4.1.1-linux-x64.tar.gz -C /usr/local/

修改配置文件vim /usr/local/kibana-4.1.1-linux-x64/config/kibana.yml

# elasticsearch.url: "http://10.4.55.39:9200"

启动kibana


1


# /usr/local/kibana-4.1.1-linux-x64/bin/kibana

使用http://kibanaServerIP:5601访问Kibana,登录后,首先,配置一个索引,默认,Kibana的数据被指向Elasticsearch,使用默认的logstash-*的索引名称,并且是基于时间的,点击“Create”即可。

看到如下界面说明索引创建完成。

点击“Discover”,可以搜索和浏览Elasticsearch中的数据,默认搜索的是最近15分钟的数据。可以自定义选择时间。

到此,说明你的ELK平台安装部署完成。

点击“Discover”,可以搜索和浏览Elasticsearch中的数据,前提是logstash要开启,默认搜索的是最近15分钟的数据。可以自定义选择时间。

到此,说明你的ELK平台安装部署完成。

(6)配置logstash作为Indexer

将logstash配置为索引器,并将logstash的日志数据存储到Elasticsearch,本范例主要是索引本地系统日志。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16


# cat /usr/local/logstash-1.5.2/logstash-indexer.conf

input {

file {

type =>"syslog"

path => ["/var/log/messages", "/var/log/syslog" ]

}

syslog {

type =>"syslog"

port =>"5544"

}

}

output {

stdout { codec=> rubydebug }

elasticsearch {hosts => "localhost" }

}

# /usr/local/logstash-1.5.2/bin/logstash –f logstash-indexer.conf

使用echo命令模拟写入日志,命令执行后看到如下图的信息


1


# echo "`date` 优衣库视频" >>/var/log/messages

刷新kibana,发现最新的测试数据显示到浏览器中,如下图所示:

到此,ELK平台部署和基本的测试已完成。

问题汇总:

  1. 注意服务器时间,如果非当前时间,那么浏览器查看的时候会看不到数据,浏览器默认查到的是当前时间。

原文地址:https://www.cnblogs.com/zhangan/p/10861842.html

时间: 2024-10-03 20:51:15

11.ELk部署安装的相关文章

ELK部署和过程中的报错汇总

一.ELK介绍 1.1 elasticsearch 1.1.1 elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便. 1.1.2 elasticsearch几个重要术语 NRT elasticsea

ELK部署实战

上海资邦集团战略发展部 目录 版本控制信息... 1 目录    i 1           ELK简介... 1 1.1                 ElasticSearch介绍... 1 1.2                 LogStash介绍... 1 1.3                 Kibana介绍... 1 2           开始部署ELK.. 1 2.1                 测试环境准备... 1 2.2                 安装前的准

ELK简单安装与配置

Elasticsearch是一个分布式可扩展的实时搜索和分析引擎,它能帮助你搜索.分析和浏览数据:它是一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架. 一.环境介绍 1.架构介绍 ELK是C/S架构的,所以这里列出server和client server : centos 6.6 x86_64 IP: 10.0.90.24 client : centos 6.6 x86_64 IP: 10.0.90.2

Hadoop0.21.0部署安装以及mapreduce测试

鉴于hadoop的需要...但是并不限于此...有时候闲输入密码麻烦,也可以用这种办法从一个节点通过ssh进入另一个节点... 设要使master进入slave是免密码的,则可以在master(ip为192.168.169.9)中如下操作: 命令:ssh-keygen -t rsa  然后一路回车(该命令不需要进入特定目录) cd进入/root/.ssh/可以看见如下(橙色是新生成的) id_rsa  id_rsa.pub  known_hosts 然后用scp命令将id_rsa远程传输到sla

Sql Server Compact 4.0数据库部署安装

Sql Server Compact 4.0相比3.5版本增强了很多,支持Entity Framework 4.1,对于轻量级应用来讲,使用Sql Server Compact 4.0是个很好的选择,而且部署相当方便,不需要 Sql Server Compact 4.0的安装包,仅需要发布相关的dll以及web.config配置即可. 开发环境下,需要安装 vs2010 sp1 Microsoft SQL Server Compact 4.0 Visual Studio 2010 SP1 Too

【Go web开发之revel+mgo】第11章 部署到heroku上

演示地址  http://gblog-revel.herokuapp.com/ 1.申请mongohq 关于如何在注册heroku和mongohq帐号,我在之前的blog里面有说明,http://blog.csdn.net/joveth/article/details/19999535 这里简单的说一下,还记得我们的models/dao.go文件里的NewDao方法中被注释的那一行吗? session, err := mgo.Dial("mongodb://omind:[email protec

Linux下批量部署安装--PXE

Linux操作系统如何安装? 以及如何自动(无人值守)安装? 以及如何批量自动安装? 下面我们会一一的来介绍. 以下操作以CentOS6系列为例,以 VMware 作为虚拟机管理器进行实验. 一.安装系统 1.个人 pc 如何安装一个Linux操作系统使用呢? Linux操作系统的安装过程大致如下: 以本地镜像为例,POST加点自检,加载镜像文件中的内核和临时根文件系统,最后会启动anaconda的安装程序,此程序是交互式的,帮助用户来选择安装前的一些操作,完成这一步操作之后,进入真正的安装包软

CityEngine 2013部署安装

安装环境: windows8.1 专业版 已安装arcgis10.2 所需文件下载地址: CityEngine_2013_1_136371 http://yunpan.cn/csH2iHdEWSgKe  提取码 68ee CityEngine_2013.1_x32x64 http://yunpan.cn/csH27pYFybCnZ  提取码 6562 声明:所有软件都来自于互联网络,仅用于学习之用,不得用于任何商业用途,否则后果自负. 一.部署安装CityEngine2013 1.部署安装Cit

Linux 部署安装DNS(域名解析)系统与理论详解

本章Blog相关知识点: DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,方便用户使用名称的访问互联网.通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP或TCP协议之上,使用端口号53. dns查询类型: 递归查询:递归查询是最常见的查询方式,当一个客户机发送一个查询给本地域名服务器时,本地域名服务器必须返回一个IP地址,如果解析不到IP,域名服务器将代替提出请求的客户机(下级DNS服