# Cisco model-driven telemetry (MDT) input plugin for IOS XR, IOS XE and NX-OS platforms [[inputs.cisco_telemetry_mdt]] ## Telemetry transport can be "tcp" or "grpc". TLS is only supported when ## using the grpc transport. transport = "grpc" ## Address and port to host telemetry listener service_address = ":57000" ## Grpc Maximum Message Size, default is 4MB, increase the size. This is ## stored as a uint32, and limited to 4294967295. max_msg_size = 4000000 ## Enable TLS; grpc transport only. # tls_cert = "/etc/telegraf/cert.pem" # tls_key = "/etc/telegraf/key.pem" ## Enable TLS client authentication and define allowed CA certificates; grpc ## transport only. # tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"] ## Define (for certain nested telemetry measurements with embedded tags) which fields are tags # embedded_tags = ["Cisco-IOS-XR-qos-ma-oper:qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics/class-stats/class-name"] ## Include the delete field in every telemetry message. # include_delete_field = false ## Specify custom name for incoming MDT source field. # source_field_name = "mdt_source" ## Define aliases to map telemetry encoding paths to simple measurement names [inputs.cisco_telemetry_mdt.aliases] ifstats = "ietf-interfaces:interfaces-state/interface/statistics" ## Define Property Xformation, please refer README and https://pubhub.devnetcloud.com/media/dme-docs-9-3-3/docs/appendix/ for Model details. [inputs.cisco_telemetry_mdt.dmes] # Global Property Xformation. # prop1 = "uint64 to int" # prop2 = "uint64 to string" # prop3 = "string to uint64" # prop4 = "string to int64" # prop5 = "string to float64" # auto-prop-xfrom = "auto-float-xfrom" #Xform any property which is string, and has float number to type float64 # Per Path property xformation, Name is telemetry configuration under sensor-group, path configuration "WORD Distinguished Name" # Per Path configuration is better as it avoid property collision issue of types. # dnpath = '{"Name": "show ip route summary","prop": [{"Key": "routes","Value": "string"}, {"Key": "best-paths","Value": "string"}]}' # dnpath2 = '{"Name": "show processes cpu","prop": [{"Key": "kernel_percent","Value": "float"}, {"Key": "idle_percent","Value": "float"}, {"Key": "process","Value": "string"}, {"Key": "user_percent","Value": "float"}, {"Key": "onesec","Value": "float"}]}' # dnpath3 = '{"Name": "show processes memory physical","prop": [{"Key": "processname","Value": "string"}]}' ## Additional GRPC connection settings. [inputs.cisco_telemetry_mdt.grpc_enforcement_policy] ## GRPC permit keepalives without calls, set to true if your clients are ## sending pings without calls in-flight. This can sometimes happen on IOS-XE ## devices where the GRPC connection is left open but subscriptions have been ## removed, and adding subsequent subscriptions does not keep a stable session. # permit_keepalive_without_calls = false ## GRPC minimum timeout between successive pings, decreasing this value may ## help if this plugin is closing connections with ENHANCE_YOUR_CALM (too_many_pings). # keepalive_minimum_time = "5m"