用于监控的 elasticsearch 用户(应用哪个角色?)

elasticsearch user for monitoring (which role to apply?)

启用了 xpack 身份验证的 Elasticsearch 7.15(如果重要,只有 elasticsearch,没有安装 kibana 或其他 elk 应用程序)

我正在尝试添加一个用户用于监控目的(从 elasticsearch 检索信息,即集群状态、集群健康状况、索引健康状况、大小、文档计数、其他关于 elasticsearch 性能的只读参数)。我正在研究 elasticsearch 内置角色并添加角色“monitoring_user”,但我只能获得“关于页面”(aka /),没有 _cluster/health,没有 _cat/indices 或其他链接。

那么,为了从 elasticsearch 获取状态数据,应用于监控用户的最小权限角色是什么?

谢谢!

在深入了解内置 users/roles 之后,我创建了一个新的监控角色,并为该角色分配了一个用户。到目前为止,还不错,不确定我是否可以访问将来需要的所有信息,但这是一个开始。

这是一个 ansible 变量的示例(使用了官方的 elasticsearch ansible 角色),但我认为它非常易读(创建一个具有集群和索引监控功能的新角色,并创建一个分配了该角色的用户)。

es_users:
  native:
    monitor:
      password: "xxxxxxxxxxxxx"
      roles:
        - xxx_monitoring
es_roles:
  native:
    xxx_monitoring:
      cluster:
        - monitor
      indices:
        - names: '*'
          privileges:
            - monitor

注意事项:似乎不会为该监视器用户列出 .security-# 索引(也可能是其他索引)(在 _cat/indices 页面中);实际上对我来说这是一个功能,而不是错误,但请注意