Sqlite 输入插件

编辑
  • 插件版本:v3.0.4
  • 发布日期:2018-04-06
  • 更改日志

对于其他版本,请参阅 版本化插件文档

安装

编辑

对于默认情况下未捆绑的插件,可以通过运行 bin/logstash-plugin install logstash-input-sqlite 轻松安装。有关更多详细信息,请参阅 使用插件

获取帮助

编辑

如有关于插件的问题,请在 Discuss 论坛中发起主题。对于错误或功能请求,请在 Github 中提交问题。有关 Elastic 支持的插件列表,请参阅 Elastic 支持矩阵

描述

编辑

从 sqlite 数据库读取行。

这在您直接将日志记录到表的情况下最为有用。任何被监视的表都必须具有一个 id 列,该列是单调递增的。

默认情况下读取所有表,除了

  • sqlite_% 匹配的表 - 这些是 sqlite 的内部/管理表
  • since_table - 此插件用于跟踪状态。

示例

    % sqlite /tmp/example.db
    sqlite> CREATE TABLE weblogs (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        ip STRING,
        request STRING,
        response INTEGER);
    sqlite> INSERT INTO weblogs (ip, request, response)
        VALUES ("1.2.3.4", "/index.html", 200);

然后使用此 logstash 配置

    input {
      sqlite {
        path => "/tmp/example.db"
        type => weblogs
      }
    }
    output {
      stdout {
        debug => true
      }
    }

示例输出

    {
      "@source"      => "sqlite://sadness/tmp/x.db",
      "@tags"        => [],
      "@fields"      => {
        "ip"       => "1.2.3.4",
        "request"  => "/index.html",
        "response" => 200
      },
      "@timestamp"   => "2013-05-29T06:16:30.850Z",
      "@source_host" => "sadness",
      "@source_path" => "/tmp/x.db",
      "@message"     => "",
      "@type"        => "foo"
    }

Sqlite 输入配置选项

编辑

此插件支持以下配置选项以及稍后描述的 常见选项

设置 输入类型 必填

batch

数字

exclude_tables

数组

path

字符串

另请参阅 常见选项,以获取所有输入插件支持的选项列表。

 

batch

编辑
  • 值类型为 数字
  • 默认值为 5

每次从每个 SELECT 调用中获取多少行。

exclude_tables

编辑
  • 值类型为 数组
  • 默认值为 []

要按名称排除的任何表。默认情况下,所有表都会被跟踪。

path

编辑
  • 这是一个必填设置。
  • 值类型为 字符串
  • 此设置没有默认值。

sqlite 数据库文件的路径。

常见选项

编辑

所有输入插件都支持这些配置选项

设置 输入类型 必填

add_field

哈希

codec

codec

enable_metric

布尔值

id

字符串

tags

数组

type

字符串

add_field

编辑
  • 值类型为 哈希
  • 默认值为 {}

向事件添加字段

codec

编辑
  • 值类型为 codec
  • 默认值为 "plain"

用于输入数据的编解码器。输入编解码器是在输入数据进入输入之前对其进行解码的便捷方法,无需在 Logstash 管道中使用单独的过滤器。

enable_metric

编辑

禁用或启用此特定插件实例的指标日志记录,默认情况下,我们记录所有可能的指标,但您可以为特定插件禁用指标收集。

  • 值类型为 字符串
  • 此设置没有默认值。

向插件配置添加唯一的 ID。如果未指定 ID,Logstash 将生成一个。强烈建议在您的配置中设置此 ID。当您有两个或多个相同类型的插件时,这尤其有用,例如,如果您有 2 个 sqlite 输入。在这种情况下,添加一个命名 ID 将有助于在使用监控 API 时监控 Logstash。

input {
  sqlite {
    id => "my_plugin_id"
  }
}

id 字段中的变量替换仅支持环境变量,不支持使用密钥存储中的值。

tags

编辑
  • 值类型为 数组
  • 此设置没有默认值。

向您的事件添加任意数量的标签。

这可以帮助以后进行处理。

type

编辑
  • 值类型为 字符串
  • 此设置没有默认值。

向此输入处理的所有事件添加 type 字段。

类型主要用于过滤器激活。

类型存储为事件本身的一部分,因此您也可以使用类型在 Kibana 中搜索它。

如果您尝试在已经具有类型的事件上设置类型(例如,当您从发货器发送事件到索引器时),那么新的输入将不会覆盖现有类型。即使发送到另一个 Logstash 服务器,在发货器处设置的类型也会一直保留在该事件中。