H3C交换机 Telemetry二次开发

一、官网开发指南地址:H3C交换机 Telemetry二次开发指南(Comware V7)-6W100-新华三集团-H3C

二、开发分解:
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()

三、数据可以拿到了,接下来就进行数据的提取和应用就好了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值