ArangoDB 从arango提取指标需要哪些权限?

rsl1atfo  于 2022-12-09  发布在  Go
关注(0)|答案(1)|浏览(154)

我想用prometheus获取arangodb的度量。因为我启用了身份验证,所以必须使用用户名和密码。
执行此操作所需的权限是什么?
到目前为止,这是可行的:

arangosh
const users = require('@arangodb/users');
users.save('prometheus', 'supersecure')
users.grantDatabase("prometheus", "_system", "ro")
users.grantCollection("prometheus", "_system", "*", "none")
9rnv2umw

9rnv2umw1#

最后一个命令是不必要的。2以下是我的步骤:

  • 创建一个用户prometheus,按照您的建议对_system进行只读访问
  • 创建访问令牌
require('@arangodb/crypto').jwtEncode(
  "secret_token", {
    "preferred_username": "prometheus", 
    "allowed_paths": ["/_admin/metrics"], 
    "iss": "arangodb", 
    "exp": Math.floor(Date.now() / 1000) + 31536000 }, 
  "HS256");

其中,secret_token是超级用户令牌,31536000是以秒为单位的生存时间,在本例中大约为一年。
此令牌将授予对/_admin/metrics API的访问权限,如下所示:

curl -H"Authorization: bearer $TOKEN" https://instance-ip:port/_admin/metrics

相关问题