我正在开发一个ui,需要在其中显示mesos从机中运行的作业的实时日志(stdout和stderr)。我正在寻找一种方法,我将能够生成一个网址,将指向该工作的mesos日志。有没有同样的方法?基本上,我需要知道从id,执行器id,主id等生成的网址。有没有办法找到这些信息?
0sgqnhkj1#
不如用反向法。您需要提供来自stderr和stdout的实时日志。把它们存储在mesos slave之外怎么样,比如ElasticSearch?你会得到几乎实时更新,旧日志后可用,不错的搜索选项。从版本0.27.0开始,mesos支持containerlogger。您可以编写自己的containerlogger实现,将日志推送到中心日志存储库(graylog、logstash、e.t.c),然后在ui中公开它。
vvppvyoh2#
mesos提供了一个rest接口,您可以在其中获得所需的信息。使用浏览器访问 http://<MESOS_MASTER_IP>:5050/help (使用默认端口)检查您必须查询的选项(例如,您可以从 http://<MESOS_MASTER_IP>:5050/master/state.json) . 查看此链接以查看使用它的示例。
http://<MESOS_MASTER_IP>:5050/help
http://<MESOS_MASTER_IP>:5050/master/state.json)
kninwzqo3#
沙盒url的格式如下 http:// $slave_url:5050/read.json?$work_dir/work/slaves/$slave_id/frameworks/$framework_id/executors/$executor_id/runs/$container_id/stdout ,你甚至可以使用 browse.json 在沙盒中浏览的端点。或者,您可以使用 mesos tail $task_id cli命令来访问这些日志。有关详细信息,请参阅以下邮件列表线程:http://search-hadoop.com/m/rft15skyle/accessing+stdout%252fstderr+of+a+task+programmattically
http:// $slave_url:5050/read.json?$work_dir/work/slaves/$slave_id/frameworks/$framework_id/executors/$executor_id/runs/$container_id/stdout
browse.json
mesos tail $task_id
3条答案
按热度按时间0sgqnhkj1#
不如用反向法。您需要提供来自stderr和stdout的实时日志。把它们存储在mesos slave之外怎么样,比如ElasticSearch?你会得到几乎实时更新,旧日志后可用,不错的搜索选项。
从版本0.27.0开始,mesos支持containerlogger。您可以编写自己的containerlogger实现,将日志推送到中心日志存储库(graylog、logstash、e.t.c),然后在ui中公开它。
vvppvyoh2#
mesos提供了一个rest接口,您可以在其中获得所需的信息。使用浏览器访问
http://<MESOS_MASTER_IP>:5050/help
(使用默认端口)检查您必须查询的选项(例如,您可以从http://<MESOS_MASTER_IP>:5050/master/state.json)
. 查看此链接以查看使用它的示例。kninwzqo3#
沙盒url的格式如下
http:// $slave_url:5050/read.json?$work_dir/work/slaves/$slave_id/frameworks/$framework_id/executors/$executor_id/runs/$container_id/stdout
,你甚至可以使用browse.json
在沙盒中浏览的端点。或者,您可以使用
mesos tail $task_id
cli命令来访问这些日志。有关详细信息,请参阅以下邮件列表线程:http://search-hadoop.com/m/rft15skyle/accessing+stdout%252fstderr+of+a+task+programmattically