Prometheus 除了提供时序数据库和监控系统存在,其本身也对外提供了 Web 服务,用于提供报表展示及表达式计算,以及用于更新配置文件等功能的 API。
处于安全考虑,在对外的 Web 服务里,我们需要增加身份认证。Prometheus 提供 Basic Auth 身份认证。
计算 Hash
Prometheus 官网提供了两种方式计算 Hash:一种是直接访问 bcrypt, 在线生成。另一种则是通过 Python 脚本完成 hash 计算。
具体代码如下:
|
|
创建配置文件
在 /etc/prometheus 目录下,创建 config.yml 文件。文件内容如下:
|
|
使用 prometheus 自带的 promtool 进行配置文件校验:
|
|
启动服务
完成配置文件创建后,使用 web.config.file 参数进行配置文件加载:
|
|
当 prometheus 服务启动后,可以通过 curl 进行验证:
|
|
在未增加 Basic Auth 请求头的情况下,服务返回 401 与我们预期一致。