搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(五) 通过redis扩展logstash
2017-09-14 11:23
1016 查看
摘要:在实际生产中,在每台应用服务器运行logstash进程并将数据直接发送到Elasticsearch里,显然是不科学的,原因:
Elasticsearch非常占用内存,不可能部署很多,而过多的客户端连接对Elasticsearch是一种额外的压力;
运维人员未必愿意在每台生产服务器上部署 JDK,因为生产环境的服务器一般都不会是用的最新版的JDK,而Elasticsearch对JDK版本要求比较高
所以,在实际运用中,logstash 进程会被分为两个不同的角色。
shipper:运行在应用服务器上的,尽量减轻运行压力,只做读取和转发
indexer:运行在独立服务器上,完成数据解析处理,负责写入Elasticsearch
前言:由于前面几篇所有的步骤都写得很详细,所以这次我省略了一些不重要的内容的代码和截图
搭建环境:redis3.0.6 + logstash5.5.51 + ubuntu/cetnos
首先我们需要在ubuntu或者centos上安装redis,如果没有安装的朋友可以参考我的另一篇博客linux ubuntu16.04/centos7 配置 redis 3.0.6 并进行简单测试
1、首先准备好输入端logstash(专业术语为shipper),其配置文件内容如下
2、然后运行输入端logstash(shipper),进入logstash目录,输入以下命令
然后将第
4000
1步准备好的配置放在放在logstash-5.5.1目录下,如下图
输入以下命令运行logstash
3、接着运行redis,这里要提一下,因为我这里只是做个demo,redis和两个logstash都是在同一台服务器运行的,所以运行redis时使用的是默认配置,即没有增加配置文件。如果要在局域网或者外网上扩展logstash,则需要修改redis目录下的redis.conf文件的配置选项。
接着新建一个终端,输入以下命令,运行redis
4、最后我们只要配置一下输出端的logstash(专业术语为:indexer)就可以了,再新建一个终端(这是第三个,一共需要三个),将logstash目录复制一份,还是在/home/husen/Desktop目录下,然后写好输出的配置文件,并放在logstash目录下,内容如下:
5、最后,我们把输出端logstash(indexer)运行起来,在logstash目录下输入
6、现在,就是见证奇迹的时刻了。我们在第一个logstash(shipper)的终端,输入 Hello World ,可以看到shipper这边输出了内容,表明输入端是没有问题滴。同时我们也可以在第二个logstash(indexer)终端看到内容,表明logstash输出的内容通过redis传输到了另一个logstash,并且成功输出!
截图如下:
输入端(有Hello World)
输出端(没有Hello World)
Elasticsearch非常占用内存,不可能部署很多,而过多的客户端连接对Elasticsearch是一种额外的压力;
运维人员未必愿意在每台生产服务器上部署 JDK,因为生产环境的服务器一般都不会是用的最新版的JDK,而Elasticsearch对JDK版本要求比较高
所以,在实际运用中,logstash 进程会被分为两个不同的角色。
shipper:运行在应用服务器上的,尽量减轻运行压力,只做读取和转发
indexer:运行在独立服务器上,完成数据解析处理,负责写入Elasticsearch
前言:由于前面几篇所有的步骤都写得很详细,所以这次我省略了一些不重要的内容的代码和截图
搭建环境:redis3.0.6 + logstash5.5.51 + ubuntu/cetnos
首先我们需要在ubuntu或者centos上安装redis,如果没有安装的朋友可以参考我的另一篇博客linux ubuntu16.04/centos7 配置 redis 3.0.6 并进行简单测试
1、首先准备好输入端logstash(专业术语为shipper),其配置文件内容如下
input { # 输入 stdin{} } output { #同时在终端输出,保证shipper不出错 stdout{ codec => rubydebug } #输出到redis redis { host => ["127.0.0.1:6379"] data_type => "list" key => "logstash:redis" } }
2、然后运行输入端logstash(shipper),进入logstash目录,输入以下命令
//这里我的logstash和redis都在/home/husen/Desktop 目录下 cd logstash-5.5.1 ls
然后将第
4000
1步准备好的配置放在放在logstash-5.5.1目录下,如下图
输入以下命令运行logstash
./bin/logstash -f to_redis.conf #to_redis.conf为我的配置文件的名称,各位可以自行命名
3、接着运行redis,这里要提一下,因为我这里只是做个demo,redis和两个logstash都是在同一台服务器运行的,所以运行redis时使用的是默认配置,即没有增加配置文件。如果要在局域网或者外网上扩展logstash,则需要修改redis目录下的redis.conf文件的配置选项。
接着新建一个终端,输入以下命令,运行redis
//默认打开终端进入/home/husen/Desktop目录 cd redis-3.0.6 src/redis-server ##这里没有加配置文件
4、最后我们只要配置一下输出端的logstash(专业术语为:indexer)就可以了,再新建一个终端(这是第三个,一共需要三个),将logstash目录复制一份,还是在/home/husen/Desktop目录下,然后写好输出的配置文件,并放在logstash目录下,内容如下:
input { # 从redis读入 redis { host => "127.0.0.1" port => "6379" codec => "json" data_type => "list" key => "logstash:redis" } } output { #输出到终端 stdout { codec => rubydebug } }
./bin/logstash -f from_redis.conf #from_redis.conf为我的配置文件的名称,各位可以自行命名
6、现在,就是见证奇迹的时刻了。我们在第一个logstash(shipper)的终端,输入 Hello World ,可以看到shipper这边输出了内容,表明输入端是没有问题滴。同时我们也可以在第二个logstash(indexer)终端看到内容,表明logstash输出的内容通过redis传输到了另一个logstash,并且成功输出!
截图如下:
输入端(有Hello World)
输出端(没有Hello World)
搞定!
相关文章推荐
- 使用kibana+logstash+elasticsearch+redis搭建分布式日志收集、分析、查询系统。
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(八) elasticsearch配置外网访问及常见错误处理
- ELK(ElasticSearch+Logstash+Kibana)+redis日志收集分析系统
- ELK(elasticsearch+logstash+kibana)实时日志分析系统搭建
- Logstash+Redis+Elasticsearch+Kibana+Nginx搭建日志分析系统
- Logstash+Redis+Elasticsearch+Kibana+Nginx搭建日志分析系统
- elasticsearch + logstash + kibana 搭建 ELK 日志分析系统
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(十三) kibana 界面查询语法
- Ubuntu 14.04搭建ELK日志分析系统(Elasticsearch+Logstash+Kibana)
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(七) elasticsearch.yml配置文件详细说明
- Logstash+Redis+Elasticsearch+Kibana+Nginx搭建日志分析系统
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(十五) logstash将配置写在多个文件
- ELK日志平台搭建logstash+elasticsearch+redis+Kibana
- ELK(elasticsearch+logstash+kibana)开源日志分析平台搭建
- Linux——ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台
- ELK(elasticsearch+logstash+kibana)+redis实现nginx 日志的分析
- 安装logstash+kibana+elasticsearch+redis搭建集中式日志分析平台
- Centos7下使用ELK(Elasticsearch + Logstash + Kibana)搭建日志集中分析平台
- logstash+elasticsearch+kibana搭建日志收集分析系统
- ELK6.2.2(elasticsearch+logstash+kibana)开源日志分析平台搭建(二):kibana简单搭建