Streaming Telemetry: a push based alternative to SNMP with cusomizable data collection and output format.
Streaming Telemetry offers a high performance, push based alternative to SNMP that's independent of a MIB. Using tools on the device or a web based GUI users can map CLI to relevant telemetry paths to retrieve information at incredible granularity. By default streaming Telemetry sends JSON over TCP, but the transport and encoding format are entirely customizable and sample code is provided to pass JSON or Google Protocol Buffers over TCP or UDP to a LogStash receiver. Once in LogStash, or another reciever, data can be processed or reformatted for a variety of monioring, alerting and visualization tools and examples are provided using the Elastics Search, LogStash, and Kibana, as well as Signal FX and Prometheus.
IOS-XR supports hosting linux agents for management and monitoring.
IOS XR's control plane is an application running in an 64-bit X86 linux environment. 3rd party applications can be co-located with IOS-XR or run in a separate Linux container. Cisco provides a build environment for co-located applications running concurrently in on our Wind River LInux 7 distribution, documentation for container based applications that support your distribution of choice, and a variety of tools to enable a continuous Integration pipeline with a network device.
With IOS-XR 6.0 monitoring and management workflows established in the datacenter can expand to transport, the edge, and WAN with ease. A test framework suitable for device configuration and application testing is provided using ServerSpec.
IOS XR supports the use of a device level API, IETF and Open Config Yang Models
Programmatic access is provided via JSON RPC or NetConf. IOS XR supports IETF YANG Open Config YANG, and directly to SysDB via Cisco's Machine-to-Machine interface. An open source project, YDK, is available to transform YANG models into a library in the language of your choosing. Python and C libraries are provided for current YANG Models and more libraries are on the way. A Go libarary is provided for M2M Api.