阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu 14.04搭建ELK日志分析系统(Elasticsearch+Logstash+Kibana)

150次阅读
没有评论

共计 4031 个字符,预计需要花费 11 分钟才能阅读完成。

系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。日志的作用不言而喻,但对于数量庞大且分布在多台机器上的日志,查看就显得特别麻烦了。所以,对于运维人员来说,使用日志分析系统是非常有必要的。

开源实时日志分析 ELK 平台能够实现日志的监控与分析,ELK 由 ElasticSearch、Logstash 和 Kiabana 三个开源工具组成。官方网站:https://www.elastic.co/products

Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful 风格接口,多数据源,自动搜索负载等。

Logstash 是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。

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

ELK 工作流程大致如下:

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

在需要收集日志的所有服务上部署 logstash,作为 logstash agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到 logstash indexer,logstash indexer 将日志收集在一起交给全文搜索服务 ElasticSearch,可以用 ElasticSearch 进行自定义搜索通过 Kibana 来结合自定义搜索进行页面展示。

ELK 平台搭建:

基于 Ubuntu 14.04 64 位操作系统搭建

下载 ELK 安装包:https://www.elastic.co/downloads/

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

下载 jdk 安装包 :http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

下载完的数据包:

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

1. 安装依赖包 jdk8:

1
2
#sudo mkdir /usr/lib/jvm
#tar xvzf jdk-8u91-linux-x64.tar.gz -C /usr/lib/jvm/
1
#vim ~/.bashrc

在文档最下部追加

1
2
3
4
export Java_HOME=/usr/lib/jvm/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
1
执行:source ~/.bashrc

执行 java -version 和 java,有相应数据即安装完成。

2. 安装 Logstash:

1
#tar xvzf logstash-2.3.3.tar.gz

在 logstash-2.3.3 目录下创建 logstash-test.conf 配置文件,内容如下:

1
2
3
4
5
6
# cat logstash-test.conf
  
input {stdin {} }
output {
   stdout {codec=> rubydebug}
}

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

使用如下命令启动:

1
# ./bin/logstash agent -f logstash-test.conf

启动后,你在屏幕上输入什么内容,就会在 console 里显示出来。如输入 ”hehe”,显示如下:

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

说明安装成功。使用 Ctrl+ C 退出进程。

3. 安装 elasticsearch:

1
#tar xvzf elasticsearch-2.3.3.tar.gz

修改配置文件,允许远程访问:

1
2
cd elasticsearch-2.3.3/config
vim elasticsearch.yml

修改 network 栏为:

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

启动 elasticsearch:

1
# ./bin/elasticsearch -d #- d 为后台启动

访问 http://<elasticsearch-ip>:9200

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

如上,说明安装成功。

安装 elasticsearch 插件 head:

1
2
# cd elasticsearch-2.3.3
# ./bin/plugin install mobz/elasticsearch-head

出现如下:

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

安装成功,访问 http://<elasticsearch-ip>:9200/_plugin/head,如下:

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

安装成功。

测试 elasticsearch 与 logstash 是否能链接成功:

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

1
2
3
4
5
6
7
8
9
# cat logstash-es-simple.conf
  
input {stdin {} }
output {
   elasticsearch {hosts => "localhost" }
   stdout {codec=> rubydebug}
}
  
# hosts 为 elasticsearch 的主机,这里两者在同一机器上

启动:

1
# ./bin/logstash agent -f logstash-es-simple.conf

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

打开 http://<elasticsearch-ip>:9200/_search?pretty,如下:

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

说明二者链接成功。至此,你已经成功利用 Elasticsearch 和 Logstash 来收集日志数据了。

 

4. 安装 kibana:

1
# tar xvzf kibana-4.5.1-linux-x64.tar.gz

启动:

1
2
# cd kibana-4.5.1-linux-x64
# ./bin/kibana

启动过程如下:

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

访问 http://<ip>:5601,如下:

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

安装成功。

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

看到如下,索引创建完成:

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

点击“Discover”选项卡,可以搜索和浏览 elasticsearch 中的数据,默认搜索最近 15 分钟的数据,也可以自定义。

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

至此,ELK 平台已经部署完成。

5. 配置 logstash 作为 Indexer:

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

在 logstash 工作目录中创建配置文件 logstash-indexer.conf,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
input {
  file {
    type =>"syslog"
     path => ["/var/log/messages""/var/log/syslog" ]
  }
  syslog {
    type =>"syslog"
    port =>"5544"
  }
}
output {
  stdout {codec=> rubydebug}
  elasticsearch {hosts => "localhost" }
}

启动 logstash 后,使用 echo 模拟写入日志,命令执行后信息如下:

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

浏览器中:

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

elasticsearch 在浏览器中如下:

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana)

由上可见,日志数据都同步成功。

到此,ELK 平台部署与测试已经完成。

ElasticSearch 最新版本 2.20 发布下载了   http://www.linuxidc.com/Linux/2016-02/128166.htm

Linux 上安装部署 ElasticSearch 全程记录  http://www.linuxidc.com/Linux/2015-09/123241.htm

Elasticsearch 安装使用教程 http://www.linuxidc.com/Linux/2015-02/113615.htm

ElasticSearch 配置文件译文解析 http://www.linuxidc.com/Linux/2015-02/114244.htm

ElasticSearch 集群搭建实例  http://www.linuxidc.com/Linux/2015-02/114243.htm

分布式搜索 ElasticSearch 单机与服务器环境搭建  http://www.linuxidc.com/Linux/2012-05/60787.htm

ElasticSearch 的工作机制  http://www.linuxidc.com/Linux/2014-11/109922.htm 

使用 Elasticsearch + Logstash + Kibana 搭建日志集中分析平台实践  http://www.linuxidc.com/Linux/2015-12/126587.htm

ElasticSearch 的详细介绍 :请点这里
ElasticSearch 的下载地址 :请点这里 

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-06/132618.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4031字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中