Press "Enter" to skip to content

ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程

内容目录

环境:CENTOS 6.6 64BIT + JDK 1.7

建议最低环境:内存2G+,硬盘 20G+ (内存和硬盘过小在安装时候会产生报错,博主踩的坑

步骤:

一、下载ELK的三大组件

Elasticsearch下载地址: https://www.elastic.co/downloads/elasticsearch (目前最新版本:2.4.0)

Logstash下载地址: https://www.elastic.co/downloads/logstash (目前最新版本:2.4.0)

Kibana下载地址: https://www.elastic.co/downloads/kibana (目前最新版本:4.6.1)

下载后将其解压到某个目录即可,本文中的解压目录为:

/opt/elasticsearch-2.4.0

/opt/logstash-2.4.0

/opt/kibana-4.6.1-linux-x86_64

注:这3个组件相互之间的关系及作用如下:

Logstash(收集服务器上的日志文件) –》然后保存到 ElasticSearch(搜索引擎) –》Kibana提供友好的web界面(从ElasticSearch读取数据进行展示)

二、启动elasticsearch

2.1

进入elasticsearch目录/bin

./elasticsearch

如果启动报错提示不能使用root账号运行,请su到普通账号,比如我的普通账号和组是chenjie

那么在root下先  chown -R chenjie:chenjie  /opt/elasticsearch-2.4.0  然后 su chenjie 再执行启动命令

顺利的话,启动成功后,在浏览器里输入http://localhost:9200/ 应该能看到类似下面的输出:

qq20160928135400

 

 

2.2 安装kopf插件

先按Ctrl+C停止elasticsearch,接下来准备安装插件,elasticsearch有大量插件资源,用于增加其功能,bin目录下,输入

./plugin list 可以查看当前安装的插件列表,我们刚刚全新安装,输出的是一个空列表,继续输入

./plugin install lmenezes/elasticsearch-kopf

将会联网安装kopf插件,安装完成后,再次用./plugin list确认下:

[root@localhost bin]# ./plugin  list
Installed plugins in /opt/elasticsearch-2.4.0/plugins:
    - kopf

如果输出上述类似,表明kopf安装成功。

然后重启elasticsearch,浏览器里输入http://localhost:9200/_plugin/kopf,将会看到类似下面的界面,可以很直观的看到elasticsearch的一些运行状况

qq20160928135633

 

 

以上操作都ok后,建议Ctrl+C关掉,改用nohup ./elasticsearch & 将其做为后台进程运行,以免退出。

三、logstash的启动与配置

3.1 新建索引配置文件

/opt/logstash-2.4.0/bin 下

mkdir conf

vi conf/logstash-indexer.conf

input {
 file {
   path => ["/var/opt/log/a.log","/var/opt/log/b.log"]
 }
}

output {
  elasticsearch { hosts => ["localhost:9200"] }
  stdout { codec => rubydebug }
}

上面几个步骤的意思就是创建一个名为logstash-indexer.conf的配置文件,input{file{…}}部分指定的是日志文件的位置(可以多个文件),一般来说就是应用程序log4j输出的日志文件。output部分则是表示将日志文件的内容保存到elasticsearch,这里hosts对应的是一个数组,可以设置多个elasticsearch主机,相当于一份日志文件的内容,可以保存到多个elasticsearch中。

至于第9行的stdout,则表示终端的标准输出,方便部署时验证是否正常运行,验证通过后,可以去掉。

3.2 启动

继续保持在logstash的bin目录下,输入

./logstash -f conf/logstash-indexer.conf

稍等片刻,如果看到Settings: Default pipeline workers: 1   Pipeline main started(logstash-2.4.0版本是这个提示,以前版本是Logstash startup completed),则表示启动成功。然后另开一个终端窗口,随便找个文本编辑工具(比如:vi),向/var/opt/log/a.log里写点东西,比如:hello world之类,然后保存。观察http://localhost:9200/_search?pretty

qq20160928140832

 

 

说明logstash工作正常,表明elasticsearch接收到logstash的数据了。

以上操作都ok后,建议Ctrl+C关掉,改用nohup ./logstash -f conf/logstash-indexer.conf  & 将其做为后台进程运行,以免退出。

四、kibana的配置及启动

4.1 修改配置文件

/opt/kibana-4.6.1-linux-x86_64/config 下有一个配置文件kibana.yml,大概在12行的位置,改成下面这样:

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

即:指定elasticsearch的访问位置

4.2 启动

/opt/kibana-4.6.1-linux-x86_64/bin 下,输入:

./kibana

启动完成后,在浏览器里输入http://localhost:5601/ 即可看到kibana界面,首次运行,会提示创建index,直接点击Create按钮即可。

然后,就能看到类似下面的界面了:

qq20160928141248

 

 

以上操作都ok后,建议Ctrl+C关掉,改用nohup  ./kibana   & 将其做为后台进程运行,以免退出。

参考  http://www.cnblogs.com/yjmyzz/p/ELK-install-tutorial.html

One Comment

  1. kuyus
    kuyus 2016年10月20日

    路过~混个脸熟。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注