用Kibana+Logstash+Elasticsearch快速搭建实时日志查询、收集与分析系统-阿里云开发者社区

开发者社区> cnbird> 正文

用Kibana+Logstash+Elasticsearch快速搭建实时日志查询、收集与分析系统

简介: 安装环境 先看看都需要安装什么软件包ruby 运行Kibana 必须, rubygems 安装ruby扩展必须 bundler 功能类似于yum JDK 运行java程序必须  redi...
+关注继续查看

安装环境

先看看都需要安装什么软件包
ruby 运行Kibana 必须,
rubygems 安装ruby扩展必须
bundler 功能类似于yum
JDK 运行java程序必须 
redis 用来处理日志队列
logstash 收集、过滤日志
ElasticSearch 全文搜索服务(logstash集成了一个)
kibana 页面展示

192.168.18.240 logstash index,kibana,JDK
192.168.18.241 logstash agent,JDK
192.168.18.242 redis
192.168.18.243 ElasticSearch,JDK

先安装redis (192.168.18.242)
# wget http://redis.googlecode.com/files/redis-2.6.12.tar.gz
# tar zxvf redis-2.6.12.tar.gz 
# mv redis-2.6.12 redis 
# cd redis
# make -j24
# make install
# vi /root/soft/redis/redis.conf
修改level为 loglevel verbose
# redis-server /root/soft/redis/redis.conf & 
看看 redis服务的状态
#  lsof -i:6379 

安装elasticsearch (192.168.18.243)
 elasticsearch会依赖于java
 
# vi /etc/apt/sources.list
deb http://ftp.debian.org/debian/ squeeze main non-free
deb-src http://ftp.debian.org/debian/ squeeze main non-free
# apt-get update
# apt-cache search sun-java
# apt-get install sun-java6-jdk sun-java6-jre
# java -version

# wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.20.6.zip
# unzip elasticsearch-0.20.6.zip
# mv elasticsearch-0.20.6 /usr/local/share/elasticsearch
# cd /usr/local/share/elasticsearch/bin/
# ./elasticsearch -f

在 logstash index上安装基础的软件环境: (192.168.18.240)
# vi /etc/apt/sources.list
deb http://ftp.debian.org/debian/ squeeze main non-free
deb-src http://ftp.debian.org/debian/ squeeze main non-free
# apt-get update
# apt-cache search sun-java
# apt-get install sun-java6-jdk sun-java6-jre
# java -version


开始安装logstash (其实logstash 就是一个java脚本,不需要安装... 下载即用 )
# wget https://logstash.objects.dreamhost.com/release/logstash-1.1.9-monolithic.jar
#  vi /root/soft/redis.conf
input {
redis {
  host => '192.168.18.242'
  data_type => 'list'
  port => "6379"
  key => 'logstash:redis'
  type => 'redis-input'
  }
}

output {
    elasticsearch {
           host => '192.168.18.243'
           port => "9300"
    }
}

#  java -jar /root/soft/logstash-1.1.9-monolithic.jar agent -f /root/soft/redis.conf -- web --backend elasticsearch:///?local

 现在可以通过浏览器访问一下 http://192.168.18.240:9292 看看logstash是的页面是个什么样子


配置logstash的agent (192.168.18.241)
安装sun-java6-jre sun-java6-jdk 
# wget https://logstash.objects.dreamhost.com/release/logstash-1.1.9-monolithic.jar
#  vi /root/soft/redis.conf
input {
        stdin {
                type => "stdin-type"
        }

        file {
                type => "linux-syslog"
                # Wildcards work, here :)
                path => [ "/var/log/*.log", "/var/log/messages", "/var/log/syslog" ]
        }
}

output {
     redis {
      host => '192.168.18.242'
      data_type => 'list'
      key => 'logstash:redis'
       }
}
#  java -jar /root/soft/logstash-1.1.9-monolithic.jar agent -f /root/soft/redis.conf &


OK,最后就是 Kibana了 ,我把Kibana装在了 logstash index上面
下载地址为 http://kibana.org/intro.html

  1. # apt-get install ruby rubygems
  2. # gem install bundler
  3. # bundle install      ( /var/lib/gems/1.8/bin/bundle install )
  4. 以上为ruby运行环境

  5.  wget https://github.com/rashidkpc/Kibana/archive/v0.2.0.tar.gz
  6. # tar zxvf Kibana-0.2.0.tar.gz 
  7. # cd Kibana-0.2.0 
  8. 直接安装就好了,非常简单,因为之前咱们已经安装好了 bundle 
  9. 编辑配置文件,指定 elasticsearch 的位置 
  10. [192.168.18.240 root@nodec:/soft/Kibana-0.2.0
  11. # vim KibanaConfig.rb 
  12. ..... 
  13.   Elasticsearch = "192.168.18.243:9200" 
  14.   KibanaPort = 5601 
  15.   KibanaHost = '0.0.0.0' 
  16. ..... 
  17. 主要是这几个参数 
  18. 启动的话需要ruby 
  19. [192.168.18.240 root@nodec:/soft/Kibana-0.2.0
  20. # /usr/bin/ruby kibana.rb & 
  21. [192.168.18.240 root@nodec:/soft/Kibana-0.2.0
  22. # == Sinatra/1.3.5 has taken the stage on 5601 for development with backup from Thin 
  23. >> Thin web server (v1.5.0 codename Knife) 
  24. >> Maximum connections set to 1024 
  25. >> Listening on 0.0.0.0:5601, CTRL+C to stop 
  26. 如果ruby的东西都不缺的话,启动会很顺利,ok 现在看看5601端口的状态 
  27. [192.168.233.128 root@nodec:/soft/Kibana-0.2.0
  28. # lsof -i:5601 
  29. COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME 
  30. ruby    3116 root    5u  IPv4  28947       TCP *:esmagent (LISTEN) 


访问一下 试试看 http://192.168.18.240:5601 尝试搜索一下php的错误日志,比如mysql

用Kibana+Logstash+Elasticsearch快速搭建实时日志查询、收集与分析系统


呵呵,要的就是这个效果,日志会实时的汇总到 logstash index 上供我们查询,当然这只是开始使用logstash的第一步而已,更多的高级功能可以看看官方文档
http://logstash.net/docs/1.1.9/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
干货 | Debezium实现Mysql到Elasticsearch高效实时同步
来自Elasticsearch中文社区的问题—— MySQL中表无唯一递增字段,也无唯一递增时间字段,该怎么使用logstash实现MySQL实时增量导数据到es中?
57 0
实战 | canal 实现Mysql到Elasticsearch实时增量同步
关系型数据库Mysql/Oracle增量同步Elasticsearch是持续关注的问题,也是社区、QQ群等讨论最多的问题之一。 问题包含但不限于: 1、Mysql如何同步到Elasticsearch? 2、Logstash、kafka_connector、canal选型有什么不同,如何取舍? 3、能实现同步增删改查吗? … 本文给出答案。
36 0
学生管理系统 | 手把手教你入门Python之八十二
本节介绍了一个较为完整的学生管理系统的开发流程。
1278 0
Observability:使用 Elastic Stack 分析地理空间数据
在今天的文章中,我们将参考之前的文章 “如何使用 Elasticsearch ingest 节点来丰富日志和指标”。我们可以利用 Elasticsearch ingest 节点来更加丰富我们的数据,并对这些数据做更进一步的的分析。
1266 0
【最佳实践】使用 Elasticsearch SQL 实现数据查询
如何使用 Elasticsearch SQL 来对我们的数据进行查询。
2314 0
首度公开!OceanBase存储系统架构的演进历程及工程实践
OB君:作为一款100%自研的分布式数据库,OceanBase历经了近十年的发展历程。近十年来,OceanBase的存储架构经历了多次演进,以解决业务越来越复杂苛刻的存储需求。本文整理自赵裕众(花名陈群)在2019 SACC中国系统架构师大会中的演讲。
3061 0
【最佳实践】Vega:定制开箱即用的 Kibana 可视化分析图标
Kibana 提供了很多开箱即用的可视化工具。它们可以让我们很方便地创建我们想要的分析图表。如果我们想定制一个我们自己的可视化图,那该怎么办呢?传统的方法是创建自己的插件来扩充我们自己的需求,但是这种开发的成本及周期都比较长。很幸运的是,Kibana 提供了一种很方便的可视化工具 : Vega。在今天的文章中,我们将来介绍如何创建一个属于我们自己的 Vega 可视化图。
8049 0
Elasticsearch的TermsQuery慢查询分析和优化
前言 本篇文章主要记录业务上的一个TermsQuery优化和分析的过程和一些思考。 在使用ES的时候,经常会遇到慢查询,这时候可以利用profile进行分析,当利用profile也查看不出什么端倪时候,可以尝试通过阅读代码查看查询为什么这么慢。如下是一个我们内部业务的一个慢查询,经常出现4s左右的延时,一模一样的查询,但是延时不一样,且很难复现。 { "from": 0,
661 0
+关注
cnbird
阿里云安全专家,主要负责阿里云云产品安全。
4036
文章
3
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载