NSQ 和 Microsoft SQL Server 集成

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

info

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

50 亿+

Telegraf 下载量

#1

时间序列数据库
来源:DB Engines

10 亿+

InfluxDB 的下载量

2,800+

贡献者

目录

强大的性能,无限的扩展

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

查看入门方法

输入和输出集成概览

NSQ Telegraf 插件从 NSQD 消息传递系统读取指标,从而实现实时数据处理和监控。

Telegraf 的 SQL 插件有助于将指标存储在 SQL 数据库中。 当配置为 Microsoft SQL Server 时,它支持特定的 DSN 格式和架构要求,从而可以与 SQL Server 无缝集成。

集成详情

NSQ

NSQ 插件与 NSQ(一个实时消息传递平台)接口,从而可以从 NSQD 读取消息。 此插件被归类为服务插件,这意味着它主动侦听指标和事件,而不是定期轮询它们。 为了强调可靠性,它会跟踪未传递的消息,直到输出确认它们为止,从而防止数据丢失。 该插件允许进行配置,例如指定 NSQLookupd 端点、主题和通道,并且它支持多种数据格式,以实现数据处理的灵活性。

Microsoft SQL Server

Telegraf 用于 Microsoft SQL Server 的 SQL 输出插件旨在通过动态创建与传入数据结构匹配的表和列来捕获和存储指标数据。 此集成利用 go-mssqldb 驱动程序,该驱动程序通过包含服务器、端口和数据库详细信息的 DSN 遵循 SQL Server 连接协议。 尽管该驱动程序由于单元测试有限而被认为是实验性的,但它为动态架构生成和数据插入提供了强大的支持,从而实现了系统性能的详细时间戳记录。 尽管其状态为实验性,但这种灵活性使其成为需要可靠且精细的指标日志记录的环境的宝贵工具。

配置

NSQ

# Read metrics from NSQD topic(s)
[[inputs.nsq_consumer]]
  ## Server option still works but is deprecated, we just prepend it to the nsqd array.
  # server = "localhost:4150"

  ## An array representing the NSQD TCP HTTP Endpoints
  nsqd = ["localhost:4150"]

  ## An array representing the NSQLookupd HTTP Endpoints
  nsqlookupd = ["localhost:4161"]
  topic = "telegraf"
  channel = "consumer"
  max_in_flight = 100

  ## Max undelivered messages
  ## This plugin uses tracking metrics, which ensure messages are read to
  ## outputs before acknowledging them to the original broker to ensure data
  ## is not lost. This option sets the maximum messages to read from the
  ## broker that have not been written by an output.
  ##
  ## This value needs to be picked with awareness of the agent's
  ## metric_batch_size value as well. Setting max undelivered messages too high
  ## can result in a constant stream of data batches to the output. While
  ## setting it too low may never flush the broker's messages.
  # max_undelivered_messages = 1000

  ## 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"

Microsoft SQL Server

[[outputs.sql]]
  ## Database driver
  ## Valid options: mssql (Microsoft SQL Server), mysql (MySQL), pgx (Postgres),
  ## sqlite (SQLite3), snowflake (snowflake.com), clickhouse (ClickHouse)
  driver = "mssql"

  ## Data source name
  ## For Microsoft SQL Server, the DSN typically includes the server, port, username, password, and database name.
  ## Example DSN: "sqlserver://username:password@localhost:1433?database=telegraf"
  data_source_name = "sqlserver://username:password@localhost:1433?database=telegraf"

  ## 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
  ## You can customize the mapping if needed.
  #[outputs.sql.convert]
  #  integer       = "INT"
  #  real          = "DOUBLE"
  #  text          = "TEXT"
  #  timestamp     = "TIMESTAMP"
  #  defaultvalue  = "TEXT"
  #  unsigned      = "UNSIGNED"
  #  bool          = "BOOL"

输入和输出集成示例

NSQ

  1. 实时分析仪表板:将此插件与可视化工具集成,以创建仪表板,显示来自 NSQ 中各种主题的实时指标。 通过订阅特定主题,用户可以动态监控系统运行状况和应用程序性能,从而立即获得洞察力并及时响应任何异常情况。

  2. 事件驱动的自动化:将 NSQ 与无服务器架构结合使用,以根据传入的消息触发自动化工作流程。 此用例可能涉及处理机器学习模型的数据或响应应用程序中的用户操作,从而简化操作并通过快速处理来增强用户体验。

  3. 多服务通信中心:在分布式架构中,使用 NSQ 插件充当不同微服务之间的集中消息传递中心。 通过使服务能够通过 NSQ 进行通信,开发人员可以确保可靠的消息传递,同时保持解耦的服务交互,从而显着提高可扩展性和弹性。

  4. 指标聚合以增强监控:实施 NSQ 插件以聚合来自多个来源的指标,然后再将其发送到分析工具。 此设置使企业能够整合来自各种应用程序和服务的数据,从而创建统一的视图,以便更好地进行决策和战略规划。

Microsoft SQL Server

  1. 企业应用程序监控:利用该插件捕获在 SQL Server 上运行的企业应用程序的详细性能指标。 此设置使 IT 团队能够分析系统性能、跟踪事务时间并识别复杂的多层环境中的瓶颈。

  2. 动态基础设施审计:部署该插件以创建 SQL Server 中基础设施更改和性能指标的动态审计日志。 此用例非常适合需要实时监控和系统性能历史分析以进行合规性和优化的组织。

  3. 自动化性能基准测试:使用该插件持续记录和分析 SQL Server 数据库的性能指标。 这实现了自动化基准测试,将历史数据与当前性能进行比较,从而有助于快速识别服务中的异常或降级。

  4. 集成 DevOps 仪表板:将该插件与 DevOps 监控工具集成,以将来自 SQL Server 的实时指标馈送到集中式仪表板中。 这提供了应用程序运行状况的整体视图,使团队可以将 SQL Server 性能与应用程序级事件相关联,从而加快故障排除和主动维护。

反馈

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

强大的性能,无限的扩展

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

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

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

查看集成

Kafka 和 InfluxDB 集成

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

查看集成

Kinesis 和 InfluxDB 集成

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

查看集成