最常用的两个输出插件:

  • 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
  • 编码类
    • codec:对输出数据进行codec,避免使用logstash的separate filter
  • 拥塞保护(仅用于data_type为list)
    • congestion_interval:每多长时间进行一次拥塞检查

      • 默认1s
      • 设为0,表示对每rpush一个,都进行检测
    • congestion_threshold:list中最多可以存在多少个item数据
      • 默认是0:表示禁用拥塞检测
      • 当list中的数据量达到congestion_threshold,会阻塞直到有其他消费者消费list中的数据
      • 作用:防止OOM
  • 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的行为,indexdeletecreateupdate
    • 默认为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的更多相关文章

  1. 第三章 logstash - 输入插件之tcp与redis

    常用的输入插件: tcp redis 一.tcp 1.用法 input { tcp { port => 4560 codec => json_lines mode => server ...

  2. Maven for Eclipse 第二章 ——安装 m2eclipse插件

    m2eclipse 是一个提供了 Maven 与 Eclipse 整合的插件.它的意图是桥接上 Maven 和 Eclipse 之间的缺口.通过 Maven 原型提供的简单直白的接口创建项目,它使 M ...

  3. ElasticSearch7.3学习(三十二)----logstash三大插件(input、filter、output)及其综合示例

    1. Logstash输入插件 1.1 input介绍 logstash支持很多数据源,比如说file,http,jdbc,s3等等 图片上面只是一少部分.详情见网址:https://www.elas ...

  4. Jenkins入门系列之——02第二章 Jenkins安装与配置

    2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...

  5. 《驾驭Core Data》 第二章 Core Data入门

    本文由海水的味道编译整理,请勿转载,请勿用于商业用途.    当前版本号:0.4.0 第二章 Core Data入门 本章将讲解Core Data框架中涉及的基本概念,以及一个简单的Core Data ...

  6. 第二章排错的工具:调试器Windbg(上)

    感谢博主 http://book.51cto.com/art/200711/59731.htm <Windows用户态程序高效排错>第二章主要介绍用户态调试相关的知识和工具.本文主要讲了排 ...

  7. CentOS 7.4 初次手记:第二章 CentOS安装步骤

    第二章 CentOS安装步骤... 18 第一节 下载... 18 第二节 分区参考... 18 第三节 安装... 19 I Step 1:引导... 19 II Step 2:配置... 20 I ...

  8. 《细说PHP》第四版 样章 第二章 PHP的应用与发展 1

    <细说PHP>第四版 样章 第二章 PHP的应用与发展 1 学习任何编程语言之前,先了解一下它的应用与发展是很有必要的.从Web开发的历史看来,PHP.Python和Ruby几乎是同时出现 ...

  9. 第三章·Logstash入门-部署与测试

    1.Logstash环境准备与安装 Logstash环境准备 关闭防火墙 #CentOS6 关闭防火墙 [root@elkstack01 ~]# /etc/init.d/iptables stop # ...

随机推荐

  1. springmvc中使用MockMvc测试controller

    示例代码 import com.alibaba.fastjson.JSONObject; import org.junit.Before; import org.junit.Test; import ...

  2. rabbitmq学习(三) —— 工作队列

    工作队列,又称任务队列,主要思想是避免立即执行资源密集型任务,并且必须等待完成.相反地,我们进行任务调度,我们将一个任务封装成一个消息,并将其发送到队列.工作进行在后台运行不断的从队列中取出任务然后执 ...

  3. 【HDU5909】Tree Cutting(FWT)

    [HDU5909]Tree Cutting(FWT) 题面 vjudge 题目大意: 给你一棵\(n\)个节点的树,每个节点都有一个小于\(m\)的权值 定义一棵子树的权值为所有节点的异或和,问权值为 ...

  4. pygame系列_小球完全弹性碰撞游戏_源码下载

    之前做了一个基于python的tkinter的小球完全碰撞游戏: python开发_tkinter_小球完全弹性碰撞游戏_源码下载 今天利用业余时间,写了一个功能要强大一些的小球完全碰撞游戏: 游戏名 ...

  5. 使用 IntraWeb (22) - 基本控件之 TIWCalendar

    TIWCalendar: 日历控件, 继承于 TIWCustomGrid, 所以它和 TIWGrid 共同属性特多. 它的 Cell 是 TIWCalendarCell 对象, 直接从 TIWGrid ...

  6. css卷叶效果

    <!DOCTYPE HTML><html lang="en-US"><head> <meta charset="UTF-8&qu ...

  7. MCU PWM DAC OP Voltage Output

  8. ARM JTAG 信号 RTCK 应该如何处理?

    用户在调试内嵌可综合内核的 CPU 如 ARM7TDMI-S 时,需要通过打开仿真器的自适应时钟功能. 此时,ARM仿真器根据 RTCK 时钟信号的频率,产生可用于 CPU 内核当前时钟主频的最快的 ...

  9. 根据twitter的snowflake算法生成唯一ID

    C#版本 /// <summary> /// 根据twitter的snowflake算法生成唯一ID /// snowflake算法 64 位 /// 0---0000000000 000 ...

  10. Hadoop: the definitive guide 第三版 拾遗 第四章

    第四章中提到了通过CompressionCodec对streams进行压缩和解压缩,并提供了示例程序: 输入:标准输入流 输出:压缩后的标准输出流 // cc StreamCompressor A p ...