HTTP 和 Graylog 集成

强大的性能和简单的集成,由 InfluxData 构建的开源数据连接器 Telegraf 提供支持。

info

这不是大规模实时查询的推荐配置。 为了查询和压缩优化、高速摄取和高可用性,您可能需要考虑 HTTP 和 InfluxDB 集成

50 亿 +

Telegraf 下载量

#1

时序数据库
来源:DB Engines

10 亿 +

InfluxDB 下载量

2,800+

贡献者

目录

强大的性能,无限的扩展能力

收集、组织和处理海量高速数据。 当您将任何数据视为时间序列数据时,它都更有价值。 InfluxDB 是排名第一的时序平台,旨在通过 Telegraf 进行扩展。

查看入门方法

输入和输出集成概述

HTTP 插件允许从指定的 HTTP 端点收集指标,处理各种数据格式和身份验证方法。

Graylog 插件允许您将 Telegraf 指标发送到 Graylog 服务器,利用 GELF 格式进行结构化日志记录。

集成详情

HTTP

HTTP 插件从一个或多个 HTTP(S) 端点收集指标,这些端点应具有以支持的输入数据格式之一格式化的指标。 它还支持来自 secret-stores 的密钥,用于各种身份验证选项,并包含全局支持的配置设置。

Graylog

Graylog 插件旨在用于使用 GELF(Graylog 扩展日志格式)格式将指标发送到 Graylog 实例。 GELF 有助于标准化日志记录数据,使系统更轻松地发送和分析日志。 该插件遵循 GELF 规范,该规范规定了有效负载中特定字段的要求。 值得注意的是,时间戳必须采用 UNIX 格式,如果存在,插件会将时间戳原样发送到 Graylog,而不会进行更改。 如果省略,它会自动生成时间戳。 此外,任何规范未明确定义的额外字段都将以_为前缀,这有助于保持数据井井有条并符合 GELF 的要求。 这种功能对于实时监控应用程序和基础设施的用户尤其有价值,因为它允许跨多个系统进行无缝集成并提高可见性。

配置

HTTP

[[inputs.http]]
  ## One or more URLs from which to read formatted metrics.
  urls = [
    "http://localhost/metrics",
    "http+unix:///run/user/420/podman/podman.sock:/d/v4.0.0/libpod/pods/json"
  ]

  ## HTTP method
  # method = "GET"

  ## Optional HTTP headers
  # headers = {"X-Special-Header" = "Special-Value"}

  ## HTTP entity-body to send with POST/PUT requests.
  # body = ""

  ## HTTP Content-Encoding for write request body, can be set to "gzip" to
  ## compress body or "identity" to apply no encoding.
  # content_encoding = "identity"

  ## Optional Bearer token settings to use for the API calls.
  ## Use either the token itself or the token file if you need a token.
  # token = "eyJhbGc...Qssw5c"
  # token_file = "/path/to/file"

  ## Optional HTTP Basic Auth Credentials
  # username = "username"
  # password = "pa$$word"

  ## OAuth2 Client Credentials. The options 'client_id', 'client_secret', and 'token_url' are required to use OAuth2.
  # client_id = "clientid"
  # client_secret = "secret"
  # token_url = "https://indentityprovider/oauth2/v1/token"
  # scopes = ["urn:opc:idm:__myscopes__"]

  ## HTTP Proxy support
  # use_system_proxy = false
  # http_proxy_url = ""

  ## Optional TLS Config
  ## Set to true/false to enforce TLS being enabled/disabled. If not set,
  ## enable TLS only if any of the other options are specified.
  # tls_enable =
  ## Trusted root certificates for server
  # tls_ca = "/path/to/cafile"
  ## Used for TLS client certificate authentication
  # tls_cert = "/path/to/certfile"
  ## Used for TLS client certificate authentication
  # tls_key = "/path/to/keyfile"
  ## Password for the key file if it is encrypted
  # tls_key_pwd = ""
  ## Send the specified TLS server name via SNI
  # tls_server_name = "kubernetes.example.com"
  ## Minimal TLS version to accept by the client
  # tls_min_version = "TLS12"
  ## List of ciphers to accept, by default all secure ciphers will be accepted
  ## See https://pkg.go.dev/crypto/tls#pkg-constants for supported values.
  ## Use "all", "secure" and "insecure" to add all support ciphers, secure
  ## suites or insecure suites respectively.
  # tls_cipher_suites = ["secure"]
  ## Renegotiation method, "never", "once" or "freely"
  # tls_renegotiation_method = "never"
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = false

  ## Optional Cookie authentication
  # cookie_auth_url = "https://localhost/authMe"
  # cookie_auth_method = "POST"
  # cookie_auth_username = "username"
  # cookie_auth_password = "pa$$word"
  # cookie_auth_headers = { Content-Type = "application/json", X-MY-HEADER = "hello" }
  # cookie_auth_body = '{"username": "user", "password": "pa$$word", "authenticate": "me"}'
  ## cookie_auth_renewal not set or set to "0" will auth once and never renew the cookie
  # cookie_auth_renewal = "5m"

  ## Amount of time allowed to complete the HTTP request
  # timeout = "5s"

  ## List of success status codes
  # success_status_codes = [200]

  ## Data format to consume.
  ## Each data format has its own unique set of configuration options, read
  ## more about them here:
  ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
  # data_format = "influx"

Graylog

[[outputs.graylog]]
  ## Endpoints for your graylog instances.
  servers = ["udp://127.0.0.1:12201"]

  ## Connection timeout.
  # timeout = "5s"

  ## The field to use as the GELF short_message, if unset the static string
  ## "telegraf" will be used.
  ##   example: short_message_field = "message"
  # short_message_field = ""

  ## According to GELF payload specification, additional fields names must be prefixed
  ## with an underscore. Previous versions did not prefix custom field 'name' with underscore.
  ## Set to true for backward compatibility.
  # name_field_no_prefix = false

  ## Connection retry options
  ## Attempt to connect to the endpoints if the initial connection fails.
  ## If 'false', Telegraf will give up after 3 connection attempt and will
  ## exit with an error. If set to 'true', the plugin will retry to connect
  ## to the unconnected endpoints infinitely.
  # connection_retry = false
  ## Time to wait between connection retry attempts.
  # connection_retry_wait_time = "15s"

  ## Optional TLS Config
  # tls_ca = "/etc/telegraf/ca.pem"
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = false

输入和输出集成示例

HTTP

  1. 从本地主机收集指标:该插件可以从 HTTP 端点(如 http://localhost/metrics)获取指标,从而实现轻松的本地监控。
  2. 使用 Unix 域套接字:您可以使用 http+unix 方案指定从 Unix 域套接字上的服务收集指标,例如 http+unix:///path/to/service.sock:/api/endpoint

Graylog

  1. 增强云应用程序的日志管理:使用 Graylog Telegraf 插件聚合来自跨多个服务器云部署应用程序的日志。 通过集成此插件,团队可以集中管理日志记录数据,从而更轻松地解决问题、监控应用程序性能并保持符合日志记录标准。

  2. 实时安全监控:利用 Graylog 插件收集安全相关的指标和日志并发送到 Graylog 服务器进行实时分析。 这使安全团队能够通过关联来自基础设施内各种来源的日志,快速识别异常、跟踪潜在漏洞并及时响应事件。

  3. 动态警报和通知系统:实施 Graylog 插件以增强基础设施中的警报机制。 通过将指标发送到 Graylog,团队可以根据日志模式或意外行为设置动态警报,从而实现主动监控和快速事件响应策略。

  4. 跨平台日志整合:使用 Graylog 插件促进跨平台日志整合,跨越本地、混合和云等不同环境。 通过以 GELF 格式标准化日志记录,组织可以确保一致的监控和故障排除实践,无论其服务托管在何处。

反馈

感谢您成为我们社区的一份子! 如果您有任何一般性反馈或在这些页面上发现了任何错误,我们欢迎并鼓励您提出意见。 请在 InfluxDB 社区 Slack 中提交您的反馈。

强大的性能,无限的扩展能力

收集、组织和处理海量高速数据。 当您将任何数据视为时间序列数据时,它都更有价值。 InfluxDB 是排名第一的时序平台,旨在通过 Telegraf 进行扩展。

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

HTTP 插件从一个或多个 HTTP(S) 端点收集指标。 它支持各种身份验证方法和数据格式的配置选项。

查看集成

Kafka 和 InfluxDB 集成

此插件从 Kafka 读取消息,并允许基于这些消息创建指标。 它支持各种配置,包括不同的 Kafka 设置和消息处理选项。

查看集成

Kinesis 和 InfluxDB 集成

Kinesis 插件允许从 AWS Kinesis 流中读取指标。 它支持多种输入数据格式,并提供带有 DynamoDB 的检查点功能,以实现可靠的消息处理。

查看集成