2017-06-21 8 views
0

Je souhaite implémenter des alertes pour la pile EFK, qui est déployée dans l'origine de Openshift. Pour implémenter des alertes, j'ai utilisé Elastalert. J'ai utilisé l'image docker krizsan/elastalert-docker pour cela.Elastalert dans le conteneur d'origine Openshift

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

Cela exécutera avec succès l'instance elastalert, mais dans l'im journal se

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... 

J'ai donné l'environnement varialbe

ELASTICSEARCH_HOST =logging-es 

Elastalert ne peut pas se connecter à la recherche élastique d'origine de décalage ouverte . Toute aide est appréciée.

Répondre

0

La plupart de l'image Docker du concentrateur Docker ne fonctionne pas telle quelle sur Openshift en raison de contraintes de contexte de sécurité.

Pour éviter des erreurs d'autorisation, vous pouvez ajouter:

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

permettant un pod avec compte de service par défaut pour fonctionner avec anyuid SCC. Sachez que cela peut avoir un impact sur tous les pod lancés dans le projet si vous ne spécifiez pas explicitement un autre compte de service dans votre définition de pod. Notant que cela ne peut être fait que si vous êtes un administrateur de cluster.

+0

Cela ne peut pas être fait si vous êtes seulement un administrateur de projet. Cela signifie que vous ne pouvez pas le faire sur OpenShift Online car vous n'êtes pas un administrateur de cluster. Si vous rencontrez des images qui doivent être exécutées en tant que root, vous devez encourager les auteurs de l'image à ne pas utiliser root et configurer des images à exécuter comme n'importe quel ID de système de déploiement de conteneur, et pas seulement OpenShift. la sécurité ne va pas permettre à des choses de s'exécuter en tant que root. –

+0

Vous avez raison, @ expuser111 mentionne explicitement Openshift Origin. Peut-être le meilleur moyen est de construire votre propre image en évitant l'utilisation de la racine. –