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

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 安装环境先看看都需要安装什么软件包ruby 运行Kibana 必须,rubygems 安装ruby扩展必须bundler 功能类似于yumJDK 运行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/

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
2月前
|
存储 固态存储 Java
Elasticsearch中查询性能优化
Elasticsearch中查询性能优化
193 0
|
1月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
29 0
|
2月前
电子书阅读分享《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
电子书阅读分享《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
235 1
|
2月前
|
JSON Prometheus Cloud Native
Grafana 系列 - 统一展示 -8-ElasticSearch 日志快速搜索仪表板
Grafana 系列 - 统一展示 -8-ElasticSearch 日志快速搜索仪表板
|
6天前
|
JavaScript Java 测试技术
基于Java的公司员工工作日志办公系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的公司员工工作日志办公系统的设计与实现(源码+lw+部署文档+讲解等)
31 3
|
23天前
|
C++
QT实现一个简单的日志打印系统
QT实现一个简单的日志打印系统
|
1月前
|
分布式计算 DataWorks 关系型数据库
DataWorks报错问题之报错“查询运行日志失败"如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
2月前
|
缓存 算法 索引
【Elasticsearch专栏 07】深入探索:Elasticsearch的倒排索引如何进行模糊查询和通配符查询
Elasticsearch的倒排索引支持模糊查询和通配符查询,通过特定的算法和数据结构,能够实现对关键词的模糊匹配和通配符匹配。这两种查询类型提供了更灵活的搜索功能,但可能影响查询性能,需结合优化策略使用。
|
2月前
|
缓存 自然语言处理 数据挖掘
一篇文章让你学会Elasticsearch中的查询
一篇文章让你学会Elasticsearch中的查询
137311 118
|
2月前
|
测试技术 定位技术 API
万字长文:一文彻底搞懂Elasticsearch中Geo数据类型查询、聚合、排序
万字长文:一文彻底搞懂Elasticsearch中Geo数据类型查询、聚合、排序
94613 140

热门文章

最新文章