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 数据库显示名称
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 ,在内置指标框输入指标就可正常查询时序数据了。(在查询前需要确保这个时序数据里面有写入数据才能进行查询)