21. Network Subscription
Next important topic we have about the network subscription. Let’s try to understand that how we can subscribe a service and obviously this particular section we have follow up section with the lab. So in the lab we’ll understand more about the subscription and how with the push method the telemetry works. So here you can see that the subscription is a contract between the subscription service and the subscriber. So subscriber is there and the service is there, correct?
Obviously we have the collector as well, where we can go and analyze everything. We’ll check this in the lab. So we have one complete lab and I’ll show you that how you can access the lab and how you can book the lab and perform the lab task. In the Cisco developer site, again we have the subscription and then the publication is there. The important point here is, and we have already covered this in the previous section that we have the Young model, we have a structured data and that’s the key. We’ll discuss this in the last slide.
For this particular session, the encoding method we have either XML JSON and the push method that we have can be periodic, can be on change. Let us understand more about this subscription methodology. So here you can see that it can be periodic, it can be on change. And there is difference between periodic and on change. In periodic we have regular cassandra sends a complete object set every time. Periodically you are sending the data on change. Something like whenever the change is there, whenever it is required, then it will send the data. So periodic you can see that certain time interval the data has been sent.
Now, either it’s a periodic or on change we need to subscribe the model event elementary. So you can see that we have the subscription and for subscription we should have the reply message as well. So let’s understand and one of the key points here, and you will find this all the time is that XPath filter, even whenever we have to do certain subscription, whenever we are doing the push methodology, we are using the XPath filter because XPath filter defines the data object to which you want to subscribe. Again, in the lab you will see that suppose if I want to subscribe high CPU or high memory and those type of information, then I can use the XPath filter to push those information. Okay? And again with the XPath filter. So first of all, here you can see that you have XPath filter and then you have the period. The period is in 70 seconds between push update containing the subscribed information. Great. Whenever you do the subscription, obviously you will get the reply.
So switch reply with the notification and the subscription ID. Here you can see N o TIF notification is okay and then the subscription ID. Remember, either this is periodic or on change. Both the cases, obviously you have the subscriptions, subscription ID. You can go and verify the subscription as well. We will see that how we can verify from the CLI. Again in the XML format you can see that we can go and check the MDT subscription that can be verified. Now, the second option we have is the on change subscription. So whenever it is required either a state configuration or Identifier, we are getting the on change subscription. In this example, the XPath filter related to CDP iOS and again with the dampening. So CDP enabled with XPath and dampening period, you have the filter, what you want to push means what information you need and then you are getting the notification and the subscription ID for that. Great. In the last section we’ll go and check this show telemetry IET of subscription.
All these results we are going to check in the lab section. Now, again, we have the option to delete the subscription as well because you don’t want that information to push all the time. So you want to delete that. All right, so let’s see the key difference between the telemetry and the SNMP. And these differences are actually the benefit and this is actually huge. So you will see all the points, seven to eight point. We have 1234-5678 points listed here and in these eight points it is clear that why we should prefer telemetry over SNMP. So here point number one. Device is stream data based on specified frequency or upon a state change. So we know that we have the periodic we have on change. So it’s not like SNMP that all the time you are pulling the information rather than you have the push method that is lightweight to the process and cycle. While this is lightweight or why this is light on the device, you’ll see the reason as well. So data is sent as soon as it is available, reducing the need to buffer.
Again, in SNMP we have certain buffer time, maybe five minutes or 602nd. But here whenever data is available, it will be pushed. No single large request for all data, unlike SNMP polling send incrementally that’s again the key so you are not sending. So for example, all the data that you can think like Rift versus USB rip is sending the entire data routing table between the system particle, they are sending the updates something like it’s lightweight sending the incremental data rather than sending everything. The ability to distribute the telemetry source subscription request that we have discussed earlier. Again, the key important point here is the well structured common format that is based on the young. It is secure, authenticated, reliable channel. These are the important key features we have in the streaming telemetry and we should encourage more to the streaming telemetry rather than the SNMP. Now, again, in the lab section I’ll show you that over GitHub we have all these young models. You can go and check the data models, their coding, etc.
Asset management system monitoring feature monitoring everything is there published as per the operating system as per the release. You will find all these young models in the you can see the below the GitHub link. If you are able to see that GitHub young model, young Premaster vendor you can go and check that even I’ll show you that as well in the upcoming lab section. Again if you want to learn more and more about Cisco cisco Def Net cisco is providing the Sandboxes and labs as well in the videos documents. This was providing so many documents related to iOS XE. Because remember, the iOS XE is not only a tool for the routers now WLC also uses iOS XE switches also uses iOS XE DNA switches, DNA routers they are also using iOS XE. Some of the IoT device also have the iOS XE. So this iOS XE is a key. Maybe in future you’ll find that most of the infrastructure element they are using iOS XE devices. All right, so let’s stop here and next section will perform the lab task.
22. Model Driven Telemetry Lab Devnet
Welcome to the lab section. Now here you can see that I can go to the DevNet sandbox Cisco. com. Here you can see that we have the iOS xrv 9000, the DevNet box. That means we have the service where we can perform the task. And actually I’m looking for the CSR thousand V. Now the question here, that how you can book this lab, how you can reach to this lab. So for that now you can go and check developer Cisco, learning models. Just go there and search the learning lab for iOS XE. The same lab that you are able to see here. Enabling telemetry on iOS XE. Then you get the lab. In this lab we have six section. One is the summary. So enabling telemetry on iOS Xi straight as troubleshooting tag MDT docker telegraph influx TB. We’ll discuss more in this lab. You can go here. Once you reach to this place, you will see that you have the previous site, that introduction of model. Already we know that what is modeled elementary and how it works. But for the lab section, if you go and click to this link, this model driven elementary sandbox, you will reach to this place.
Now once you reach to this place, what you have to do that at this place where you are seeing the activate, you will get a reserve option. So you go click here reserve. And after maybe five to ten minutes this will become activated. Now activation means that you can go and use this lab. Now, once you have this get activated, then here you have this output. Once you click the output, then you will get the information for any connect. So here you can see the VPN information, what is the user name, what is the password. So I need to go and connect to this VPN. Then I will be able to log into the devices and perform the lab task. Correct. So let me quickly go there and do the VPN connection. All right, so I’m connected with my VPN and then the device detail. Here you can see the username and the password. So what I can do here, I can go and connect with these username and the password. Let me go and create one folder telemetry and inside that I can go and connect with the username and the password. So what is the username that we have?
Let’s go back and check that. So one IP, we have 10, 10, 20 that time and restored and then 1010 250 for that username and password is different. Let me type the password. Let me try to log in. All right, so we are almost there. Let me check the username and password for the definite box. That is 2050, developer and Cisco. One, two, three C in a small. So one place. C is in cap. One place that is in a small. So now we are inside the CSI device and inside the server. Correct. Let’s follow the step that we have in the lab. I’m going to follow the same steps that we have so we can go here. Once you logged in what you want to do that, you can go and do the configuration related to Telemetry. So telemetry IET of subscription encoding. And then this is important. This is the X Path filter where I want to check the CPU iOS XC operational CPU usage utilization five second correct. Likewise, you can go and add multiple XPath filter, CPU memory and any other type of XPath filter, whatever information you will feed it here you will get to the publisher.
So whoever is the server where you are collecting the information, you can get the information. Now, there are different type of servers in this. We are using the Cisco lab server. But in production you can check the elastic and inside elastic. So once you go and check that elastic elastic, you have multiple options. We have Kafka as a messaging server, but there are Kibana where you can give the visual diagram and all you should have the database plug in. So what is the front end, back end? What is the messaging system? Everything should be connected. And then you have the elastic. But not only you will get the information about your telemetry, but you can see that you have the N number of things that you can go and check over the elastic. Okay? So have a look on Elastic, Kibana, Kafka and others and how you can utilize this in your production.
That also you can debate with your management. So now, what I want to do here that I want to subscribe this here you can see that I’m going to publish this at this IP with these port numbers. So let’s do the configuration over the CSR device. So I can go to my CSR device here and I can add those lines. Once we have those entries, then we can go to the next page.
So telemetry status and the troubleshooting. Once you come to this page again, we can SS show that you will send you the configuration. But we have these options, these verification options shortelometry IAT of subscription, all subscription, 10 one subscription in detail. So we can go and verify those. If you want to delete the Telemetry, you have that option, you can delete it as well. So let’s go and do the verification. So we can go and check the telemetry and IETF then the subscription. So we have the subscription and 10 one.
They know that subscription is 10 one in detail. So here you can see this is the server. That is where I am doing the publishing. And you have the Expath filter. You have the stream subscription ID, all the details we are getting correct. Now if you have any number of subscription, then you can go and check the brief as well, rather than checking all the subscriptions. But we have this option of all as well. All right, so once you go and verify the subscription, then what you want to do next, obviously we should go log into the server and we’ll see that the subscription that we have from the subscriber, what will be the outcome for that? Correct. So next what we’ll do that will go inside the server that’s the docker container we have. I have already logged in inside that we can go and verify it. So we can log into the server and once we are inside the server we can go and check the docker PS. Then if you want to go and log into the Tigmdt you can use the docker exit command.
So I’ll show you all these steps that is written here and then we can go and check the process as well inside that. So we have Telegraph, we have Influx TB, we have Grafana server okay, where we want to go and verify all these information that we are sending from the CSI device or I as executive device. Again we can go and check the telegraph conf and inside telegraph conf we can verify that the subscription is coming there or not. So let’s log into the server that we actually already logged in and perform these commands. So we are here and here I can go and check the docker. So we have the bastard message that is running. And then if I want to go inside the Tig, then I can go to docker and then exit that is Tig and Mgt we have inside Pin and Bash. So here you can see that we log to the MDT model Telemetry. Once inside that I can go and check the process. So we have the process that is running related to Influx TB, related to Grafana and Telegraph.
Now next we can go and check the subscription that we have done from the switch to here. Correct. So for that I can use this command that is cat route telegraph, telegraph conf. So I can show you from here as well. Or even if you want you can use more cat that is inside root and telegraph telegraph conf. Here you can see that the services that is coming from the Cisco MDT and the log file we can go and check from the inside the telegraph log. Just follow the steps that is given there in the Cisco developer page. Then we can go to the next where we have the telegraph log, we can go and check the telegraph log. Once you go and check that telegraph log then finally we can go and check the influx TB that’s the database and that will be the final thing that we want to do. Correct, so let’s go ahead and check the telegraph log and if you go and check the log so here you will get the information about the 1010 2030, the subscription about the high CPU. Now again if you want to see this in the database. Then again you can go and log into the database and you can check that. So next I can go to Influx, I can check Show Database and all these commands. I can go and actually run that. This command that you have in the bottom is some sort of query inside the database and that will give you the time and the count of the CPU utilization. So let me scroll down. We can go and check the database and all but when we’ll do the query, you will get the time and the count correct? So let’s login inside the database and let’s check the database and then we’ll do the query as well, correct?
So we’ll go to Influx type Control Z and then you can go to Influx that’s the database and you can check that here you can see this, even the Help page is also there which is telling that what is the correct command to run and the correct is Show Databases. So I should use show databases. Let me type here and then we can go and use the rest of the commands and the query. So I want to copy the query as well. I want to use the Cisco MDT. And then show measurements. Use committee and then show measurements. Create. Once we complete up to that, then we have the final step to do that’s, the query. So let me copy this as well show Measurements and here you can see we have CPU Uses CPU Utilization that we want to check here and then I can go and do the query.
So you have the query. Now at this point of time, maybe you are thinking that while we are doing all these manual steps, do we have any way that we can go and check the graphs and all? So the answer is this yes, we can use Kibana. You can go and check the elastic that I have already told you that’s a cloud based reporting system where you can go and integrate with that Kafka, Kiban and other servers where you can have your collector in that you can have the visual representation of whatever we have seen in the CLI. Now here, the main goal is this that what configuration you are doing from the switch.
If you are doing this configuration in the Collector, how you can go and collect those information. Correct? So now, this collector is also not very straightforward that in case of SNMP, you have SNMP server and there you are getting all the information and graphs. But you need some sort of collector who should understand the model driven telemetry, who should have the database, who should have the messaging system, who should have the log server. And if you need visual representation, then that particular database, log servers and messaging system should be integrated with the server where you can have the visualization. Okay, so do Search Elastic and Kibana and you will get good information about how we can do the visual representation of your telemetry inputs.