第二章 logstash - 输出插件之redis与es
最常用的两个输出插件:
- redis
- es
一、redis
1、用法
output {
redis{
batch => false
batch_events => 50
batch_timeout => 5
codec => plain
congestion_interval => 1
congestion_threshold => 0
data_type => list
db => 0
host => ["127.0.0.1:6379"]
key => xxx
password => xxx
port => 6379
reconnect_interval => 1
shuffle_hosts => true
timeout => 5
workers => 1
}
}
2、配置项
以上所有配置项都是可选的,没有必须的。(以下4个红色配置是最重要的4个配置)
- 批处理类(仅用于data_type为list)
- batch:设为true,通过发送一条rpush命令,存储一批的数据
- 默认为false:1条rpush命令,存储1条数据
- 设为true之后,1条rpush会发送batch_events条数据或发送batch_timeout秒(取决于哪一个先到达)
- batch_events:一次rpush多少条
- 默认50条
- batch_timeout:一次rpush最多消耗多少s
- 默认5s
- batch:设为true,通过发送一条rpush命令,存储一批的数据
- 编码类
- codec:对输出数据进行codec,避免使用logstash的separate filter
- 拥塞保护(仅用于data_type为list)
- congestion_interval:每多长时间进行一次拥塞检查
- 默认1s
- 设为0,表示对每rpush一个,都进行检测
- congestion_threshold:list中最多可以存在多少个item数据
- 默认是0:表示禁用拥塞检测
- 当list中的数据量达到congestion_threshold,会阻塞直到有其他消费者消费list中的数据
- 作用:防止OOM
- congestion_interval:每多长时间进行一次拥塞检查
- data_type
- list:使用rpush
- channel:使用publish
- db:使用redis的数据库,默认使用0号
- host:数组
- eg.["127.0.0.1:6380", "127.0.0.1"]
- 可以指定port,会覆盖全局port
- port:全局port,默认6379
- key:list或channel的名字
- 支持动态key,例如:logstash-%{type}
- password:redis密码,默认不使用密码
- reconnect_interval:失败重连的间隔,默认为1s
- timeout:连接超时,默认5s
二、es
1、使用方式
output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
action => index
cacert => /xxx
codec => plain
doc_as_upsert => false
document_id => 1
document_type => xxx
flush_size => 500
idle_flush_time => 1
index => logstash-%{+YYYY.MM.dd}
keystore => /xxx
keystore_password => xxx
manage_template => true
max_retries => 3
parent => nil
password => xxx
path => /
proxy => xxx
retry_max_interval => 2
routing => xxx
script => xxx
script_lang => xxx
script_type => inline
script_var_name => event
scripted_upsert => false
sniffing => false
sniffing_delay => 5
ssl => false
ssl_certificate_verification => true
template => /xxx
template_name => logstash
template_overwrite => false
timeout => 5
truststore => /xxx
truststore_password => xxx
upsert => xxx
user => xxx
workers => 1
}
}
2、基本配置
以上配置全部都是可选的,没有必须的。以下列出最重要的几个。
- hosts:["127.0.0.1:9200","127.0.0.2:9200"]
- action:指定es的行为,
index,delete,create,update- 默认为index:index a document(该document就是一个来自于logstash的event)
- delete:通过id删除一个document(需要指定document_id)
- create:index a document(如果该document已经在index中存在,则失败)
- update:通过id更新一个document
- cacert:验证server合法性的.cer或.pem文件路径
- codec:
- document_id
- document_type
- index:默认值:logstash-%{+YYYY.MM.dd}
- 便于删除老数据
- 在语法解析的时候,看到+号开头的,会自动认为后面是时间格式,尝试用时间格式来解析后续字符串。所以,之前处理过程中不要给自定义的字段起一个+号开头的名字
- 索引名中不能有大写字母
- 有时也会自定义为:logstash-%{servicename}-%{+YYYY.MM.dd}
- user:进入es cluster的用户
- password:进入es cluster的密码
- timeout:Set the timeout for network operations and requests sent Elasticsearch. If a timeout occurs, the request will be retried.
- flush_size:默认500,logstash攒够500条数据再一次性向es发送
- idle_flush_time:默认1s,如果1s内没攒够500条还是会一次性将攒的数据发出去给es
第二章 logstash - 输出插件之redis与es的更多相关文章
- 第三章 logstash - 输入插件之tcp与redis
常用的输入插件: tcp redis 一.tcp 1.用法 input { tcp { port => 4560 codec => json_lines mode => server ...
- Maven for Eclipse 第二章 ——安装 m2eclipse插件
m2eclipse 是一个提供了 Maven 与 Eclipse 整合的插件.它的意图是桥接上 Maven 和 Eclipse 之间的缺口.通过 Maven 原型提供的简单直白的接口创建项目,它使 M ...
- ElasticSearch7.3学习(三十二)----logstash三大插件(input、filter、output)及其综合示例
1. Logstash输入插件 1.1 input介绍 logstash支持很多数据源,比如说file,http,jdbc,s3等等 图片上面只是一少部分.详情见网址:https://www.elas ...
- Jenkins入门系列之——02第二章 Jenkins安装与配置
2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...
- 《驾驭Core Data》 第二章 Core Data入门
本文由海水的味道编译整理,请勿转载,请勿用于商业用途. 当前版本号:0.4.0 第二章 Core Data入门 本章将讲解Core Data框架中涉及的基本概念,以及一个简单的Core Data ...
- 第二章排错的工具:调试器Windbg(上)
感谢博主 http://book.51cto.com/art/200711/59731.htm <Windows用户态程序高效排错>第二章主要介绍用户态调试相关的知识和工具.本文主要讲了排 ...
- CentOS 7.4 初次手记:第二章 CentOS安装步骤
第二章 CentOS安装步骤... 18 第一节 下载... 18 第二节 分区参考... 18 第三节 安装... 19 I Step 1:引导... 19 II Step 2:配置... 20 I ...
- 《细说PHP》第四版 样章 第二章 PHP的应用与发展 1
<细说PHP>第四版 样章 第二章 PHP的应用与发展 1 学习任何编程语言之前,先了解一下它的应用与发展是很有必要的.从Web开发的历史看来,PHP.Python和Ruby几乎是同时出现 ...
- 第三章·Logstash入门-部署与测试
1.Logstash环境准备与安装 Logstash环境准备 关闭防火墙 #CentOS6 关闭防火墙 [root@elkstack01 ~]# /etc/init.d/iptables stop # ...
随机推荐
- Django Model._meta API
Model._meta API是Django ORM的核心,它使得lookups.queries.forms.admin这些模块通过每个model类的_meta的属性可以了解每个model的情况. 1 ...
- ios网络编程(入门级别)-- 基础知识
在学习ios的过程中,停留在UI控件很长时间,现在正在逐步的接触当中!!!!!!在这个过程中,小编学到了一些关于网络编程知识,并且有感而发,在此分享一下: 关于网络请求的重要性我想不用多说了吧!!!对 ...
- BZOJ.4946.[NOI2017]蔬菜(贪心 离线)
题目链接 因为有删除,考虑倒序处理某个p的询问. 那么每天删除xi的蔬菜就变成了每天运来xi的蔬菜.那么我们取当前最优的即可,早取晚取都一样,不需要留给后面取,还能给后面更优的留出空间. 这样就只需考 ...
- Codeforces Round #292 (Div. 1)A. Drazil and Factorial 构造
A. Drazil and Factorial 题目连接: http://codeforces.com/contest/516/problem/A Description Drazil is play ...
- Linux __attribute__(("hidden"))、default
记录下: Linux下导出so库接口时在下面情况下无法导出(编译时增加了__attribute__(("hidden"))属性). void * __attribute__((&q ...
- 新浪微博基于MySQL的分布式数据库实践
提起微博,相信大家都是很了解的.但是有谁知道微博的数据库架构是怎样的呢?在今天举行的2011数据库技术大会上,新浪首席DBA杨海潮为我们详细解读了新浪微博的数据库架构——基于MySQL的分布式数据库实 ...
- 在ASP.NET MVC4中使用Quartz.NET执行定时任务
本篇在ASP.NET MVC下实践使用Quartz.NET执行定时任务. 首先通过NuGet安装Quartz.NET. 使用Quartz.NET的大致思路是:1.实现IJob接口,定义具体要做的事情2 ...
- 写一个限制上传文件大小和格式的jQuery插件
在客户端上传文件,通常需要限制文件的尺寸和格式,最常用的做法是使用某款插件,一些成熟的插件的确界面好看,且功能强大,但美中不足的是:有时候会碰到浏览器兼容问题.本篇就来写一个"原生态&quo ...
- 使用 MVVMLight 命令绑定(转)
继上一篇文章的项目,我们实现了数据绑定到界面中.这篇文章我们将实现把命令绑定到按钮上,在XAML中的Button之类的都会有个Command属性可以让我们来绑定命令使用. 首先我们要实现的目标是,在界 ...
- DELPHI新的变量的声明方法
DELPHI新的变量的声明方法 从DELPHI 10.3.1开始支持新的变量声明方法: procedure TForm1.查询1Click(Sender: TObject); begin var ur ...