目录
输入和输出集成概述
Syslog 插件允许使用标准网络协议从各种来源收集 syslog 消息。此功能对于需要高效监控和记录系统的环境至关重要。
Graphite 插件允许用户通过 TCP 将 Telegraf 收集的指标发送到 Graphite。此集成允许使用 Graphite 的强大功能高效地存储和可视化时序数据。
集成详情
Syslog
Telegraf 的 Syslog 插件捕获通过各种协议(如 TCP、UDP 和 TLS)传输的 syslog 消息。它支持 RFC 5424(较新的 syslog 协议)和较旧的 RFC 3164(BSD syslog 协议)。此插件作为服务输入运行,有效地启动一个服务来侦听传入的 syslog 消息。与传统插件不同,服务输入可能无法使用标准间隔设置或 CLI 选项(如 `--once`)。它包括用于设置网络配置、套接字权限、消息处理和连接处理的选项。此外,与 Rsyslog 的集成允许转发日志消息,使其成为实时收集和中继系统日志的强大工具,从而无缝集成到监控和日志记录系统中。
Graphite
此插件通过原始 TCP 将指标写入 Graphite,从而将 Telegraf 收集的指标无缝集成到 Graphite 生态系统中。使用此插件,用户可以配置多个 TCP 端点以进行负载均衡,从而确保指标传输的高可用性和可靠性。使用前缀自定义指标命名以及利用各种模板选项的能力增强了数据在 Graphite 中表示方式的灵活性。此外,对 Graphite 标签的支持以及严格清理指标名称的选项允许进行强大的数据管理,满足用户的各种需求。此功能对于希望利用 Graphite 强大的指标存储和可视化功能,同时保持对数据表示的控制的组织至关重要。
配置
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 = "_"
Graphite
# Configuration for Graphite server to send metrics to
[[outputs.graphite]]
## TCP endpoint for your graphite instance.
## If multiple endpoints are configured, the output will be load balanced.
## Only one of the endpoints will be written to with each iteration.
servers = ["localhost:2003"]
## Local address to bind when connecting to the server
## If empty or not set, the local address is automatically chosen.
# local_address = ""
## Prefix metrics name
prefix = ""
## Graphite output template
## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
template = "host.tags.measurement.field"
## Strict sanitization regex
## This is the default sanitization regex that is used on data passed to the
## graphite serializer. Users can add additional characters here if required.
## Be aware that the characters, '/' '@' '*' are always replaced with '_',
## '..' is replaced with '.', and '\' is removed even if added to the
## following regex.
# graphite_strict_sanitize_regex = '[^a-zA-Z0-9-:._=\p{L}]'
## Enable Graphite tags support
# graphite_tag_support = false
## Applied sanitization mode when graphite tag support is enabled.
## * strict - uses the regex specified above
## * compatible - allows for greater number of characters
# graphite_tag_sanitize_mode = "strict"
## Character for separating metric name and field for Graphite tags
# graphite_separator = "."
## Graphite templates patterns
## 1. Template for cpu
## 2. Template for disk*
## 3. Default template
# templates = [
# "cpu tags.measurement.host.field",
# "disk* measurement.field",
# "host.measurement.tags.field"
#]
## timeout in seconds for the write connection to graphite
# timeout = "2s"
## 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
输入和输出集成示例
Syslog
-
集中日志管理:使用 Syslog 插件将来自多个服务器的日志消息聚合到中央日志记录系统中。此设置可以通过从不同来源收集 syslog 数据,帮助监控整体系统健康状况、有效排除问题并维护审计跟踪。
-
实时告警:将 Syslog 插件与告警工具集成,以便在检测到特定日志模式或错误时触发实时通知。例如,如果在日志中出现严重的系统错误,则可以向运维团队发送告警,从而最大限度地减少停机时间并执行主动维护。
-
安全监控:利用 Syslog 插件进行安全监控,方法是从防火墙、入侵检测系统和其他安全设备捕获日志。这种日志记录功能增强了安全可见性,并通过分析捕获的 syslog 数据,帮助调查潜在的恶意活动。
-
应用程序性能跟踪:利用 Syslog 插件通过从各种应用程序收集日志来监控应用程序性能。这种集成有助于分析应用程序的行为和性能趋势,从而帮助优化应用程序流程并确保更平稳的运行。
Graphite
-
动态指标可视化:Graphite 插件可用于将来自各种来源(例如应用程序性能数据或服务器健康指标)的实时指标馈送到 Graphite 中。这种动态集成允许团队创建交互式仪表板,可视化关键性能指标,跟踪随时间变化的趋势,并做出数据驱动的决策以增强系统性能。
-
负载均衡指标收集:通过在插件中配置多个 TCP 端点,组织可以为指标传输实施负载均衡。此用例确保指标交付既有弹性又高效,从而降低高流量期间数据丢失的风险,并保持信息到 Graphite 的可靠流动。
-
自定义指标标记:通过对 Graphite 标签的支持,用户可以利用 Graphite 插件来增强其指标的粒度。使用相关信息(例如应用程序环境或服务类型)标记指标允许进行更精细的查询和分析,使团队能够深入研究特定感兴趣的领域,以获得更好的运营洞察力。
-
增强的数据清理:利用插件的严格清理选项,用户可以确保其指标名称符合 Graphite 的要求。这种主动措施消除了指标名称中无效字符可能引起的问题,从而实现更清洁的数据管理和更准确的可视化。
反馈
感谢您成为我们社区的一份子!如果您有任何一般性反馈或在这些页面上发现了任何错误,我们欢迎并鼓励您提供意见。请在 InfluxDB 社区 Slack 中提交您的反馈。