Prometheus 数据源
夜莺( Nightingale Prometheus 数据源
Prometheus 数据源配置
配置参数说明
名称:Prometheus 数据库显示名称
URL:Prometheus 数据库地址 示例:http://${server-ip}:9090/
超时(单位ms):设置连接 Prometheus 数据库超时时间

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

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

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

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

Remote Read :配置边缘模块内网时序数据库;通常用于边缘机房下沉部署告警引擎的场景,如果该字段不为空,n9e-edge 会使用该地址访问时序库,如果该字段为空,n9e-edge 会使用上面的 URL 访问时序库。
关联告警引擎集群 :配置绑定指定告警引擎的数据源 ;
设置为默认数据源:设定是否为网络探测和 pingmesh 的数据存储数据库,如有多个时许数据库只能设置其中一个为网络探测数据存储数据库;
时序库类型:根据接入数据源类型进行选择即可,这个配置参数主要是优化仪表盘数据查询;

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

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

自建 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 数据源比较简单,只需要填写好公有云提供的配置即可。

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

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

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

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

常见问题
Q1:保存数据源后状态显示"异常",怎么办?
A:状态异常说明从夜莺 Server 到 Prometheus 的连接有问题。按顺序:
- 网络可达:在夜莺 Server 主机上
curl http://<prom-addr>:9090/-/healthy,能拿到 200 才说明网络通; - 用户名密码:如果 Prometheus 配了 basic_auth,密码必须填原始密码(不是加密哈希);
- HTTPS 证书:自签证书需要在表单里开"跳过 TLS 验证";
- 代理:内网部署需要走代理时,在表单里填代理地址。
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 类型。