二、开发分解:
2.1 交换机配置:
#
telemetry
sensor-group 10S
sensor path device/fans selection-nodes currentspeed index slot status
sensor path device/powersupplys selection-nodes index slot status
sensor path lldp/lldpneighbors
sensor-group 15S
sensor path ifmgr/interfaces
sensor path ifmgr/statistics selection-nodes indiscards inerrors inoctets name outdiscards outerrors outoctets
sensor-group 2S
sensor path device/cpus selection-nodes chassis cpuusage slot
sensor path ospf/neighbours
sensor-group 50S
sensor path device/base selection-nodes hostname
sensor path mlag/base
sensor path ospf/instances
sensor path route/ipv4routes selection-nodes age ifindex ifname neighbor nexthop vrf
sensor-group 5S
sensor path buffermonitor/egressdrops
sensor path diagnostic/memories selection-nodes buffers cached commitlimit committed_as free freeratio slot
sensor path ospf/interfaces
destination-group out_server
ipv4-address 服务器IP地址 port 54107 vpn-instance Mgt
destination-group zts
ipv4-address 服务器IP地址 port 55555 vpn-instance Mgt
subscription A
sensor-group 10S sample-interval 10
sensor-group 15S sample-interval 15
sensor-group 2S sample-interval 5
sensor-group 50S sample-interval 50
sensor-group 5S sample-interval 5
destination-group out_server
#
2.2 创建grpc_dialout.proto文件,直接把官网的内容复制粘贴进去grpc_dialout.proto文件中



2.4 centos服务器配置:
pip3.9 install grpcio grpcio-tools #按照所需grpcio-tools
python3.9 -m grpc_tools.protoc -I . --python_out=. --grpc_python_out=. grpc_dialout.proto


2.5 复制粘贴入口代码:

import grpc
from concurrent import futures
import threading
import grpc_dialout_pb2_grpc
import grpc_dialout_pb2
import json
# import os
# os.environ["GRPC_VERBOSITY"] = "debug"
# os.environ["GRPC_TRACE"] = "all"
# 定义服务类,继承自生成的 GRPCDialoutServicer
class DialoutServicer(grpc_dialout_pb2_grpc.GRPCDialoutServicer):
def Dialout(self, request_iterator, context):
# 处理流式请求
for i, req in enumerate(request_iterator):
print("Thread: %d, 消息索引: %d" % (threading.get_ident(), i))
print("Request:", req)
print("-----------------")
# 返回响应
return grpc_dialout_pb2.DialoutResponse(response="anything")
# 定义函数启动 gRPC 服务器
def serve():
addr = "[::]:55555"
server = grpc.server(futures.ThreadPoolExecutor(max_workers=4))
grpc_dialout_pb2_grpc.add_GRPCDialoutServicer_to_server(DialoutServicer(), server)
server.add_insecure_port(addr)
server.start()
print(f"gRPC拨出服务器正在上运行 {addr}")
try:
server.wait_for_termination()
except KeyboardInterrupt:
print("中断,现在退出")
# 启动服务器
if __name__ == "__main__":
serve()

三、数据可以拿到了,接下来就进行数据的提取和应用就好了