我正在我的集群上使用kubernetes和几个rails / node docker镜像。他们中的大多数都有:3000 / healtz健康检查,只需返回状态200,身体就OK。
现在我正在尝试发现在运行sidekiq的docker镜像上执行此运行状况检查的最佳方法。我如何验证工人是否正在运行?
答案 0 :(得分:1)
如果您的图片是unix之类的,则可以检查该进程是否正在运行
$ ps aux | grep '[s]idekiq'
但这不能保证在sidekiq和redis中一切正常。
此sidekiq插件https://github.com/arturictus/sidekiq_alive
中描述/开发了一种更好的方法对于k8,我遇到livenessProbe
的问题,并且尝试在不使用此lib的情况下解决,但尚未成功。
答案 1 :(得分:0)
Sidekiq 6.0附带了一个新的sidekiqmon
,您可以使用它来验证进程是否正在使用Redis在当前计算机上运行。
REDIS_URL=redis://redis.example.com:6380/5 sidekiqmon | grep $$(hostname)
文档:https://github.com/mperham/sidekiq/wiki/Monitoring#sidekiqmon