文档中心MogDBMogDB StackUqbar

文档:v2.0

支持的版本:

其他版本:

Prometheus使用说明

概述

Uqbar支持通过uqbar-prometheus-adapter将Prometheus的监控数据写入时序表。uqbar-prometheus-adapter为联系Prometheus与Uqbar之间的中间件,基于Prometheus对remote storage支持,外部如Grafana的PromSQL查询请求,监控设备上采集到的数据写入请求,会被中间件uqbar-prometheus-adapter转换为向Uqbar执行的SQL语句,将监控数据写入数据库或从数据库获取查询结果返回给Prometheus。

image-20230613144915565

Prometheus安装

访问 https://prometheus.io/download/ 下载Prometheus。

image-20230613144915565

修改Prometheus配置文件

设置配置文件prometheus.yaml,增加远端存储配置项,最简配置如下:

global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
 - static_configs:
 - targets:
rule_files:
scrape_configs:
 - job_name: "prometheus"
scheme : "http"
static_configs:
 - targets: [ "localhost:9090"]
remote_write:
 - url: " http://localhost:9201/write"
remote_read:
 - url: "http://localhost:9201/read "
read_recent: true

remote_writeremote_read中的 url 配置为 uqbar-prometheus-adapter 的实际地址。

上述配置为不使用TLS,不做auth校验,对于使用TLS示例如下:

global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
rule_files:
scrape_configs:
- job_name: "prometheus"
scheme : "http"
static_configs:
- targets: [ "localhost:9090"]
remote_write:
- url: " https://localhost:9201/write"
basic_auth:
username: "hello"
password: "world"
# =====================
# authorization:
# type: "Bearer"
# credentials: "QWxhZGRpbjpvcGVuIHNlc2FtZQ"
# =====================
tls_config:
ca_file: "xx/ca.crt"
cert_file: "xx/server.pem"
key_file: "xx/server.key"
remote_read:
- url: "https://localhost:9201/read"
read_recent: true
basic_auth:
username: "hello"
password: "world"
# =====================
# authorization:
# type: "Bearer"
# credentials: "QWxhZGRpbjpvcGVuIHNlc2FtZQ"
# =====================
tls_config:
ca_file: "xx/ca.crt"
cert_file: "xx/server.pem"
key_file: "xx/server.key"

请注意remote_read与_remote_write中url参数为https才会使得Prometheus的tsdb组件向remote storage发送https请求,故使用TLS请将url参数设置正确,否则可能会出现向HTTPS服务器发送HTTP请求而无法服务的问题。

启动Prometheus

启动参数示例如下:

nohup ./prometheus --config.file=prometheus.yml &

uqbar-prometheus-adapter自身也存在可配置参数,可以在启动服务时通过--xx=xx指定,具体参数与作用见下表。

参数名 描述
config 配置文件路径
web-auth-username basic auth的用户名
web-auth-password basic auth的密码
web-auth-password-file 使用文件存储basic auth密码的文件路径
web-auth-bearer-token bearer token
web-auth-bearer-token-file 使用文件存储bearer token的文件路径
web-listen-address web服务监听的地址,默认使用9201端口
auth-tls-cert-file TLS 证书文件
auth-tls-key-file TLS key文件
pg-commit-secs 每隔多少秒写一次数据库,默认15
pg-commit-rows 每积累多少行写一次数据库
pg-threads 向数据库写入的协程数
parser-threads 解析prometheus的metrics数据协程数
db-connurl 数据库连接字符串,不为空直接使用;为空程序使用其他db参数自行构造
db-app-name 连接app name
db-ssl-mode ssl 模式默认allow
db-conn-timeout 超时时间
db-user 用户名
db-password 密码
db-host 数据库host
db-port 数据库服务端口
db-database database名
db-ssl-cert 与数据库连接使用的ssl 证书文件
db-ssl-key 与数据库连接使用的ssl key文件
db-ssl-ca 与数据库连接使用的CA文件

最简启动命令如:

./uqbar-prometheus-adapter --db-host="localhost" --db-user=world --db-password="Test@123" --db-port=17680 --db-database="postgres"

本工具也支持使用配置文件启动,使用方法为**--config=xx.yaml**

配置文件使用yaml格式,但要求为扁平化层级结构,所有参数都处于同一层级。命令行指定参数与配置文件指定参数重复无法启动并提示。

连接 Uqbar 时序数据库

  1. 配置Prometheus监控任务与远端存储。

  2. 启动uqbar-prometheus-adapter工具,数据库密码认证方式必须为MD5。

  3. 数据成功写入Uqbar。

  4. 可通过Prometheus web UI 查询已写入数据(http://localhost:9090/graph)。

    image-20230613144915565

Copyright © 2011-2024 www.enmotech.com All rights reserved.