Salesforce 和 PostgreSQL 集成

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

info

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

50 亿+

Telegraf 下载量

#1

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

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

强大的性能,无限的扩展

收集、组织和处理海量高速数据。 当您将任何数据视为时间序列数据时,它都更有价值。 借助 InfluxDB,这是基于 Telegraf 构建的排名第一的时间序列平台,可进行扩展。

查看入门方法

输入和输出集成概述

Salesforce Telegraf 插件收集有关 Salesforce 组织中 API 使用情况和限制的关键指标,从而可以有效监控和管理 API 消耗。

Telegraf PostgreSQL 插件允许您高效地将指标写入 PostgreSQL 数据库,同时自动管理数据库模式。

集成详情

Salesforce

Salesforce 插件允许用户收集有关其 Salesforce 组织内 API 使用限制和剩余使用量的指标。 通过利用 Salesforce 的 REST API,特别是 limits 端点,此插件提供了关于 API 使用量已消耗多少以及还剩多少的关键见解。 这对于依赖 Salesforce 进行运营的组织尤其重要,因为超出 API 限制可能会中断服务并阻碍业务流程。 该插件将数据处理为结构化格式,其中包含各种 API 操作的最大值和剩余值,使团队可以更轻松地监控其使用情况并进行相应计划。 提供的配置允许用户自定义其凭据、环境类型(沙盒或生产)和 API 版本,从而确保在不同部署场景中的灵活性。

PostgreSQL

PostgreSQL 插件使用户能够将指标写入 PostgreSQL 数据库或兼容数据库,通过自动更新缺失的列来提供对模式管理的强大支持。 该插件旨在促进与监控解决方案的集成,允许用户高效地存储和管理时间序列数据。 它为连接设置、并发和错误处理提供了可配置选项,并支持高级功能,例如用于标签和字段的 JSONB 存储、外键标记、模板化模式修改以及通过 pguint 扩展对无符号整数数据类型的支持。

配置

Salesforce

[[inputs.salesforce]]
  ## specify your credentials
  ##
  username = "your_username"
  password = "your_password"
  ##
  ## (optional) security token
  # security_token = "your_security_token"
  ##
  ## (optional) environment type (sandbox or production)
  ## default is: production
  ##
  # environment = "production"
  ##
  ## (optional) API version (default: "39.0")
  ##
  # version = "39.0"

PostgreSQL

# Publishes metrics to a postgresql database
[[outputs.postgresql]]
  ## Specify connection address via the standard libpq connection string:
  ##   host=... user=... password=... sslmode=... dbname=...
  ## Or a URL:
  ##   postgres://[user[:password]]@localhost[/dbname]?sslmode=[disable|verify-ca|verify-full]
  ## See https://postgresql.ac.cn/docs/current/libpq-connect.html#LIBPQ-CONNSTRING
  ##
  ## All connection parameters are optional. Environment vars are also supported.
  ## e.g. PGPASSWORD, PGHOST, PGUSER, PGDATABASE
  ## All supported vars can be found here:
  ##  https://postgresql.ac.cn/docs/current/libpq-envars.html
  ##
  ## Non-standard parameters:
  ##   pool_max_conns (default: 1) - Maximum size of connection pool for parallel (per-batch per-table) inserts.
  ##   pool_min_conns (default: 0) - Minimum size of connection pool.
  ##   pool_max_conn_lifetime (default: 0s) - Maximum age of a connection before closing.
  ##   pool_max_conn_idle_time (default: 0s) - Maximum idle time of a connection before closing.
  ##   pool_health_check_period (default: 0s) - Duration between health checks on idle connections.
  # connection = ""

  ## Postgres schema to use.
  # schema = "public"

  ## Store tags as foreign keys in the metrics table. Default is false.
  # tags_as_foreign_keys = false

  ## Suffix to append to table name (measurement name) for the foreign tag table.
  # tag_table_suffix = "_tag"

  ## Deny inserting metrics if the foreign tag can't be inserted.
  # foreign_tag_constraint = false

  ## Store all tags as a JSONB object in a single 'tags' column.
  # tags_as_jsonb = false

  ## Store all fields as a JSONB object in a single 'fields' column.
  # fields_as_jsonb = false

  ## Name of the timestamp column
  ## NOTE: Some tools (e.g. Grafana) require the default name so be careful!
  # timestamp_column_name = "time"

  ## Type of the timestamp column
  ## Currently, "timestamp without time zone" and "timestamp with time zone"
  ## are supported
  # timestamp_column_type = "timestamp without time zone"

  ## Templated statements to execute when creating a new table.
  # create_templates = [
  #   '''CREATE TABLE {{ .table }} ({{ .columns }})''',
  # ]

  ## Templated statements to execute when adding columns to a table.
  ## Set to an empty list to disable. Points containing tags for which there is no column will be skipped. Points
  ## containing fields for which there is no column will have the field omitted.
  # add_column_templates = [
  #   '''ALTER TABLE {{ .table }} ADD COLUMN IF NOT EXISTS {{ .columns|join ", ADD COLUMN IF NOT EXISTS " }}''',
  # ]

  ## Templated statements to execute when creating a new tag table.
  # tag_table_create_templates = [
  #   '''CREATE TABLE {{ .table }} ({{ .columns }}, PRIMARY KEY (tag_id))''',
  # ]

  ## Templated statements to execute when adding columns to a tag table.
  ## Set to an empty list to disable. Points containing tags for which there is no column will be skipped.
  # tag_table_add_column_templates = [
  #   '''ALTER TABLE {{ .table }} ADD COLUMN IF NOT EXISTS {{ .columns|join ", ADD COLUMN IF NOT EXISTS " }}''',
  # ]

  ## The postgres data type to use for storing unsigned 64-bit integer values (Postgres does not have a native
  ## unsigned 64-bit integer type).
  ## The value can be one of:
  ##   numeric - Uses the PostgreSQL "numeric" data type.
  ##   uint8 - Requires pguint extension (https://github.com/petere/pguint)
  # uint64_type = "numeric"

  ## When using pool_max_conns>1, and a temporary error occurs, the query is retried with an incremental backoff. This
  ## controls the maximum backoff duration.
  # retry_max_backoff = "15s"

  ## Approximate number of tag IDs to store in in-memory cache (when using tags_as_foreign_keys).
  ## This is an optimization to skip inserting known tag IDs.
  ## Each entry consumes approximately 34 bytes of memory.
  # tag_cache_size = 100000

  ## Enable & set the log level for the Postgres driver.
  # log_level = "warn" # trace, debug, info, warn, error, none

输入和输出集成示例

Salesforce

  1. 监控 API 限制使用情况以进行扩展决策:使用 Salesforce 插件跟踪 API 限制使用情况随时间的变化,并就何时扩展 Salesforce 资源做出明智的决策。 通过可视化 API 消耗模式,组织可以预测峰值使用时间,从而使其能够主动调整其基础设施或根据需要请求更高的限制。 这种优化可以提高关键业务运营期间的性能并减少停机时间。

  2. API 限制超出的自动警报系统:将此插件与通知系统集成,以便在 API 使用量接近临界限制时向团队发出警报。 此设置不仅确保团队被主动通知以防止中断,而且还有助于维护运营连续性和客户满意度。 可以将警报配置为触发自动脚本,这些脚本可以调整负载或相应地通知利益干系人。

  3. 多个 Salesforces 的比较分析:利用 Salesforce 输入插件从不同部门或业务部门的多个 Salesforce 实例收集指标。 通过集中此数据,组织可以执行比较分析,以识别可能比其他部门更频繁地超出其 API 限制的部门。 这允许进行有针对性的讨论和策略,以平衡整个组织的 API 使用量,从而提高资源分配和效率。

PostgreSQL

  1. 使用复杂查询进行实时分析:利用 PostgreSQL 插件将来自各种来源的指标存储在 PostgreSQL 数据库中,从而可以使用复杂查询进行实时分析。 此设置可以帮助数据科学家和分析师发现模式和趋势,因为他们可以跨多个表操作关系数据,同时利用 PostgreSQL 强大的查询优化功能。 具体来说,用户可以使用 JOIN 操作跨不同的指标表创建复杂的报告,从而揭示通常在嵌入式系统中仍然隐藏的见解。

  2. 与 TimescaleDB 集成以进行时间序列数据处理:在 TimescaleDB 实例中使用 PostgreSQL 插件,以高效地处理和分析时间序列数据。 通过实施超表,用户可以在时间维度上实现更高的性能和主题分区。 这种集成允许用户对大量时间序列数据运行分析查询,同时保留 PostgreSQL SQL 查询的全部功能,从而确保指标分析的可靠性和效率。

  3. 数据版本控制和历史分析:实施使用 PostgreSQL 插件的策略,以维护指标随时间变化的不同版本。 用户可以设置不可变的数据表结构,其中保留旧版本的表,从而可以轻松进行历史分析。 这种方法不仅提供了对数据演变的见解,而且有助于遵守数据保留策略,确保数据集的历史完整性保持不变。

  4. 用于不断发展的指标的动态模式管理:使用插件的模板功能创建动态变化的模式,以响应指标变化。 此用例允许组织随着指标的发展而调整其数据结构,添加必要的字段并确保遵守数据完整性策略。 通过利用模板化的 SQL 命令,用户无需手动干预即可扩展其数据库,从而促进敏捷数据管理实践。

反馈

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

强大的性能,无限的扩展

收集、组织和处理海量高速数据。 当您将任何数据视为时间序列数据时,它都更有价值。 借助 InfluxDB,这是基于 Telegraf 构建的排名第一的时间序列平台,可进行扩展。

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

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

查看集成

Kafka 和 InfluxDB 集成

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

查看集成

Kinesis 和 InfluxDB 集成

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

查看集成