Twitter 输入插件编辑

  • 插件版本:v4.1.1
  • 发布日期:2023-11-16
  • 变更日志

有关其他版本,请参阅 版本化插件文档

获取帮助编辑

如果您对插件有任何疑问,请在 Discuss 论坛中发布主题。对于错误或功能请求,请在 Github 中创建问题。有关 Elastic 支持的插件列表,请参阅 Elastic 支持矩阵

描述编辑

从 Twitter 流式 API 中提取事件。

示例

    input {
      twitter {
        consumer_key => '...'
        consumer_secret => '...'
        oauth_token => '...'
        oauth_token_secret => '...'
        keywords => [ 'logstash' ]
      }
    }

生成的示例事件字段

    {
        "@timestamp" => 2019-09-23T16:41:53.000Z,
        "message" => "I forgot how fun it is to write @logstash configs !!! Thank you @jordansissel and @elastic !!!"
        "user" => "missnebun",
        "in-reply-to" => nil,
        "retweeted" => false,
        "source" => "http://twitter.com/missnebun/status/1176174859833004037",
        "user_mentions" => [
            { "screen_name"=>"logstash", "name"=>"logstash", "id"=>217155915 },
            { "screen_name"=>"jordansissel", "name"=>"@jordansissel", "id"=>15782607 },
            { "screen_name"=>"elastic", "name"=>"Elastic", "id"=>84512601 }],
        "symbols" => [],
        "hashtags" => [],
        "client" => "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>"
    }

与 Elastic Common Schema (ECS) 的兼容性编辑

Twitter 流非常特定,不容易映射到 Elastic Common Schema (ECS)。我们建议在启用 ECS 兼容模式 时设置 target。当未设置 target 时,插件会在日志中发出警告。

Twitter 输入配置选项编辑

此插件支持以下配置选项,以及后面描述的 通用选项

另请参阅 通用选项,了解所有输入插件支持的选项列表。

 

consumer_key编辑

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

您的 Twitter 应用程序的消费者密钥

不知道这是什么?您需要在 Twitter 上创建一个“应用程序”,请参阅此 URL:https://dev.twitter.com/apps/new

consumer_secret编辑

  • 这是一个必需的设置。
  • 值类型为 密码
  • 此设置没有默认值。

您的 Twitter 应用程序的消费者密钥

如果您没有这些,可以通过向 Twitter 注册新应用程序来创建一个:https://dev.twitter.com/apps/new

ecs_compatibility编辑

  • 值类型为 字符串
  • 支持的值为

    • disabled:不使用与 ECS 兼容的字段名称(字段可能在事件的根目录中设置)
    • v1v8:避免可能与 Elastic Common Schema 冲突的字段名称(例如,Twitter 特定属性)
  • 默认值取决于运行 Logstash 的版本

    • 当 Logstash 提供 pipeline.ecs_compatibility 设置时,其值将用作默认值
    • 否则,默认值为 disabled

控制此插件与 Elastic Common Schema (ECS) 的兼容性。

follows编辑

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

以逗号分隔的用户 ID 列表,指示要返回 Twitter 流中状态的用户。有关更多详细信息,请参阅 https://developer.twitter.com/en/docs/tweets/filter-realtime/guides/basic-stream-parameters

full_tweet编辑

记录 Twitter 流式 API 提供给我们的完整推文对象。

ignore_retweets编辑

允许您忽略来自 Twitter API 的转发。默认 ⇒ false

keywords编辑

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

在 Twitter 流中跟踪的任何关键字。对于多个关键字,请使用语法 ["foo", "bar"]。每个关键字字符串之间存在逻辑 OR,每个关键字字符串中由空格分隔的单词之间存在逻辑 AND。有关更多详细信息,请参阅 https://dev.twitter.com/streaming/overview/request-parameters#track

不支持通配符 "*" 选项。要提取所有推文的样本流,建议使用 use_samples 选项。

languages编辑

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

BCP 47 语言标识符列表,对应于 Twitter 高级搜索页面上列出的任何语言,只会返回检测到用指定语言编写的推文。

locations编辑

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

以逗号分隔的经度、纬度对列表,指定一组用于按推文过滤的边界框。有关更多详细信息,请参阅 https://dev.twitter.com/streaming/overview/request-parameters#locations

oauth_token编辑

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

您的 oauth 令牌。

要获取此令牌,请使用您想要的任何帐户登录 Twitter,然后访问 https://dev.twitter.com/apps

单击您的应用程序(与 consumer_key 和 consumer_secret 设置一起使用)。然后在页面底部,单击创建我的访问令牌,这将创建一个与您的帐户和该应用程序绑定的 oauth 令牌和密钥。

oauth_token_secret编辑

  • 这是一个必需的设置。
  • 值类型为 密码
  • 此设置没有默认值。

您的 oauth 令牌密钥。

要获取此令牌,请使用您想要的任何帐户登录 Twitter,然后访问 https://dev.twitter.com/apps

单击您的应用程序(与 consumer_key 和 consumer_secret 设置一起使用)。然后在页面底部,单击创建我的访问令牌,这将创建一个与您的帐户和该应用程序绑定的 oauth 令牌和密钥。

proxy_address编辑

  • 值类型为 字符串
  • 默认值为 "127.0.0.1"

代理的位置,默认情况下与运行此 LS 实例的机器相同

proxy_port编辑

  • 值类型为 数字
  • 默认值为 3128

代理监听的端口,默认情况下为 3128(squid)

rate_limit_reset_in编辑

  • 值类型为 数字
  • 默认值为 300

当 Twitter 返回 429 TooManyRequests 时,在重试连接之前等待的持续时间(以秒为单位)。在某些情况下,x-rate-limit-reset 标头未在响应中设置,<error>.rate_limit.reset_in 为 nil。如果发生这种情况,我们将使用此处指定的整数。默认值为 5 分钟。

use_proxy编辑

何时使用代理来处理连接

use_samples编辑

返回所有公共状态的小型随机样本。默认访问级别返回的推文相同,因此如果两个不同的客户端连接到此端点,它们将看到相同的推文。如果设置为 true,则 keywords、follows、locations 和 languages 选项将被忽略。默认 ⇒ false

target编辑

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

没有 target,事件将从推文的根级别创建。当 target 设置为字段引用时,推文数据将放置在目标字段中。

此选项在强制执行下游模式(例如 ECS)时,可以用于避免填充未知字段。

通用选项编辑

所有输入插件都支持以下配置选项

设置 输入类型 必需

add_field

hash

codec

codec

enable_metric

布尔值

id

字符串

tags

数组

type

字符串

详细信息编辑

 

add_field编辑

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

向事件添加字段

codec编辑

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

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

enable_metric编辑

  • 值类型为 boolean
  • 默认值为 true

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

id编辑

  • 值类型为 string
  • 此设置没有默认值。

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

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

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

tags编辑

  • 值类型为 array
  • 此设置没有默认值。

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

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

type编辑

  • 值类型为 string
  • 此设置没有默认值。

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

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

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

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