ELKStack-使用消息队列扩展

官方文档:https://www.elastic.co/guide/en/logstash/5.x/deploying-and-scaling.html

流程图

流程:数据源 --> logstash(input收集、output消息队列) -->  MQ  -->  logstash (input收集消息队列、filter过滤、output ES) --> ES

使用这个流程,主要是基于性能考虑,第一层logstash主要做原始数据收集,不对数据进行处理,提高对数据源的收集性能。同时部署第一层logstash需要放在生产环境的服务器上,做为agent端,这样使用也是基于尽量少消耗服务器性能的考量。

本章使用redis做消息队列

yum install -y redis

配置/etc/redis.conf

daemonize yes
bind 192.168.137.11

启动 systemctl start redis

logstash output redis使用

官方文档:https://www.elastic.co/guide/en/logstash/5.x/plugins-outputs-redis.html

1、标准输入、redis输出

input {
stdin {}
} filter {
} output{
redis {
host => ["192.168.137.11"]
port => 6379
db => 1
data_type => "list"
key => "demo"
timeout => 10
}
}

启动/opt/logstash/bin/logstash -f /etc/logstash/conf.d/redis.conf

2、apache日志输入,redis输出

input {
file {
path => "/etc/httpd/logs/access_log"
start_position => "beginning"
}
} filter {
} output{
redis {
host => ["192.168.137.11"]
port => 6379
db => 1
data_type => "list"
key => "apache"
timeout => 10
}
}

启动/opt/logstash/bin/logstash -f /etc/logstash/conf.d/apache.conf

logstash input redis使用

官方文档:https://www.elastic.co/guide/en/logstash/5.x/plugins-inputs-redis.html

1、redis输入、标准输出

input{
redis {
host => ["192.168.137.11"]
port => 6379
db => 1
data_type => "list"
key => "apache"
timeout => 10
}
} filter {
} output{
stdout{
codec => rubydebug
}
}

启动/opt/logstash/bin/logstash -f /etc/logstash/conf.d/indexer.conf

2、redis输入、grok过滤、标准输出

input{
redis {
host => ["192.168.137.11"]
port => 6379
db => 1
data_type => "list"
key => "apache"
timeout => 10
}
} filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
} output{
stdout{
codec => rubydebug
}
}

启动/opt/logstash/bin/logstash -f /etc/logstash/conf.d/indexer.conf

3、redis输入、grok过滤、ES输出

input{
redis {
host => ["192.168.137.11"]
port => 6379
db => 1
data_type => "list"
key => "apache"
timeout => 10
}
} filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
} output{
elasticsearch {
hosts => ["192.168.137.11:9200"]
index => "apache-accesslog-%{+YYYY.MM.dd}"
}
}

启动/opt/logstash/bin/logstash -f /etc/logstash/conf.d/indexer.conf

流程总结图:

ELKStack-使用消息队列扩展(十)的更多相关文章

  1. ELKStack之消息队列

    redis消息队列 安装redis yum -y install redis 修改配置文件 修改ip 后台运行 启动 systemctl start redis 查看 lsof -i:6379 连接 ...

  2. RabbitMQ消息队列(十)RPC应用2

    基于RabbitMQ RPC实现的主机异步管理 地址原文:http://blog.51cto.com/baiying/2065436,作者大大,我把原文贴出来了啊.不要告我 root@ansible: ...

  3. RabbitMQ消息队列(十二)-性能测试

    硬件配置 宿主机用的联想3850X6的服务器四颗E7-4850v3的处理器,DDR4内存,两块1.25TB的pcie固态.在宿主机上使用的事esxi5.5的虚拟化平台,在子系统中安装RabbitMQ和 ...

  4. RabbitMQ消息队列(十)-高可用集群部署实战

    前几章讲到RabbitMQ单主机模式的搭建和使用,我们在实际生产环境中出于对性能还有可用性的考虑会采用集群的模式来部署RabbitMQ. RabbitMQ集群基本概念 Rabbit模式大概分为以下三种 ...

  5. RabbitMQ消息队列(十四)-启用SSL安全通讯

    如果RabbitMQ服务在内网中,只有内网的应用连接,我们认为这些连接都是安全的,但是个别情况我们需要让RabbitMQ对外提供服务.这种情况有两种解决方案: 在RabbitMQ外层在封装一层应用,应 ...

  6. Asp.net 面向接口可扩展框架之消息队列组件

    消息队列对大多数人应该比较陌生.但是要提到MQ听说过的人会多很多.MQ就是英文单词"Message queue"的缩写,翻译成中文就是消息队列(我英语差,翻译错了请告知). PS: ...

  7. 编译PHP扩展amqp & php消息队列 rabbitmq

    首先介绍下AMQP: AMQP——高级消息队列协议,目前比较有名气的实现大概就是大名鼎鼎的RabbitMQ了. RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统.他遵循Mozilla ...

  8. Java并发编程原理与实战三十六:阻塞队列&消息队列

    一.阻塞队列 1.阻塞队列BlockingQueue ---->可以理解成生产者消费者的模式---->消费者要等待到生产者生产出来产品.---->而非阻塞队列ConcurrentLi ...

  9. RabbitMQ (十六) 消息队列的应用场景 (转)

    原贴 : http://blog.csdn.net/cws1214/article/details/52922267 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题 ...

随机推荐

  1. 配置eclipse J2EE环境

    早已习惯使用eclipse做Java相关的开发,因为之前安装的是RCP版本,今天发现对于J2EE的开发,在perference中居然没有Axis2的支持,需要添加J2EE的支持插件,特在此说明安装方式 ...

  2. ABAP关键字SUBMIT的简单例子和学习小记

    网上有关SUBMIT实现程序调用的例子稍显复杂,而相关的参考和解释则不是很完善.本文给出一个SUBMIT的小示例程序(代码见文末),实现了最简单的程序间调用及返回值,以及SAP官方文档中相关内容的翻译 ...

  3. 长按TextField或TextView显示中文的粘贴复制

    首先要确保手机当前系统为中文,只需要在 plist 文件中添加 Localized resources can be mixed = YES 就行了

  4. C#委托的介绍(delegate、Action、Func、predicate)

    委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. 1.委托的声明 (1). delegate delegate我们常用到的一种声明   Deleg ...

  5. 运维之网络安全抓包—— WireShark 和 tcpdump

    ------------------------------------------------本文章只解释抓包工具的捕获器和过滤器的说明,以及简单使用,应付日常而已----------------- ...

  6. k近邻算法(knn)的c语言实现

    最近在看knn算法,顺便敲敲代码. knn属于数据挖掘的分类算法.基本思想是在距离空间里,如果一个样本的最接近的k个邻居里,绝大多数属于某个类别,则该样本也属于这个类别.俗话叫,"随大流&q ...

  7. WPF 自定义搜索框

      控件中的搜索图标下载地址:http://www.easyicon.net/1183666-Search_icon.html 搜索框设计过程比较简单: 1.先定义一个Rectangle作为背景 2. ...

  8. 微软本月将推Win10 望打破Win8所带来差评影响

    系统妈 据香港“文汇报”7月15日报道,美国电脑巨擘微软13日宣布,新视窗系统10(Windows 10)将于7月29日推出.微软高层迈赫迪在网志表示,届时全球将有13个城市举办特别活动,表扬参与Wi ...

  9. C# 多线程之Task资料

    博客 Stephen Toub From MicroSoft Crop. Stephen Cleary Parallelism in .NET   文章 It's All About the Sync ...

  10. Word Search

    Given a 2D board and a word, find if the word exists in the grid. The word can be constructed from l ...