参考手册

连接与传输配置

配置后端地址、集群租户、超时、请求头和自定义传输。

每个后端使用一份配置。PrometheusConfig 使用标准 API 路径;VMSingleConfig 与 VMClusterConfig 提供 VictoriaMetrics 对应部署的路径。客户端负责拼接端点后缀。

from metricraft import PrometheusConfig, HttpClientOptions

config = PrometheusConfig(
    "http://localhost:9090",
    default_step="30s",
    http_options=HttpClientOptions(timeout=(3, 20)),
)
config.validate()

超时应放在 http_options 中,顶层 timeout 关键字参数会被拒绝。配置对象可以更新。HttpClientOptions 是冻结容器,其字典会复制,但并非递归不可变。可选注册辅助函数见模型与公共类型。

HTTP 传输插槽使用公开的同步、异步 Protocol 和工厂契约。适配器签名、工厂参数及资源归属见替换 HTTP 传输。

方法与参数

PrometheusConfig

PrometheusConfig()创建后端连接设置。配置对象可变,不适用表达式的不可变保证。
PrometheusConfig(url: str, default_step: str='1m', *, http_options: Optional[HttpClientOptions]=None, **kwargs)

配置与传输验证独立于查询验证。

参数
参数 / 类型含义与可接受的值
urlstr必填非空后端基础 URL,例如 'http://localhost:9090'。不要追加 /api/v1/query,客户端会添加端点路径。
default_stepstr默认值: '1m'默认范围查询求值间隔,如 '1m'。应使用正的后端时长,语法最终由后端检查。
http_optionsHttpClientOptions | Mapping | None默认值: None传输配置。None 使用后端配置的默认值(传输超时 30 秒)。
**kwargs关键字参数可变参数额外连接设置。不接受顶层 timeout,请将 timeout 放在 http_options 中。

返回值 PrometheusConfig

db_type返回此后端的 DBType 标识。
属性
PrometheusConfig.db_type

配置与传输验证独立于查询验证。

无参数。

返回值 DBType

get_connection_info()返回解析后的后端连接设置与 HTTP 选项。
PrometheusConfig.get_connection_info() -> Dict[str, Any]

配置与传输验证独立于查询验证。

无参数。

返回值 Dict[str, Any]

get_insert_url_base()返回写入基础 URL。PrometheusConfig 没有 VictoriaMetrics 导入端点,因此抛出 NotImplementedError。
PrometheusConfig.get_insert_url_base() -> str

配置与传输验证独立于查询验证。

无参数。

返回值 str

get_query_url_base()返回包含部署或租户前缀的查询基础 URL,客户端负责添加具体端点。
PrometheusConfig.get_query_url_base() -> str

配置与传输验证独立于查询验证。

无参数。

返回值 str

http_options返回保存的 HttpClientOptions 对象。
属性
PrometheusConfig.http_options

配置与传输验证独立于查询验证。

无参数。

返回值 HttpClientOptions

http_options_dict将 HTTP 选项导出为字典,用于配置传输。
属性
PrometheusConfig.http_options_dict

配置与传输验证独立于查询验证。

无参数。

返回值 Dict[str, Any]

set_http_options()替换当前配置对象的 HTTP 选项。
PrometheusConfig.set_http_options(options: Optional[HttpClientOptions]) -> None

配置与传输验证独立于查询验证。

参数
参数 / 类型含义与可接受的值
optionsHttpClientOptions | Mapping | None必填替换用的 HTTP 配置,会修改当前配置对象,不修改查询表达式。

返回值 None

update_http_options()将 HTTP 选项合并到当前配置,保留未指定的设置。
PrometheusConfig.update_http_options(overrides: Optional[HttpClientOptions]) -> None

配置与传输验证独立于查询验证。

参数
参数 / 类型含义与可接受的值
overridesHttpClientOptions | Mapping | None必填合并到现有 HTTP 选项的设置。请求头与 extras 按键合并,其他已提供字段覆盖旧值。

返回值 None

validate()检查必要的端点与设置,配置无效时抛出 ValueError。
PrometheusConfig.validate() -> None

配置与传输验证独立于查询验证。

无参数。

返回值 None

VMSingleConfig

VMSingleConfig()创建后端连接设置。配置对象可变,不适用表达式的不可变保证。
VMSingleConfig(url: str, default_step: str='1m', *, http_options: Optional[HttpClientOptions]=None, **kwargs)

配置与传输验证独立于查询验证。

参数
参数 / 类型含义与可接受的值
urlstr必填非空后端基础 URL,例如 'http://localhost:9090'。不要追加 /api/v1/query,客户端会添加端点路径。
default_stepstr默认值: '1m'默认范围查询求值间隔,如 '1m'。应使用正的后端时长,语法最终由后端检查。
http_optionsHttpClientOptions | Mapping | None默认值: None传输配置。None 使用后端配置的默认值(传输超时 30 秒)。
**kwargs关键字参数可变参数额外连接设置。不接受顶层 timeout,请将 timeout 放在 http_options 中。

返回值 VMSingleConfig

db_type返回此后端的 DBType 标识。
属性
VMSingleConfig.db_type

配置与传输验证独立于查询验证。

无参数。

返回值 DBType

get_connection_info()返回解析后的后端连接设置与 HTTP 选项。
VMSingleConfig.get_connection_info() -> Dict[str, Any]

配置与传输验证独立于查询验证。

无参数。

返回值 Dict[str, Any]

get_insert_url_base()返回写入基础 URL。PrometheusConfig 没有 VictoriaMetrics 导入端点,因此抛出 NotImplementedError。
VMSingleConfig.get_insert_url_base() -> str

配置与传输验证独立于查询验证。

无参数。

返回值 str

get_query_url_base()返回包含部署或租户前缀的查询基础 URL,客户端负责添加具体端点。
VMSingleConfig.get_query_url_base() -> str

配置与传输验证独立于查询验证。

无参数。

返回值 str

http_options返回保存的 HttpClientOptions 对象。
属性
VMSingleConfig.http_options

配置与传输验证独立于查询验证。

无参数。

返回值 HttpClientOptions

http_options_dict将 HTTP 选项导出为字典,用于配置传输。
属性
VMSingleConfig.http_options_dict

配置与传输验证独立于查询验证。

无参数。

返回值 Dict[str, Any]

set_http_options()替换当前配置对象的 HTTP 选项。
VMSingleConfig.set_http_options(options: Optional[HttpClientOptions]) -> None

配置与传输验证独立于查询验证。

参数
参数 / 类型含义与可接受的值
optionsHttpClientOptions | Mapping | None必填替换用的 HTTP 配置,会修改当前配置对象,不修改查询表达式。

返回值 None

update_http_options()将 HTTP 选项合并到当前配置,保留未指定的设置。
VMSingleConfig.update_http_options(overrides: Optional[HttpClientOptions]) -> None

配置与传输验证独立于查询验证。

参数
参数 / 类型含义与可接受的值
overridesHttpClientOptions | Mapping | None必填合并到现有 HTTP 选项的设置。请求头与 extras 按键合并,其他已提供字段覆盖旧值。

返回值 None

validate()检查必要的端点与设置,配置无效时抛出 ValueError。
VMSingleConfig.validate() -> None

配置与传输验证独立于查询验证。

无参数。

返回值 None

VMClusterConfig

VMClusterConfig()创建后端连接设置。配置对象可变,不适用表达式的不可变保证。
VMClusterConfig(vminsert_url: str, vmselect_url: str, vmstorage_url: str, account_id: int=DEFAULT_ACCOUNT_ID, default_step: str='1m', *, http_options: Optional[HttpClientOptions]=None, **kwargs)

配置与传输验证独立于查询验证。

参数
参数 / 类型含义与可接受的值
vminsert_urlstr必填VictoriaMetrics vminsert 基础 URL,例如 'http://localhost:8480',租户写入路径自动添加。
vmselect_urlstr必填VictoriaMetrics vmselect 基础 URL,例如 'http://localhost:8481',租户查询路径自动添加。
vmstorage_urlstr必填VictoriaMetrics vmstorage 基础 URL,例如 'http://localhost:8482'。
account_idint默认值: DEFAULT_ACCOUNT_ID非负整数集群租户 ID,默认 0。
default_stepstr默认值: '1m'默认范围查询求值间隔,如 '1m'。应使用正的后端时长,语法最终由后端检查。
http_optionsHttpClientOptions | Mapping | None默认值: None传输配置。None 使用后端配置的默认值(传输超时 30 秒)。
**kwargs关键字参数可变参数额外连接设置。不接受顶层 timeout,请将 timeout 放在 http_options 中。

返回值 VMClusterConfig

db_type返回此后端的 DBType 标识。
属性
VMClusterConfig.db_type

配置与传输验证独立于查询验证。

无参数。

返回值 DBType

get_connection_info()返回解析后的后端连接设置与 HTTP 选项。
VMClusterConfig.get_connection_info() -> Dict[str, Any]

配置与传输验证独立于查询验证。

无参数。

返回值 Dict[str, Any]

get_insert_url_base()返回写入基础 URL。PrometheusConfig 没有 VictoriaMetrics 导入端点,因此抛出 NotImplementedError。
VMClusterConfig.get_insert_url_base() -> str

配置与传输验证独立于查询验证。

无参数。

返回值 str

get_query_url_base()返回包含部署或租户前缀的查询基础 URL,客户端负责添加具体端点。
VMClusterConfig.get_query_url_base() -> str

配置与传输验证独立于查询验证。

无参数。

返回值 str

http_options返回保存的 HttpClientOptions 对象。
属性
VMClusterConfig.http_options

配置与传输验证独立于查询验证。

无参数。

返回值 HttpClientOptions

http_options_dict将 HTTP 选项导出为字典,用于配置传输。
属性
VMClusterConfig.http_options_dict

配置与传输验证独立于查询验证。

无参数。

返回值 Dict[str, Any]

set_http_options()替换当前配置对象的 HTTP 选项。
VMClusterConfig.set_http_options(options: Optional[HttpClientOptions]) -> None

配置与传输验证独立于查询验证。

参数
参数 / 类型含义与可接受的值
optionsHttpClientOptions | Mapping | None必填替换用的 HTTP 配置,会修改当前配置对象,不修改查询表达式。

返回值 None

update_http_options()将 HTTP 选项合并到当前配置,保留未指定的设置。
VMClusterConfig.update_http_options(overrides: Optional[HttpClientOptions]) -> None

配置与传输验证独立于查询验证。

参数
参数 / 类型含义与可接受的值
overridesHttpClientOptions | Mapping | None必填合并到现有 HTTP 选项的设置。请求头与 extras 按键合并,其他已提供字段覆盖旧值。

返回值 None

validate()检查必要的端点与设置,配置无效时抛出 ValueError。
VMClusterConfig.validate() -> None

配置与传输验证独立于查询验证。

无参数。

返回值 None

HttpClientOptions

HttpClientOptions()创建冻结的传输选项。请求头与 extras 字典会复制,冻结不会递归冻结字典内容。
HttpClientOptions(timeout: Optional[RawTimeout]=None, default_headers: Optional[HeadersMapping]=None, prepare_request: Optional[Callable[..., Any]]=None, opener: Optional[Callable[..., Any]]=None, client: Optional[SyncHTTPTransport]=None, async_client: Optional[AsyncHTTPTransport]=None, client_factory: Optional[SyncHTTPTransportFactory]=None, async_client_factory: Optional[AsyncHTTPTransportFactory]=None, max_workers: Optional[int]=None, executor: Optional[Any]=None, extras: Optional[Mapping[str, Any]]=None) -> None

配置与传输验证独立于查询验证。

参数
参数 / 类型含义与可接受的值
timeoutnumber | tuple[number, number] | None默认值: None正的连接和读取超时,单位为秒;单个标量同时用于两者。None 表示由所属配置或传输决定。
default_headersMapping[str, str]默认值: None默认 HTTP 请求头,名称和值会规范化并复制到新字典。
prepare_requestCallable | None默认值: None发送前准备传输请求的钩子,必须符合所选传输的请求约定。
openerCallable | None默认值: None可选的 urllib 兼容同步请求 opener。
clientSyncHTTPTransport | None默认值: None注入同步适配器,get/post 返回解析后的 JSON 字典;客户端负责资源清理。
async_clientAsyncHTTPTransport | None默认值: None注入异步适配器,可等待的 get/post 返回解析后的 JSON 字典;异步清理使用 aclose。
client_factorySyncHTTPTransportFactory | None默认值: None未指定 client 时调用,关键字参数为 http_options 和 connection_info。
async_client_factoryAsyncHTTPTransportFactory | None默认值: None未指定 async_client 时调用的普通工厂,关键字参数为 http_options、connection_info 和 sync_client。
max_workersint | None默认值: None异步回退执行器的正工作线程数量。None 使用执行器默认值。
executorExecutor | None默认值: None异步回退使用的可选执行器。外部传入的执行器仍归调用方所有。
extrasMapping[str, Any]默认值: None复制进配置的额外传输专有选项,具体含义由所选传输决定。

返回值 None

ensure()将 None、映射或已有选项规范化为 HttpClientOptions。
类方法
HttpClientOptions.ensure(value: Optional[Union['HttpClientOptions', Mapping[str, Any]]]) -> 'HttpClientOptions'

配置与传输验证独立于查询验证。

参数
参数 / 类型含义与可接受的值
valueHttpClientOptions | Mapping[str, Any] | None必填返回已有选项对象,转换映射,或在 None 时使用空选项对象。

返回值 'HttpClientOptions'

from_mapping()从映射创建 HTTP 选项,规范化别名,并将未知传输键保留在 extras 中。
类方法
HttpClientOptions.from_mapping(data: Mapping[str, Any]) -> 'HttpClientOptions'

配置与传输验证独立于查询验证。

参数
参数 / 类型含义与可接受的值
dataMapping[str, Any]必填HTTP 选项映射。headers 是 default_headers 的别名,未知键保存在 extras 中。

返回值 'HttpClientOptions'

merge()返回应用覆盖后的新 HTTP 选项。请求头和 extras 按键合并,非 None 字段替换旧值。
HttpClientOptions.merge(overrides: Optional[Union['HttpClientOptions', Mapping[str, Any]]]) -> 'HttpClientOptions'

配置与传输验证独立于查询验证。

参数
参数 / 类型含义与可接受的值
overridesHttpClientOptions | Mapping | None必填合并到现有 HTTP 选项的设置。请求头与 extras 按键合并,其他已提供字段覆盖旧值。

返回值 'HttpClientOptions'

to_dict()将已配置的 HTTP 设置和 extras 导出为字典。
HttpClientOptions.to_dict() -> Dict[str, Any]

配置与传输验证独立于查询验证。

无参数。

返回值 Dict[str, Any]

浏览文档

查找你需要的内容

搜索指南、示例和 Python API。