【问题标题】:zipkin tracing openstack and osprofiler examplezipkin 跟踪 openstack 和 osprofiler 示例
【发布时间】:2017-09-11 22:05:52
【问题描述】:

大家

我正在尝试使用 Zipkin 来跟踪 OpenStack 中的服务。我知道这对我来说是一个巨大的项目。所以想问问有没有Zipkin追踪OpenStack的开源库。

我想我以前搜索过它,如果我的想法没有欺骗我,那么有一个演示文稿(只有切片)。但是,我找不到它。有人可以帮忙吗?

我知道有用于跟踪 OpenStack 的库 osprofiler,而 API 的示例对我来说似乎不清楚。能不能给我一个更详细甚至完整的例子,比如Zipkin https://github.com/openzipkin/pyramid_zipkin-example

我并不是说它没有帮助。看来我还是要在OpenStack中找到RESTful的请求点,比如创建一个实例可能会触发一个服务请求neutron进行联网,我可能要定位前端代码并添加一个跟踪代码。如果使用 py_zipkin,我可以在它之前添加装饰器 @zipkin_span(some params)。问题是我很难找到 Nova、neutron、cinder 等这些服务的前端。

似乎 osprofiler 做了同样的事情。我的理解很可能是错误的,感谢谁能提供帮助。

顺便说一句,我不打算跟踪像 OpenStack 这样的大项目。我打算使用 Zipkin 跟踪类似 RESTful 或 RPC 的系统,以收集要分析的信息。不幸的是,我找到了一个中等规模的开源项目。所以我选择了 OpenStack。如果你能给我提供别的东西,那将非常有帮助。 :)

非常感谢。

【问题讨论】:

    标签: python openstack rpc restful-architecture zipkin


    【解决方案1】:

    跟踪 OpenStack 项目的最佳方法是使用 Osprofiler 库。如果您只是想了解工作流程或只是想了解 OpenStack 内部调用的类型,那么 Osprofiler 是获取跟踪的最佳和最简单的方法。现在 Osprofiler 是一个公认的 OpenStack 项目,也是获取 OpenStack 跟踪的官方项目。

    无需遍历整个代码并在 HTTP 请求或 RPC 调用附近添加检测点,osprofiler 已经集成到 OpenStack 的所有主要项目(Nova、Neutron、Keystone、Glance 等)中。您只需在 OpenStack 中每个项目的配置文件中启用 osprofiler 即可跟踪该特定项目。

    您可以通过此链接 - https://docs.openstack.org/osprofiler/latest/

    可以通过在配置文件(nova.conf 或 neutron.conf)的末尾添加这些行来在配置文件中启用 Osprofiler:

    [profiler]
    enabled = True
    trace_sqlalchemy = True
    hmac_keys = SECRET_KEY
    connection_string = messaging://
    

    connection_string 参数表示收集器(存储跟踪信息的位置)。默认情况下,它使用云高仪。 您实际上可以通过将conf文件中的connection_string参数更改为elasticsearch服务器来将跟踪信息重定向到Elasticsearch等其他收集器。

    这是迄今为止在 OpenStack 中轻松获得跟踪的最简单方法。

    【讨论】:

    • 感谢您的指导。实际上,我在遇到其他问题时已经这样做了。我正在尝试解决这些问题。
    猜你喜欢
    • 1970-01-01
    • 2019-12-02
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    相关资源
    最近更新 更多