All script names must be unique. Just like all .ind filenames must be unique, so does the script name (#! META). Example below:
What happens if there are duplicate names? Unpredictability. Indeni will choose just one to run. We’ve also seen instances where it can cause more issues with metric collection and subsequently no alerts.
How did we know that there were duplicates? This sample below is from starting up the collector service and tail’ing the /usr/share/indeni-collector/logs/collector.log file. This can also be found when running command runner against a directory with multiple ind’s.
ERROR [2017-11-08 09:07:57,841] indeni.collector.knowledge.KnowledgeBase: More than one command (2) appears with the name "nexus-show-inventory"; one of these commands is arbitrarily chosen to be used ERROR [2017-11-08 09:07:57,841] indeni.collector.knowledge.KnowledgeBase: More than one command (2) appears with the name "detect-management-interrogation"; one of these commands is arbitrarily chosen to be used ERROR [2017-11-08 09:07:57,841] indeni.collector.knowledge.KnowledgeBase: More than one command (2) appears with the name "policy-fingerprint"; one of these commands is arbitrarily chosen to be used ERROR [2017-11-08 09:07:57,841] indeni.collector.knowledge.KnowledgeBase: More than one command (2) appears with the name "nexus-license-usage"; one of these commands is arbitrarily chosen to be used ERROR [2017-11-08 09:07:57,841] indeni.collector.knowledge.KnowledgeBase: More than one command (2) appears with the name "ios-show-version"; one of these commands is arbitrarily chosen to be used.
Because most of us pull from staging (non-compiled) we have the ability to verify if a name is a dupe. However, it becomes trickier when working off a branch off from master. Feel free to share tips and tricks how to avoid this.
<!--[if !vml]-->
<!--[if !vml]-->
<!--[if !vml]-->