这是之前Logstash+kibana+ ElasticSearch+redis 安装时,自己整理的初学者容易看懂的资料,按照以下的步骤也已经完成了安装。

这里有二台服务器:
  192.168.148.201
logstash index,redis,ElasticSearch,kibana,JDK
  192.168.148.129 logstash agent,JDK

1 系统各部分应用介绍

  Logstash:一个完全开源对日志进行收集、分析和存储的工具。他可以做系统的log收集,转载的工具。同时集成各类日志插件,对日志查询和分析的效率有很大的帮助.一般使用shipper作为log收集、indexer作为log转载.

  • Logstash shipper收集log 并将log转发给redis 存储
  • Logstash indexer从redis中读取数据并转发给elasticsearch

  redis:在这里做一个缓存的机制,logstash shipper将log转发到redis(只做队列处理不做存储)。Logstash indexer从redis中读取数据并转发给elasticsearch。 这里加上redis是为了提高Logstash shipper的日志提交到Logstash indexer的速度,同时避免由于突然断电等导致的数据的丢失。

  Elasticsearch:开源的搜索引擎框架,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。也可进行多数据集群,提高效率。这里的目的是从redis中读取数据,并转发到kibana中。

  Kibana:漂亮的界面展示,用web界面将数据挖掘后的数据以图表等形式进行形象的展示。

以下是工作的一个流程图:

2 服务端的安装步骤(192.168.148.201)

  2.1 JDK安装

  1.下载JDK:jdk-8u25-linux-x64.tar.gz

  2.解压安装:

    我们把JDK安装到这个路径(自己定义):/opt      

cd /opt
tar -zxvf jdk-8u25-linux-x64.tar.gz

    出现文件夹  jdk1.8.0_25。

  3.配置环境变量:vim ~/.bashrc

    在打开的文件的末尾添加,

export JAVA_HOME=/opt/jdk1..0_25
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

    保存退出,然后输入下面的命令来使之生效

source ~/.bashrc

  4.配置默认JDK

sudo update-alternatives --install /usr/bin/java java /opt/jdk1..0_25/bin/java 

sudo update-alternatives --install /usr/bin/java java /opt/jdk1..0_25/bin/javac 

    注意:如果以上两个命令出现找不到路径问题,只要重启一下计算机在重复上面两行代码就OK了。

    执行下面的代码可以看到当前各种JDK版本和配置:

sudo update-alternatives --config java

  5.测试

    打开一个终端,输入下面命令:

java -version

    检测java命令是否已经可以运行了。

  2.2 redis

  下面是redis.conf的主要配置参数的意义:

  • daemonize:是否以后台daemon方式运行
  • pidfile:pid文件位置
  • port:监听的端口号
  • timeout:请求超时时间
  • loglevel:log信息级别
  • logfile:log文件位置
  • databases:开启数据库的数量
  • save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
  • rdbcompression:是否使用压缩
  • dbfilename:数据快照文件名(只是文件名,不包括目录)
  • dir:数据快照的保存目录(这个是目录)
  • appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
  • appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)

这时你可以打开一个终端进行测试了,配置文件中默认的监听端口是6379

  1.部署一个redis单机实例:

wget https://github.com/antirez/redis/archive/3.0.0-rc1.tar.gz

  2.

tar zxvf 3.0.-rc1.tar.gz

  3.编译

    需要说明的事,redis的安装非常简单,已经有现成的Makefile文件,直接运行make命令即可。

make
make install

  4.redis.conf配置文件为:

daemonize yes
port
appendonly yes

  5.启动:

 redis.server redis.conf

  6.测试

 redis-cli

127.0.0.1:> quit

/bin

redis-server redis.conf &

  2.3 logstash

  下载并解压:

$ wget https://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz

$ tar zxvf logstash-1.4..tar.gz -C /usr/local/

$ cd /usr/local/logstash-1.4.

$ mkdir conf logs

  配置文件conf/central.conf:

input {

    file {

        path => "/var/log"

        type => "syslog"

        exclude => "*.gz"

    }

    redis {

        host => "127.0.0.1"

        port => 

        type => "redis-input"

        data_type => "list"

        key => "key_count"

    }

}

  output {

    elasticsearch {

     host => "192.168.148.201"

     port => ""

    }

启动:

 root@user:/opt/logstash-1.4.# bin/logstash agent --verbose --config conf/central.conf --log logs/stdout.log  

2.4 ElasticSearch

$ wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.4.tar.gz

  $ elasticsearch使用默认配置即可,默认的cluster name为:elasticsearch;

  启动:

lasticsearch -d

  $ bin/elasticsearch解压即可使用非常方便,接下来我们看一下效果,首先启动ES服务,切换到elasticsearch目录,运行bin下的elasticsearch

cd /search/elasticsearch/elasticsearch-0.90./bin

./elasticsearch start

  访问默认的9200端口

curl -X GET http://localhost:9200

  3.启动服务

# elasticsearch-1.1./bin/elasticsearch &

# logstash-1.4./bin/logstash -f logstash-1.4./conf/logstash-apache.conf &

  2.5部署Kibana

$ wget https://download.elasticsearch.org/kibana/kibana/kibana-3.1.1.tar.gz

$ tar zxvf kibana-3.1..tar.gz 

   修改配置文件config.js,仅需要配置elasticsearch的地址即可:

elasticsearch: "http://192.168.148.201:9200"
 cp -r kibana-3.1. /var/www/html/kibana3

  出现问题:kibana 的WEB界面无法出现,80端口已经被用

cd /etc/apache2/sites-available

cp -default.conf kibana3.conf

vim kibana3.conf

  

<VirtualHost *:>#修改端口

    ServerAdmin 192.168.148.201/kibana3#有没有都没关系的

    DocumentRoot /var/www/html/kibana3#kibana的根目录

    <Directory /var/www/html/kibana3>

        Options None

        AllowOverride None

        Allow from all

    </Directory>

CustomLog /var/www/html/kibana combined#放日志的地方

</VirtualHost>
cd /etc/apache2

vim  ports.conf
Listen 

Listen #新加的

<IfModule ssl_module>

    Listen 

</IfModule>

<IfModule mod_gnutls.c>

    Listen 

</IfModule>

  各种重启:

cd  /var/www/html/kibana3/app/dashboards
mv logstash.json default.json
/etc/init.d/apache2 restart
cd /opt
elasticsearch-1.1./bin/elasticsearch &
logstash-1.4./bin/logstash -f logstash-1.4./conf/logstash.conf &

3.客户端的安装

  安装服务端安装:

bin/logstash -e 'input { stdin { } } output { stdout { codec => rubydebug } }'
我们再输入一些字符,这次我们输入"goodnight moon":
goodnight moon { "message" => "goodnight moon", "@timestamp" => "2013-11-20T23:48:05.335Z", "@version" => "", "host" => "my-laptop" }

  netstat –atln 看端口信息   

4.访问:http://192.168.148.201:8080

欢迎界面

Logstash+kibana+ ElasticSearch+redis的更多相关文章

  1. log4net.redis+logstash+kibana+elasticsearch+redis 实现日志系统

    前端时间写了个随笔 log4net.NoSql +ElasticSearch 实现日志记录 ,因项目原因需要把日志根java平台的同事集成采用logstash+kibana+elasticsearch ...

  2. 安装logstash+kibana+elasticsearch+redis搭建集中式日志分析平台

    安装logstash+kibana+elasticsearch+redis搭建集中式日志分析平台 2014-01-16 19:40:57|  分类: logstash |  标签:logstash   ...

  3. 使用Elasticsearch、Logstash、Kibana与Redis(作为缓冲区)对Nginx日志进行收集(转)

    摘要 使用Elasticsearch.Logstash.Kibana与Redis(作为缓冲区)对Nginx日志进行收集 版本 elasticsearch版本: elasticsearch-2.2.0 ...

  4. 使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践--转载

    原文地址:https://wsgzao.github.io/post/elk/ 另外可以参考:https://www.digitalocean.com/community/tutorials/how- ...

  5. (转)开源分布式搜索平台ELK(Elasticsearch+Logstash+Kibana)入门学习资源索引

    Github, Soundcloud, FogCreek, Stackoverflow, Foursquare,等公司通过elasticsearch提供搜索或大规模日志分析可视化等服务.博主近4个月搜 ...

  6. ELK6.0部署:Elasticsearch+Logstash+Kibana搭建分布式日志平台

    一.前言 1.ELK简介 ELK是Elasticsearch+Logstash+Kibana的简称 ElasticSearch是一个基于Lucene的分布式全文搜索引擎,提供 RESTful API进 ...

  7. 开源分布式搜索平台ELK(Elasticsearch+Logstash+Kibana)入门学习资源索引

    from:  http://www.w3c.com.cn/%E5%BC%80%E6%BA%90%E5%88%86%E5%B8%83%E5%BC%8F%E6%90%9C%E7%B4%A2%E5%B9%B ...

  8. Elasticsearch + logstash + kibana 配置

    Elasticsearch 配置 Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它: 分布式的实时文件存储,每个字段都被索引并可被搜索 分布式的实时分析搜索引擎 可以扩展 ...

  9. GlusterFS + lagstash + elasticsearch + kibana 3 + redis日志收集存储系统部署 01

    因公司数据安全和分析的需要,故调研了一下 GlusterFS + lagstash + elasticsearch + kibana 3 + redis 整合在一起的日志管理应用: 安装,配置过程,使 ...

随机推荐

  1. 最少javascript代码完成一个2048游戏

    原生javascript代码写的2048游戏.建议在谷歌浏览器下跑.'WASD'控制方向.演示地址请移步:http://runjs.cn/detail/bp8baf8b 直接贴代码~ html: &l ...

  2. google gflags使用.

    code.google.com 被墙的好开心... gflags很简单. 编译使用都很简单. (不像omaha这种丧心病狂的编译依赖). cmake 生成一下. 一路顺风顺水. 值得注意的是:  默认 ...

  3. H - The Falling Leaves

    Description Each year, fall in the North Central region is accompanied by the brilliant colors of th ...

  4. (圆形imageview 类似qq头像)---》(ps:引用第三库APAvatarImageView>

    使用方法:在故事版上把imageview的class名称设置为APAvatarImageView就可以显示圆形图,其他相关属性可以参考此类. demo下载地址 https://github.com/a ...

  5. Java快速入门

    Java 是什么? Java 的特点: 面向对象 平台无关(跨平台): 简单 安全 体系结构 - 中性 可移植 健壮 多线程 解释型 高性能 分布式 动态 Java环境设置: Java SE可免费提供 ...

  6. input的button和submit的区别

    故事由来: 其实这个问题,昨天已经遇到过,但是昨天是公司的一枚老员工帮助我这个实习生调的,而且我也确(猜)定(测)那枚老员工也不知道这个区别.然后今天又遇到相同问题. 故事梗概: 现在公司里面做一个项 ...

  7. 沈逸老师PHP魔鬼特训笔记(4)

    上一课我们通过shell脚本拷贝代码,了解了静态方法和静态属性.(还有个附件PHAR包,我直接无视了) 然后在GOD文件中写了一些参数, 我们也可以这样,把方法名像拼凑字符串一样拼起来. $get_p ...

  8. 【Mood-11】值得学习的国内外Android开发者信息

    国内 Android 开发者信息: 昵称 GitHub 博客 介绍 罗升阳   Luoshengyang@csdn Android 源码分析 邓凡平   innost@csdn 阿拉神农 魏祝林   ...

  9. 【Android Api 翻译4】android api 完整翻译之Contacts Provider (学习安卓必知的api,中英文对照)

    Contacts Provider 电话簿(注:联系人,联络人.通信录)提供者 ------------------------------- QUICKVIEW 快速概览 * Android's r ...

  10. Jax-ws开发实例

    初次接触Jax-ws(Java API xml web Service)感觉挺简单的,在这里写下我的所学的: 大概的顺序是:首先定义接口 ,然后写接口的实现类,最后编写客户端.步骤是挺简单的,来看看代 ...