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

简介: 安装环境先看看都需要安装什么软件包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/

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
WGLOG日志管理系统是怎么收集日志的
WGLOG通过部署Agent客户端采集日志,Agent持续收集指定日志文件并上报Server,Server负责展示与分析。Agent与Server需保持相同版本。官网下载地址:www.wgstart.com
|
7月前
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
678 122
基于docker搭建监控系统&日志收集
|
10月前
|
监控 API 开发工具
HarmonyOS Next的HiLog日志系统完全指南:从入门到精通
本文深入解析HarmonyOS Next的HiLog日志系统,涵盖日志级别、核心API、隐私保护与高级回调功能,助你从入门到精通掌握这一重要开发工具。
|
7月前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
873 2
|
9月前
|
存储
WGLOG日志管理系统可以采集网络设备的日志吗
WGLOG日志审计系统提供开放接口,支持外部获取日志内容后发送至该接口,实现日志的存储与分析。详情请访问:https://www.wgstart.com/wglog/docs9.html
|
存储 消息中间件 缓存
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
基于阿里云SelectDB,MiniMax构建了覆盖国内及海外业务的日志可观测中台,总体数据规模超过数PB,日均新增日志写入量达数百TB。系统在P95分位查询场景下的响应时间小于3秒,峰值时刻实现了超过10GB/s的读写吞吐。通过存算分离、高压缩比算法和单副本热缓存等技术手段,MiniMax在优化性能的同时显著降低了建设成本,计算资源用量降低40%,热数据存储用量降低50%,为未来业务的高速发展和技术演进奠定了坚实基础。
588 1
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
|
数据采集 JSON 数据挖掘
Elasticsearch 的DSL查询,聚合查询与多维度数据统计
Elasticsearch的DSL查询与聚合查询提供了强大的数据检索和统计分析能力。通过合理构建DSL查询,用户可以高效地搜索数据,并使用聚合查询对数据进行多维度统计分析。在实际应用中,灵活运用这些工具不仅能提高查询效率,还能为数据分析提供深入洞察。理解并掌握这些技术,将显著提升在大数据场景中的分析和处理能力。
702 20
|
11月前
|
JSON 安全 数据可视化
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,主要与 Elasticsearch 配合使用,提供强大的数据探索、分析和展示功能。elasticsearch安装在windows上一般是zip文件,解压到对应目录。文件,elasticsearch8.x以上版本是自动开启安全认证的。kibana安装在windows上一般是zip文件,解压到对应目录。elasticsearch的默认端口是9200,访问。默认用户是elastic,密码需要重置。
5637 0
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
297 10
|
存储 监控 安全
5款 Syslog集中系统日志常用工具对比推荐
集中管理Syslog有助于持续监控网络中的恶意活动,确保日志的搜索和分析更为便捷。常用工具包括Rsyslog、Syslog-ng、Logstash和Fluentd,它们各有优劣。Rsyslog通过多种协议确保日志传输的安全性;Syslog-ng支持高效收集和转发日志;Logstash能解析多源日志并索引;Fluentd将日志转换为JSON格式。卓豪EventLog Analyzer则提供一体化的日志管理,支持日志分析、报表生成、用户行为分析及实时告警,是全面的日志管理解决方案。
425 0
下一篇
开通oss服务