首页 > 其他 > 详细

redhat下使用ELK套件搭建日志分析和监控平台

时间:2015-07-31 02:17:58      阅读:447      评论:0      收藏:0      [点我收藏+]
ELK套件(ELK stack)是指ElasticSearch、Logstash和Kibana三件套。这三个软件可以组成一套日志分析和监控工具。
官方下载地址:https://www.elastic.co/downloads

测试环境:redhat6.5

所需软件:JDK1.7.0,Logstash,ElasticSearch,Kibana
首先我们先了解一下上面三个套件的功能:
    ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
   Logstash是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索),您可以使用它。说到搜索,logstash带有一个web界面,搜索和展示所有日志。
   kibana也是一个开源和免费的工具,他可以帮助您汇总、分析和搜索重要数据日志并提供友好的web界面。他可以为 Logstash 和 ElasticSearch 提供的日志分析的 Web 界面

   下面是他们三者的一个关系架构图:
bubuko.com,布布扣
bubuko.com,布布扣
下面我们开始搭建这个ELK日志分析和监控平台
这里为了方便起见,我们直接配置centos的yum源:
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
vim CentOS-Base.repo      #将所有的$release为6然后保存
yum clean all

设置iptables打开相应端口:
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9200 -j ACCEPT  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9292 -j ACCEPT
service iptables restart

安装jdk:
yum install java-1.7.0-openjdk* -y
java -version

安装ElasticSearch
ElasticSearch默认的对外服务的HTTP端口是9200,节点间交互的TCP端口是9300
mkdir /usr/local/elk
tar zxf elasticsearch-1.4.2.tar.gz -C /usr/local/elk/
mv /usr/local/elk/elasticsearch-1.4.2 /usr/local/elk/elasticsearch

安装elasticsearch-servicewrapper,并启动ElasticSearch服务:
tar zxf master
mv elasticsearch-servicewrapper-master/service /usr/local/elk/elasticsearch/bin/
/usr/local/elk/elasticsearch/bin/service/elasticsearch start

下面我们测试一下ElasticSearch服务是否正常,预期返回200的状态码:
bubuko.com,布布扣
bubuko.com,布布扣
说明这个服务正常。

安装Logstash
Logstash默认的对外端口是9292.
tar zxf logstash-1.4.2.tar.gz -C /usr/local/elk/
mv /usr/local/elk/logstash-1.4.2 /usr/local/elk/logstash

测试一下Logstash服务是否正常,预期可以将输入简单的日志形式打印的界面上:
/usr/local/elk/logstash/bin/logstash -e ‘input { stdin { } } output { stdout {} } ‘
hello we are hy            #这里我们输入信息
2015-07-27T00:38:38.317+0000 elk hello we are hy        #它会自动输出到屏幕

我们可以自己配置到文件,这是它的官方配置文档地址:https://www.elastic.co/guide/index.html
mkdir /usr/local/elk/logstash/etc
vim /usr/local/elk/logstash/etc/hy_search.conf

点击(此处)折叠或打开

  1. input {
  2. stdin {
  3. type => "human"
  4. }
  5. }
  6. output {
  7. stdout {
  8. codec => rubydebug
  9. }
  10. elasticsearch {
  11. host => "192.168.40.131"
  12. port => "9300"
  13. }
  14. }
logstash的命令行标志:
agent
   -f    configfile     加载logstash的配置文件,可以是文件、目录、通配符,如果是目录或者通配符,则读取第一个匹配到的文件
   -e   configset     设置一些配置文件中的配置
   -w   count          设置filter的工作者个数,默认是1
   -l     logfile         设置日志路径,默认是stdout
web
   -a    address      启动一个webserver,默认监听0.0.0.0
   -p    port           webserver监听的地址,默认是9292

/usr/local/elk/logstash/bin/logstash -f hy_search.conf 
bubuko.com,布布扣
bubuko.com,布布扣
我们可以看到他的执行结果。
我们也可以给他安装一些其他的组件,更多信息可以查看/usr/local/elk/logstash/README.md

安装Kibana
tar zxf kibana-3.1.2.tar.gz
将他放到nginx的发布目录里面然后启动nginx服务:
mv kibana-3.1.2  /usr/local/lnmp/nginx/html/kibana

修改Kibana的配置文件,把elasticsearch所在行的内容替换成如下:
vim /usr/local/lnmp/nginx/html/kibana/config.js 
elasticsearch: "http://192.168.40.131:9200"

修改ElasticSearch的配置文件,追加一行内容,并重启ElasticSearch服务:
vim /usr/local/elk/elasticsearch/config/elasticsearch.yml
http.cors.enabled:true
/usr/local/elk/elasticsearch/bin/service/elasticsearch64 restart

然后在浏览器中输入http://192.168.40.131/kibana就可以访问Kibana
bubuko.com,布布扣

配置Logstash
再次创建Logstash配置文件,这里将nginx日志和系统日志作为输出,输出直接传给ElasticSearch,不再打印在界面上:
vim /usr/local/elk/logstash/etc/logstash_agent.conf

点击(此处)折叠或打开

  1. input {
  2. file {
  3. type => "http.access"
  4. path => ["/usr/local/lnmp/nginx/logs/access.log"]
  5. }
  6. file {
  7. type => "http.error"
  8. path => ["/usr/local/lnmp/nginx/logs/error.log"]
  9. }
  10. file {
  11. type => "messages"
  12. path => ["/var/log/messages"]
  13. }
  14. }
  15. output {
  16. elasticsearch {
  17. host => "192.168.40.131"
  18. port => 9300
  19. }
  20. }
使用下面命令:
nohup /usr/local/elk/logstash/bin/logstash -f /usr/local/elk/logstash/etc/logstash_agent.conf
然后在web端使用Kibana进行查看,这样我们的一个简单的日志分析和监控平台就搭建完成了。
bubuko.com,布布扣
bubuko.com,布布扣




redhat下使用ELK套件搭建日志分析和监控平台

原文:http://blog.chinaunix.net/uid-29784755-id-5136769.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!