目录
输入和输出集成概述
SNMP Trap Telegraf 插件能够接收 SNMP 通知,通过捕获来自网络设备的重要事件,促进全面的网络监控。
Telegraf 的 SQL 输出插件通过为每种指标类型动态创建表,将指标存储在 SQL 数据库中。当配置为 SQLite 时,它使用基于文件的 DSN 和为轻量级嵌入式数据库使用量身定制的最小 SQL 模式。
集成详情
SNMP Trap
SNMP Trap 插件充当 SNMP 通知(称为陷阱和信息请求)的接收端点。它通过 UDP 运行,监听传入的通知,这些通知可以配置为在特定端口上到达。此插件是网络监控和管理不可或缺的一部分,允许系统收集和响应从网络中各种设备(包括路由器、交换机和服务器)发送的 SNMP 陷阱。该插件通过 SNMPv3 支持安全传输选项,从而可以启用身份验证和加密参数来保护敏感数据。此外,它还使用户可以灵活地配置 SNMP 的多个方面,例如 MIB 文件位置,使其适用于各种环境和用例。建议从已弃用的 netsnmp 后端过渡到更新的 gosmi 后端,以利用其增强的功能和支持。实施此插件的用户可以有效地监控网络事件、自动化对陷阱的响应,并维护强大的网络监控基础设施。
SQLite
SQL 输出插件使用动态模式将 Telegraf 指标写入 SQL 数据库,其中每种指标类型对应一个表。对于 SQLite,该插件使用 modernc.org/sqlite 驱动程序,并且需要文件 URI 格式的 DSN(例如,‘file:/path/to/telegraf.db?cache=shared’)。此配置利用标准 ANSI SQL 进行表创建和数据插入,确保与 SQLite 的功能兼容。
配置
SNMP Trap
[[inputs.snmp_trap]]
## Transport, local address, and port to listen on. Transport must
## be "udp://". Omit local address to listen on all interfaces.
## example: "udp://127.0.0.1:1234"
##
## Special permissions may be required to listen on a port less than
## 1024. See README.md for details
##
# service_address = "udp://:162"
##
## Path to mib files
## Used by the gosmi translator.
## To add paths when translating with netsnmp, use the MIBDIRS environment variable
# path = ["/usr/share/snmp/mibs"]
##
## Deprecated in 1.20.0; no longer running snmptranslate
## Timeout running snmptranslate command
# timeout = "5s"
## Snmp version; one of "1", "2c" or "3".
# version = "2c"
## SNMPv3 authentication and encryption options.
##
## Security Name.
# sec_name = "myuser"
## Authentication protocol; one of "MD5", "SHA", "SHA224", "SHA256", "SHA384", "SHA512" or "".
# auth_protocol = "MD5"
## Authentication password.
# auth_password = "pass"
## Security Level; one of "noAuthNoPriv", "authNoPriv", or "authPriv".
# sec_level = "authNoPriv"
## Privacy protocol used for encrypted messages; one of "DES", "AES", "AES192", "AES192C", "AES256", "AES256C" or "".
# priv_protocol = ""
## Privacy password used for encrypted messages.
# priv_password = ""
SQLite
[[outputs.sql]]
## Database driver
## Valid options: mssql (Microsoft SQL Server), mysql (MySQL), pgx (Postgres),
## sqlite (SQLite3), snowflake (snowflake.com), clickhouse (ClickHouse)
driver = "sqlite"
## Data source name
## For SQLite, the DSN is a filename or URL with the scheme "file:".
## Example: "file:/path/to/telegraf.db?cache=shared"
data_source_name = "file:/path/to/telegraf.db?cache=shared"
## Timestamp column name
timestamp_column = "timestamp"
## Table creation template
## Available template variables:
## {TABLE} - table name as a quoted identifier
## {TABLELITERAL} - table name as a quoted string literal
## {COLUMNS} - column definitions (list of quoted identifiers and types)
table_template = "CREATE TABLE {TABLE} ({COLUMNS})"
## Table existence check template
## Available template variables:
## {TABLE} - table name as a quoted identifier
table_exists_template = "SELECT 1 FROM {TABLE} LIMIT 1"
## Initialization SQL (optional)
init_sql = ""
## Maximum amount of time a connection may be idle. "0s" means connections are never closed due to idle time.
connection_max_idle_time = "0s"
## Maximum amount of time a connection may be reused. "0s" means connections are never closed due to age.
connection_max_lifetime = "0s"
## Maximum number of connections in the idle connection pool. 0 means unlimited.
connection_max_idle = 2
## Maximum number of open connections to the database. 0 means unlimited.
connection_max_open = 0
## Metric type to SQL type conversion
## The values on the left are the data types Telegraf has and the values on the right are the SQL types used when writing to SQLite.
#[outputs.sql.convert]
# integer = "INT"
# real = "DOUBLE"
# text = "TEXT"
# timestamp = "TIMESTAMP"
# defaultvalue = "TEXT"
# unsigned = "UNSIGNED"
# bool = "BOOL"
输入和输出集成示例
SNMP Trap
-
集中式网络监控:将 SNMP Trap 插件集成到集中式监控解决方案中,以实时接收有关网络设备的警报。通过配置插件以侦听来自各种路由器和交换机的陷阱,网络管理员可以快速响应问题,例如设备中断或超出关键阈值。此设置可实现主动管理和快速解决网络问题,从而最大程度地减少停机时间。
-
自动化事件响应:每当收到特定陷阱时,使用 SNMP Trap 插件触发自动化事件响应工作流程。例如,如果检测到指示硬件故障的陷阱,则可以启动自动化脚本来收集诊断信息、通知支持人员,甚至尝试修复操作。这种方法通过减少人工干预并加快响应时间来提高 IT 运营的效率。
-
网络性能分析:部署 SNMP Trap 插件以收集性能指标以及陷阱,以全面了解网络健康状况。通过将这些数据聚合到分析平台中,网络团队可以分析趋势、识别瓶颈并根据历史数据优化性能。这有助于围绕网络升级或更改做出明智的决策和战略规划。
-
与警报系统集成:将 SNMP Trap 插件连接到 PagerDuty 或 Slack 等第三方警报系统。收到预定义的陷阱后,插件可以将警报发送到这些系统,使团队能够立即收到重要网络事件的通知。此集成确保在正确的时间通知正确的人员,从而有助于保持高服务水平和快速解决问题。
SQLite
- 本地监控存储:配置插件以将指标写入本地 SQLite 数据库文件。这非常适合不需要设置全规模数据库服务器的轻量级部署。
- 嵌入式应用程序:将 SQLite 用作嵌入在边缘设备中的应用程序的后端,受益于其基于文件的架构和最低的资源需求。
- 快速设置进行测试:利用 SQLite 的易用性,快速为 Telegraf 指标收集设置测试环境,而无需外部数据库服务。
- 自定义模式管理:如果您需要特定的列类型或索引,请调整表创建模板以预定义您的模式,从而确保与您的应用程序需求兼容。
反馈
感谢您成为我们社区的一份子!如果您有任何一般性反馈或在这些页面上发现了任何错误,我们欢迎并鼓励您提出意见。请在 InfluxDB 社区 Slack 中提交您的反馈。