The DataMiner Teams bot comes with a set of out-of-the-box commands that you can use to interact with your DataMiner System(s). However, these commands only scratch the surface of what is possible. By creating custom commands tailored to your exact needs, you can get maximum value from this functionality.
Do you have a use case in mind for the DataMiner chatbot, but unsure how to create the custom command? Let us know in the answers to this question what you would like to achieve and we'll implement the 5 highest voted commands for you!
Thank you everyone for your contributions and hope you will all be inspired by the examples we built!
A custom command that returns the most important health KPIs of my DMS at any given moment: Tracking the health of a DataMiner System | DataMiner Docs
Hi Rene, we extended the script mentioned by Bruno with additional output so it can be used with the Teams bot.
Great news! Thanks Joey!
Trigger automatic log collection similar to Remote Log Collection | DataMiner Docs
Hi João, we decided not to pursue this as this is not (going to be) relevant moving forward.
What about a set of custom commands to notify/return status' on warnings, errors or failures from bpa tool as well as ability to run/execute bpa custom command checks
Hi Wil, I implemented a first version of a “BPA Info” command that returns the status of the last results of the BPAs that ran. You can find the script in the following repo: https://github.com/SkylineCommunications/SLC-AS-ChatOps-BPA. I’m still facing a NuGet incompatibility issue at the moment that I’m trying to resolve (latest status here: https://community.dataminer.services/question/automation-script-nuget-incompatibilities/)
Hello Joey, That is awesome, thanks for sharing the repo link!
noted re the incompatibility bug discovered, will keep an eye on the thread for that fix.
Thank you :o)
Regarding that incompatibility, there are more details already in the provided answers to that question I posted. In short, this is already on the roadmap to be solved in the future. For now, I have created a version of the chatbot command that will not run into this issue by changing the code slightly.
It would be great if you could ask the chatbot to print a list of all elements of a certain protocol for which a certain parameter has a certain value:
"Show me all AppearTV X20 elements for which the Authentication Status is set to 'Authenticated' "
or
"Show me all Microsoft Platform elements for which the "Poll Task Manager" is 'Disabled' "
Hi Koen, you can find a “first draft” of such command here: https://github.com/SkylineCommunications/SLC-AS-ChatOps-Elements
Custom command to view ongoing bookings and some metadata, such as booking status, service definition name, start/end dates.
This command will allow DevOps team operating with SRM in a easier manner from MS Teams and can use this real-time information in their conversations. For sure a great reply when someone asks "What events we have on air?".
This could be implemented with an MS Teams integration that posts a message in a channel when critical events starts or ends, keeping all the necessary users informed.
Hi Bruno, we have a few custom chatbot commands implemented in this repository: https://github.com/SkylineCommunications/SLC-AS-ChatOps-SRM. There are off course hundreds of possibilities so feel free to use these as a base to continue tailoring these to your needs.
From a customer perspective I think it would be great to be able to ask for the Driver Help, or any other available public documentation for a particular Connector.
Hi Flávio, we did not implement this chatbot command (for now at least)
Being able to send notifications to online users. Example: notify online users for an upcoming maintenance slot.
Similar direction/suggestion as to what Alberto De Luca suggested (via comments on other topic):
” #WhosOnLine might be a very common thing to check when connecting to support incidents”
So not necessarily only sending messages via DataMiner, but retrieving a list of online users, could really help to get the right operator on the line quicker.
Hi Jens, you can find such command here: https://github.com/SkylineCommunications/SLC-AS-ChatOps-Users
IDP commands:
- Start new Discovery
- Get managed devices
- Get unmanaged devices
- Start configuration backup
- Get elements not Software Compliant
- ...
I'd ask for "returnActiveAlarms" for cases when the chat is available but not the alarm console.
Perhaps a "returnConnectedUsers" could also help to coordinate during incidents
Hi Alberto, There is already a “Show Alarms” command available in the chatbot.
Though this one will show only the first 10 severe alarms as cards from the system.
Is your suggestion then more to visualize this as an overview of the facts/numbers? example: # Active alarms, #Critical, #errors, #Major, #Minor, #Warning, #Masked, etc. ?
Btw, I really like your idea about the “Return Connected Users” command. I think this could be a very simple but powerful use-case. Imagine with one command from your Teams app (could be from your mobile), you know immediately which operators/users are available on the DataMiner platform. If you need to ask something quickly, you directly know who to call or reach out to!
Yep, #WhosOnLine might be a very common thing to check when connecting to support incidents – haven’t been playing much with chatbot, but I’d love to get more exposure to the commands already available – is there any online version that can be accessed without necessarily integrating my system at the moment?
Hi Alberto, we have implemented your suggestion in the following repo: https://github.com/SkylineCommunications/SLC-AS-ChatOps-Users. It contains 2 distinct commands: getting an overview of the connected users and informing the connected users with a specific message.
That’s great news, Joey – looking forward to using this in our environment ^^
Trigger and report the system BPA's
Hi Hugo, we have implemented a command that can retrieve the BPA results in the following repo: https://github.com/SkylineCommunications/SLC-AS-ChatOps-BPA
Were there any services / devices / platforms which had alarm activity in the last X (last hour, last day, last 30 mins) amount of time? If so, can you create a Top 20 group the alarms by severity?
Being able to retrieve the results of my regression tests on the DMA. Also being able to see the available tests, and trigger them if needed
It would be great to have an automatic notification when an automated test fails. This way, a developer can immediately be notified and pick up with the rest of the team on the steps to fix it.
Return a list of active critical issue on the DMS
- Runtime errors
-DB connection loss
-Communication loss between agents
While there are general use cases, in my opinion it can be very individual and depending on the business and target users. Of course our custom commands allow almost anything to be implemented quite easily and efficiently. I would therefore say that it starts by thinking about empowering people in your organization. And as a DataMiner DevOps Engineer, I would be looking at empowering the people in my organization that typically would never access DataMiner through the classic UIs.
For example. I run a VSAT operation, and I want to empower my sales team with up to date data on some of the links provided to our customers (utilization, uptime, traffic volumes, etc. or other KPIs like billing status, credits, etc.). This way, my sales team can easily pull up to date information, easily and conveniently, in a very efficient manner without needing any training.
Or I could be looking at field engineers that don't have access to the core management platform, rather than calling a NOC to check on something, this can be translated into a Teams interaction. In fact, any e-mail or phone conversations going on today between teams are good candidate use cases to be evaluated. After all this is Digital Transformation, and it is about looking for opportunities to digitize processes as much as possible, increasing efficiency, hardening the security posture (Teams allows me to make data accessible wherever it comes from, easily and efficiently, but also in a secure standard manner).
But it depends on the environment (MediaOps, SatOps, CableOps, IoTOps, etc.), and the way the operation and organization is structured. Give me the upcoming bookings for the next hour, give me the RX power on the other end of the optical line, give me the number of bookings this month for this contract, etc.
Look at empowering all the teams, across the organization
Look at e-mail & phone calls asking for information
This place may not be suitable to post this comment, but better than forgetting to comment.
It was like I was dreaming that the Dataminer responded to me, just like ChatGPT, when I saw the ChatOps demo for the first time.
But the reality was that the ChatOps integration was simply triggering a specific script to create a specific response.
Because we are living in Generative AI age, I believe our ultimate goal of the ChatOps application is,
to make it for more generic purpose AI engine integration, rather than a script per purpose.
ChatOps team developper doesn’t have to create scripts for purposes, but instead Generative AI engine generates responses by itself.
I’m not talking about AI prediction, but generating responses based on the already gethered information.
I know it is not immediately possible, and I don’t have enough knowledge about how much difficult to achieve it.
It might be very CPU or GPU intensive, and don’t know what kind of technologies are needed, Natulal Language processing, AIOps, LLM, etc.
But it should be worth for AI team to consider.
Hi David – this is on our backlog already, we definitely want to get this done as indeed there is also a very large portion of the community that prefers Slack. But we haven’t gotten around yet picking this up, so we don’t have an expected date yet.
- It would be interesting to interact with Collaboration, example use cases:
- Open/Edit/Comment Collaboration tasks including in the the descriptions field some bot command printout.
- Search for Maintenance tasks related with certain parameter/Driver - Step-by-Step Troubleshooting wizards
- Do this; did it solve?; do that , etc etc ... this will give great insights on most used troubleshooting flows and where we need to improve. - Request typical/Domain based driver parameters values to be used in Alarm Templates.
It would be nice to get the elements in alarm (critical) with a filter on protocol option. (f.e. dropdown menu of all the used protocols on your DMS)
If/When you get a list of the elements, that you can have the option to stop/pause the element or get the logs of the element immediately inside the chat.
Where can i get some help on DataMiner?
Please provide me the steps i need to take to start a new integration into our DataMiner platform.
Hi Jeroen, you can find more info here: https://docs.dataminer.services/user-guide/Cloud_Platform/TeamsBot/DataMiner_Teams_bot.html#adding-custom-commands-for-the-teams-bot-to-a-dms
For how long has [this service] been in critical state over the last X amount of time?
Or
from [start date /time] to [end date / time] show me the alarm state statistics for [this service] or [this element] or device with mgmt IP .....
Create a dataminer dashboard (based on a template) that will be shared with the people that I specify in the command (via tagging) and will include the dataminer objects that I select.
Something like:
Share Status dmobject1, dmobject2 with @person1 @person2...
It would be nice to be able to ask for the top 10 most severe elements or services (number of alarms / severity of alarms) of the last 24h / week / month
Great use case for this automation script: https://github.com/SkylineCommunications/SLC-AS-DMSSanityChecks