0

我想为 EFK 堆栈实施警报,该堆栈部署在 Openshift 源中。为了实现警报,我使用了 Elastalert。我使用了 krizsan/elastalert-docker docker 镜像。

oc run elastalertcore --image=172.30.1.1:5000/logging/elastalert-core --port=3344 --expose

这将成功运行 elastalert 实例,但在日志中我得到

Container timezone set to: Europe/Stockholm
ntpd: can't set priority: Permission denied
reset adjtime failed: Operation not permitted
creating new /var/db/ntpd.drift
adjtimex failed: Operation not permitted
dispatch_imsg in main: pipe closed
Lost child: child exited
Terminating
Waiting for Elasticsearch...
Waiting for Elasticsearch...
Waiting for Elasticsearch...
Waiting for Elasticsearch...

我给了环境变量

ELASTICSEARCH_HOST =logging-es

Elastalert 无法连接到开放班次原点的弹性搜索。任何帮助表示赞赏..

4

1 回答 1

0

由于安全上下文约束,来自 Docker hub 的大多数 Docker 映像通常无法在 Openshift 上按原样工作。

为避免权限错误,您可以添加:

oc adm policy add-scc-to-user anyuid -z default

启用具有默认服务帐户的 pod 以使用 anyuid SCC 运行。请注意,如果您未在 pod 定义中明确指定其他服务帐户,它可能会影响项目中运行的所有 pod。

于 2017-07-07T09:21:56.957 回答