目录
输入和输出集成概述
Syslog 插件可以使用标准网络协议从各种来源收集 syslog 消息。 此功能对于需要有效监控和记录系统的环境至关重要。
OpenTSDB 插件促进了 Telegraf 与 OpenTSDB 的集成,允许用户无缝地将时序指标推送到 OpenTSDB 后端。
集成详情
Syslog
Telegraf 的 Syslog 插件捕获通过各种协议(如 TCP、UDP 和 TLS)传输的 syslog 消息。 它同时支持 RFC 5424(较新的 syslog 协议)和较旧的 RFC 3164(BSD syslog 协议)。 此插件作为服务输入运行,有效地启动一个服务来侦听传入的 syslog 消息。 与传统插件不同,服务输入可能无法与标准间隔设置或 CLI 选项(如 `--once`)一起使用。 它包括用于设置网络配置、套接字权限、消息处理和连接处理的选项。 此外,与 Rsyslog 的集成允许转发日志消息,使其成为实时收集和中继系统日志的强大工具,从而无缝集成到监控和日志记录系统中。
OpenTSDB
OpenTSDB 插件旨在通过 telnet 或 HTTP 模式将指标发送到 OpenTSDB 实例。 随着 OpenTSDB 2.0 的推出,推荐的指标发送方法是通过 HTTP API,它允许通过配置 ‘http_batch_size’ 来批量处理指标。 该插件支持多个配置选项,包括指标前缀、服务器主机和端口规范、用于反向代理的 URI 路径自定义以及用于诊断与 OpenTSDB 通信问题的调试选项。 此插件在生成时序数据并且需要将其有效地存储在可扩展的时序数据库(如 OpenTSDB)中的场景中特别有用,使其适用于广泛的监控和分析应用程序。
配置
Syslog
[[inputs.syslog]]
## Protocol, address and port to host the syslog receiver.
## If no host is specified, then localhost is used.
## If no port is specified, 6514 is used (RFC5425#section-4.1).
## ex: server = "tcp://localhost:6514"
## server = "udp://:6514"
## server = "unix:///var/run/telegraf-syslog.sock"
## When using tcp, consider using 'tcp4' or 'tcp6' to force the usage of IPv4
## or IPV6 respectively. There are cases, where when not specified, a system
## may force an IPv4 mapped IPv6 address.
server = "tcp://127.0.0.1:6514"
## Permission for unix sockets (only available on unix sockets)
## This setting may not be respected by some platforms. To safely restrict
## permissions it is recommended to place the socket into a previously
## created directory with the desired permissions.
## ex: socket_mode = "777"
# socket_mode = ""
## Maximum number of concurrent connections (only available on stream sockets like TCP)
## Zero means unlimited.
# max_connections = 0
## Read timeout (only available on stream sockets like TCP)
## Zero means unlimited.
# read_timeout = "0s"
## Optional TLS configuration (only available on stream sockets like TCP)
# tls_cert = "/etc/telegraf/cert.pem"
# tls_key = "/etc/telegraf/key.pem"
## Enables client authentication if set.
# tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"]
## Maximum socket buffer size (in bytes when no unit specified)
## For stream sockets, once the buffer fills up, the sender will start
## backing up. For datagram sockets, once the buffer fills up, metrics will
## start dropping. Defaults to the OS default.
# read_buffer_size = "64KiB"
## Period between keep alive probes (only applies to TCP sockets)
## Zero disables keep alive probes. Defaults to the OS configuration.
# keep_alive_period = "5m"
## Content encoding for message payloads
## Can be set to "gzip" for compressed payloads or "identity" for no encoding.
# content_encoding = "identity"
## Maximum size of decoded packet (in bytes when no unit specified)
# max_decompression_size = "500MB"
## Framing technique used for messages transport
## Available settings are:
## octet-counting -- see RFC5425#section-4.3.1 and RFC6587#section-3.4.1
## non-transparent -- see RFC6587#section-3.4.2
# framing = "octet-counting"
## The trailer to be expected in case of non-transparent framing (default = "LF").
## Must be one of "LF", or "NUL".
# trailer = "LF"
## Whether to parse in best effort mode or not (default = false).
## By default best effort parsing is off.
# best_effort = false
## The RFC standard to use for message parsing
## By default RFC5424 is used. RFC3164 only supports UDP transport (no streaming support)
## Must be one of "RFC5424", or "RFC3164".
# syslog_standard = "RFC5424"
## Character to prepend to SD-PARAMs (default = "_").
## A syslog message can contain multiple parameters and multiple identifiers within structured data section.
## Eg., [id1 name1="val1" name2="val2"][id2 name1="val1" nameA="valA"]
## For each combination a field is created.
## Its name is created concatenating identifier, sdparam_separator, and parameter name.
# sdparam_separator = "_"
OpenTSDB
[[outputs.opentsdb]]
## prefix for metrics keys
prefix = "my.specific.prefix."
## DNS name of the OpenTSDB server
## Using "opentsdb.example.com" or "tcp://opentsdb.example.com" will use the
## telnet API. "http://opentsdb.example.com" will use the Http API.
host = "opentsdb.example.com"
## Port of the OpenTSDB server
port = 4242
## Number of data points to send to OpenTSDB in Http requests.
## Not used with telnet API.
http_batch_size = 50
## URI Path for Http requests to OpenTSDB.
## Used in cases where OpenTSDB is located behind a reverse proxy.
http_path = "/api/put"
## Debug true - Prints OpenTSDB communication
debug = false
## Separator separates measurement name from field
separator = "_"
输入和输出集成示例
Syslog
-
集中式日志管理:使用 Syslog 插件将来自多台服务器的日志消息聚合到中央日志记录系统中。 此设置可以通过收集来自不同来源的 syslog 数据,帮助监控整体系统运行状况、有效排除故障并维护审计跟踪。
-
实时警报:将 Syslog 插件与警报工具集成,以便在检测到特定日志模式或错误时触发实时通知。 例如,如果日志中出现严重系统错误,则可以向运维团队发送警报,从而最大限度地减少停机时间并执行主动维护。
-
安全监控:利用 Syslog 插件进行安全监控,方法是从防火墙、入侵检测系统和其他安全设备捕获日志。 这种日志记录功能增强了安全可见性,并通过分析捕获的 syslog 数据,有助于调查潜在的恶意活动。
-
应用程序性能跟踪:利用 Syslog 插件通过收集来自各种应用程序的日志来监控应用程序性能。 这种集成有助于分析应用程序的行为和性能趋势,从而有助于优化应用程序流程并确保更顺畅的运行。
OpenTSDB
-
实时基础设施监控:利用 OpenTSDB 插件收集和存储来自各种基础设施组件的指标。 通过配置插件以将指标推送到 OpenTSDB,组织可以集中查看其基础设施的运行状况和长期性能。
-
自定义应用程序指标跟踪:将 OpenTSDB 插件集成到自定义应用程序中,以跟踪关键绩效指标 (KPI),例如响应时间、错误率和用户交互。 这种设置允许开发人员和产品团队可视化应用程序性能趋势并做出数据驱动的决策。
-
自动异常检测:将该插件与机器学习算法结合使用,以自动检测发送到 OpenTSDB 的时序数据中的异常。 通过持续监控传入的指标,系统可以训练模型,以便在潜在问题影响应用程序性能之前向用户发出警报。
-
历史数据分析:使用 OpenTSDB 插件存储和分析历史性能数据,以进行容量规划和趋势分析。 这提供了对系统长期行为的宝贵见解,帮助团队了解使用模式并为未来增长做好准备。
反馈
感谢您成为我们社区的一份子! 如果您有任何一般性反馈或在这些页面上发现了任何错误,我们欢迎并鼓励您提出意见。 请在 InfluxDB 社区 Slack 中提交您的反馈。