Prometheus 数据源

夜莺( Nightingale Prometheus 数据源

Prometheus 数据源配置

配置参数说明

名称:Prometheus 数据库显示名称

URL:Prometheus 数据库地址 示例:http://${server-ip}:9090/

超时(单位ms):设置连接 Prometheus 数据库超时时间

p01

用户名 && 密码:如果开启 Prometheus 访问认证那么就需要在这里输入用户名密码,密码输入原始密码即可,不用输入加密后密码。

p02

如果 Prometheus 使用用户名和密码验证登录需要支持配置开启,默认用户名和密码会在web-config.yml配置文件中的basic_auth_users模块中,为了保证配置文件安全性,密码是bcrypt哈希算法加密过的,所以需要Prometheus管理员提前配置好。

p03

Header && Value:配置请求 Prometheus 接口的校验参数;

p04

Remote Write: 使用拨测功能:如果使用记录规则、拨测功能,拨测采集指标需要使用 Remote Write 回写到的默认数据源的数据库地址。

p05

Remote Read :配置边缘模块内网时序数据库;通常用于边缘机房下沉部署告警引擎的场景,如果该字段不为空,n9e-edge 会使用该地址访问时序库,如果该字段为空,n9e-edge 会使用上面的 URL 访问时序库。

关联告警引擎集群 :配置绑定指定告警引擎的数据源 ;

设置为默认数据源:设定是否为网络探测和 pingmesh 的数据存储数据库,如有多个时许数据库只能设置其中一个为网络探测数据存储数据库;

时序库类型:根据接入数据源类型进行选择即可,这个配置参数主要是优化仪表盘数据查询;

p06

查询数据

配置完成后在已介入的数据源这里可以看到新建的 Prometheus 数据源。

p07

在时序指标—即时查询—数据源选择 prometheus ,在内置指标框输入指标就可正常查询时序数据了。(在查询前需要确保这个时序数据里面有写入数据才能进行查询)

p08

自建 Prometheus 时序库

# 安装小脚本
version=2.45.3
filename=prometheus-${version}.linux-amd64
mkdir -p /opt/prometheus
wget https://github.com/prometheus/prometheus/releases/download/v${version}/${filename}.tar.gz
tar xf ${filename}.tar.gz
cp -far ${filename}/*  /opt/prometheus/

# 下载安装包
mkdir -p /opt/prometheus
cd /opt/prometheus
wget download.flashcat.cloud/prometheus-2.50.1.linux-amd64.tar.gz

# 创建prometheus.sevice文件
cat <<EOF >/etc/systemd/system/prometheus.service
[Unit]
Description="prometheus"
Documentation=https://prometheus.io/
After=network.target

[Service]
Type=simple

ExecStart=/opt/prometheus/prometheus --config.file=/opt/prometheus/prometheus.yml --storage.tsdb.path=/opt/prometheus/data --web.enable-lifecycle --web.enable-remote-write-receiver

Restart=on-failure
SuccessExitStatus=0
LimitNOFILE=65536
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=prometheus


[Install]
WantedBy=multi-user.target
EOF

# 启动服务
systemctl enable prometheus
systemctl restart prometheus
systemctl status prometheus

注意:Prometheus 要想作为时序库接收 remote write 协议的数据,即夜莺收到时序数据之后,要想转发给 Prometheus,需要 Prometheus 在启动参数里添加 –enable-feature=remote-write-receiver ,否则夜莺转发数据的时候会报 404,因为没有这个参数,Prometheus 就不会开启 /api/v1/write 接口的处理监听。

对接腾讯云 Prometheus 数据源

对接公有云的托管 Prometheus 数据源比较简单,只需要填写好公有云提供的配置即可。

tc01

腾讯云 Prometheus 公网申请请参考腾讯云官方文档。下面是 APPID 和 token 获取方式。

tc01

对接 阿里云 Prometheus 数据源

对接公有云的托管 Prometheus 数据源比较简单,只需要填写好公有云提供的配置即可。

aliyun01

获取阿里云配置,需要先进入 Prometheus 监控服务的实例列表,选择设置。

aliyun02

在设置页面选择 HTTP API 地址配置里面的 Token 公网或者私网。

aliyun03

常见问题

Q1:保存数据源后状态显示"异常",怎么办?

A:状态异常说明从夜莺 Server 到 Prometheus 的连接有问题。按顺序:

  1. 网络可达:在夜莺 Server 主机上 curl http://<prom-addr>:9090/-/healthy,能拿到 200 才说明网络通;
  2. 用户名密码:如果 Prometheus 配了 basic_auth,密码必须填原始密码(不是加密哈希);
  3. HTTPS 证书:自签证书需要在表单里开"跳过 TLS 验证";
  4. 代理:内网部署需要走代理时,在表单里填代理地址。

Q2:保存成功但查不到数据?

A:连接通了但查不到数据,常见原因:

  • 数据真不存在:去 Prometheus 自带 UI(http://<prom-addr>:9090)跑下 PromQL 验证;
  • 数据源不是 default即时查询 默认用 default 数据源,要主动选你新建的;
  • 时间范围:查的时间段没数据。

Q3:把 Prometheus 当 Remote Write 接收方时,夜莺转发数据返回 404?

A:Prometheus 默认不开启 remote_write 接收接口。启动参数加 --enable-feature=remote-write-receiver--web.enable-remote-write-receiver(取决于版本),重启即可。

Q4:VictoriaMetrics / Mimir / Thanos 这些 Prometheus 兼容产品能用这个数据源类型对接吗?

A:可以 — 它们都实现了 PromQL HTTP API。直接选"Prometheus"数据源类型,填它们的查询端点 URL。注意

  • VictoriaMetrics 推荐单独选数据源类型 “VictoriaMetrics” — 支持 MetricsQL 扩展函数;
  • Thanos Querier 推荐用 Prometheus 类型;
  • Mimir Query Frontend 推荐用 Prometheus 类型。

参考资料

更新时间 2025-03-12

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云