带端口转发/隧道的 LTTng 实时视图
LTTng live view with port forwarding / tunneling
我有一台 PC A,其中 LTTng 跟踪是 运行 实时视图
lttng create trace-session --live
# Traces will be output to tcp4://127.0.0.1:5342/ [data: 5343]
另一台电脑B直接通过网线连接到A。同时,B连接到本地网络。
现在如何从第三台 PC C 查看实时跟踪事件,它与 B 在同一本地网络中,例如
babeltrace2 "net://${B_IP}/host/${B_HOSTNAME}/trace-session"
I 运行 在 PC C 上执行以下命令,以建立到 PC *A.[=14 的隧道=]
ssh -L 5342:${A_IP}:5342 -N user_name@${B_IP}
不过好像没有效果。我想问:
- 我做错了什么?
- “转发”LTTng 实时跟踪事件以供
babeltrace2
查看的标准方法是什么?
Babeltrace2
使用 lttng-relayd
进程的 live
端口而不是数据和控制端口连接到 lttng-relayd
。
当命令行报如下:
# Traces will be output to tcp4://127.0.0.1:5342/ [data: 5343]
这意味着 lttng-sessiond
和 lttng-consumerd
进程将与监听 127.0.0.1:5342
控制消息和 127.0.0.1:5343
跟踪的 lttng-relayd
进程通信数据交换。在本例中,查看器 Babeltrace2
可以连接到 lttng-relayd
进程的 live
端口以流式传输实时会话。您可以深入查看组件图 here.
默认实时端口为 5344,lttng-relayd
进程的默认行为是绑定所有接口以进行侦听。如果指定 none 与 lttng-relayd
进程通信,Babeltrace2
自然也会默认使用该端口。
有关详细信息,请参阅 lttng-relayd 的手册页。
What have I done wrong here?
在您的场景中,您需要通过隧道连接 5344 端口。请注意,我不精通 ssh 隧道,因此我无法在此处验证 ssh 方法。
ssh -L 5344:${A_IP}:5344 -N user_name@${B_IP}
What is the standard way to "forward" LTTng live tracing events to be viewed by babeltrace2?
Babeltrace2
和 lttng-relayd
使用 TCP 进行通信。因此,这里可以接受所有 TCP“转发”方法。您可能已经注意到,LTTng 不会以任何方式加密通信和跟踪数据。如果您需要在不受信任的网络中移动数据,我会说在这里使用 ssh 隧道是合适的。
我有一台 PC A,其中 LTTng 跟踪是 运行 实时视图
lttng create trace-session --live
# Traces will be output to tcp4://127.0.0.1:5342/ [data: 5343]
另一台电脑B直接通过网线连接到A。同时,B连接到本地网络。
现在如何从第三台 PC C 查看实时跟踪事件,它与 B 在同一本地网络中,例如
babeltrace2 "net://${B_IP}/host/${B_HOSTNAME}/trace-session"
I 运行 在 PC C 上执行以下命令,以建立到 PC *A.[=14 的隧道=]
ssh -L 5342:${A_IP}:5342 -N user_name@${B_IP}
不过好像没有效果。我想问:
- 我做错了什么?
- “转发”LTTng 实时跟踪事件以供
babeltrace2
查看的标准方法是什么?
Babeltrace2
使用 lttng-relayd
进程的 live
端口而不是数据和控制端口连接到 lttng-relayd
。
当命令行报如下:
# Traces will be output to tcp4://127.0.0.1:5342/ [data: 5343]
这意味着 lttng-sessiond
和 lttng-consumerd
进程将与监听 127.0.0.1:5342
控制消息和 127.0.0.1:5343
跟踪的 lttng-relayd
进程通信数据交换。在本例中,查看器 Babeltrace2
可以连接到 lttng-relayd
进程的 live
端口以流式传输实时会话。您可以深入查看组件图 here.
默认实时端口为 5344,lttng-relayd
进程的默认行为是绑定所有接口以进行侦听。如果指定 none 与 lttng-relayd
进程通信,Babeltrace2
自然也会默认使用该端口。
有关详细信息,请参阅 lttng-relayd 的手册页。
What have I done wrong here?
在您的场景中,您需要通过隧道连接 5344 端口。请注意,我不精通 ssh 隧道,因此我无法在此处验证 ssh 方法。
ssh -L 5344:${A_IP}:5344 -N user_name@${B_IP}
What is the standard way to "forward" LTTng live tracing events to be viewed by babeltrace2?
Babeltrace2
和 lttng-relayd
使用 TCP 进行通信。因此,这里可以接受所有 TCP“转发”方法。您可能已经注意到,LTTng 不会以任何方式加密通信和跟踪数据。如果您需要在不受信任的网络中移动数据,我会说在这里使用 ssh 隧道是合适的。