问题描述
在此文档 A short introduction to Channelz 中,有一个名为 grpc-zpages 的网络工具可以方便地通过网页提供 channelz 数据。
但是,我们无法从此网络工具中找到任何 <script src="https://cdn.plot.ly/plotly-2.1.0.min.js"></script>
<!--this is dummy table....to replicate your datatable..-->
<table class="cell-border stripe dataTable no-footer" id="DataTables_Table_1" role="grid" aria-describedby="DataTables_Table_1_info">
<thead>
<tr role="row">
<th class="sorting_disabled" rowspan="1" colspan="1"> </th>
<th class="dt-right sorting" rowspan="1" colspan="1" aria->ID</th>
<th class="dt-right sorting" rowspan="1" colspan="1" aria->Name1</th>
<th class="dt-right sorting" rowspan="1" colspan="1" aria->Name2</th>
<th class="dt-right sorting" rowspan="1" colspan="1" aria-label="Petal.Width: activate to sort column ascending">Value1</th>
<th class="sorting" rowspan="1" colspan="1" aria>Value2</th>
<th> Lat</th>
<th> Lon </th>
<th>lab_DB</th>
</tr>
</thead>
<tbody>
<tr role="row" class="odd">
<td>1</td>
<td class="dt-right">1</td>
<td class="dt-right">A</td>
<td class="dt-right">b</td>
<td class="dt-right">10</td>
<td>20</td>
<td>23.6</td>
<td>23.6</td>
<td>blue</td>
</tr>
<tr role="row" class="even">
<td>2</td>
<td class=" dt-right">2</td>
<td class=" dt-right">A</td>
<td class=" dt-right">b</td>
<td class=" dt-right">2</td>
<td>7</td>
<td>23.6</td>
<td>23.6</td>
<td>blue</td>
</tr>
<tr role="row" class="odd">
<td>3</td>
<td class=" dt-right">3</td>
<td class=" dt-right">B</td>
<td class=" dt-right">b</td>
<td class=" dt-right">5</td>
<td>2</td>
<td>23.6</td>
<td>23.6</td>
<td>red</td>
</tr>
<tr role="row" class="even">
<td>4</td>
<td class=" dt-right">4</td>
<td class=" dt-right">M</td>
<td class=" dt-right">m</td>
<td class=" dt-right">1</td>
<td>2</td>
<td>3.6</td>
<td>23.4</td>
<td>red</td>
</tr>
</tbody>
</table>
<div id="tester" style="width:600px;height:250px;"></div>
数据。有人遇到同样的问题吗?
为了运行这个网络工具,需要对代码进行一些更改
zprox.sh
解决错误 function envoy_on_response(response_handle)
filter_name = "ENVOY"
response_handle:headers():add("my_Filter",filter_name)
end
-
注释
envoy_on_response() function not found. lua filter will not hook responses
的network_mode: 'host'
以解决错误start_docker.sh
-
用
替换docker.errors.InvalidArgument: "host" network_mode is incompatible with port_bindings
manual.GenerateAndRegisterManualResolver()
在 r := manual.NewBuilderWithScheme("whatever")
r.InitialState(resolver.State{Addresses: []resolver.Address{{Addr: ":10001"},{Addr: ":10002"},{Addr: ":10003"}}})
// Set up a connection to the server.
conn,err := grpc.Dial(r.Scheme()+":///test.server",grpc.WithInsecure(),grpc.WithResolvers(r),grpc.WithDefaultServiceConfig(`{"loadBalancingPolicy":"round_robin"}`),)
下
解决方法
请确保您已将 channelz 服务和反射服务添加到服务器。如果你的服务是一个客户端,你需要让客户端也有一个 grpc 服务器。调用服务器与通道连接后,即可获取相关数据。
grpc-zpages 不维护了,用起来很不方便。我建议使用 channelzcli 替换。