Solved

CommVault and Service Now Integration


Userlevel 1
Badge +3

Is anyone out there taking CommVault data and either pushing it to… or pulling it from Service Now?  I would love to take the reporting capabilities of Webconsole and put them into Service Now inside of my asset management space.  I’d love to be able to build a space inside of Service Now where my customers can get their most FAQ’d questions that they ask my team.  The biggest issue we are having in this is the lack of support for integration from CommVault itself.  Only since FP21 does CommVault allow multiple CommCell support but there is still no internal integration between CCID’s for a singular repository of “fact” that could then be queried against.  In fact the only way CommVault has gone on record to support this endeavor is to setup a MID server contact for each CommCell and then force me (customer) to support all of its integration.  

 

In my opinion, all of this could be avoided if webconsole was able to be integrated with Service Now where webconsole would do the work and Service Now would be the face… However… CommVault seems to disagree with me.  In my view an “Ask the Client” bottom-up approach is easier.  If I could send a simple QScript to the client where Service Now is actually controlling the -c variable I could make an interactive button for something as simple as “Check Readiness” returning a $string that could be stored by Service Now for a length of time.  Based off this I could also run a custom report such as %LastBackup%, %LastAuxCopy% and/or keep custom reporting for AUDIT purposes.  

 

What has been proposed to me isn’t integration between the two vendors but rather a brute force ask, ask, ask and ask approach to multiple commcells.  

 

Has anyone else ventured down this path?

 

 

icon

Best answer by Christian Kubik 10 March 2021, 20:07

View original

12 replies

Userlevel 7
Badge +23

Hey @AlanMChristensen !  I’m assuming you have already checked out the documentation we have for integration based on the above.

I’ll monitor the thread for feedback from anyone else responding and see if I can get some dev/products eyes here as well.

Userlevel 1
Badge +3

Hey @AlanMChristensen !  I’m assuming you have already checked out the documentation we have for integration based on the above.

I’ll monitor the thread for feedback from anyone else responding and see if I can get some dev/products eyes here as well.

The documentation is lacking in this area as this integration was rushed to market.. (even though it took a a full year) but more importantly my account team doesn’t understand my need for this integration to exist.  I spoke with the Aussies and drove home my vision to have a bottom up approach where the client already knows who it belongs to… only to rejoin the next call six weeks later to find out the “vision” from CommVault had completely changed.  I’ve asked the question what’s the difference between FP 14/15/16 and 20/21/22 that makes this “supported” and no one had an answer.  If it’s just about querying the MID servers x1 x2 x3 x4 why was this not supported in March of 2020 as I was originally told it was?  There is a lack of communication going on. 

 

Userlevel 3
Badge +3

Hi @AlanMChristensen,

I don’t know the history of your implementation and the challenges you have faced along the way, as well as I haven’t been part of any discussions around “how to implement best” - but I would really like to try to help you, so that you can get to your desired outcome and - eventually - get happy :) 

So let me please take a step back here and ask you - what do you want to achieve? I take from your post that you have a multi-commcell environment, and you would like to integrate with Webconsole (or Command Center I guess) to have SNOW trigger or execute tasks in Commvault. What I don’t understand yet is, what exactly do you want to do? Could you describe in a little bit more detail what the desired outcome is?
 

I understand you already spoke to our personalization team (I guess “the aussies” refers to them) - but as you said - there may be a lack of communication or to say it more positively - some room for improvement here. So although I can’t promise you to magically make all your challenges go away, I would still like to help you - and the better I understand what your requirements and your goal are, the better I can either help you myself our point you in the right direction.
 

Best regards,

Christian

 

Userlevel 1
Badge +3

Hi @AlanMChristensen,

I don’t know the history of your implementation and the challenges you have faced along the way, as well as I haven’t been part of any discussions around “how to implement best” - but I would really like to try to help you, so that you can get to your desired outcome and - eventually - get happy :) 

So let me please take a step back here and ask you - what do you want to achieve? I take from your post that you have a multi-commcell environment, and you would like to integrate with Webconsole (or Command Center I guess) to have SNOW trigger or execute tasks in Commvault. What I don’t understand yet is, what exactly do you want to do? Could you describe in a little bit more detail what the desired outcome is?
 

I understand you already spoke to our personalization team (I guess “the aussies” refers to them) - but as you said - there may be a lack of communication or to say it more positively - some room for improvement here. So although I can’t promise you to magically make all your challenges go away, I would still like to help you - and the better I understand what your requirements and your goal are, the better I can either help you myself our point you in the right direction.
 

Best regards,

Christian

 

 

Question 1.  What made multi-commcell implementations supportable in FP21 if all we do is query each commcell?

 

Question 2.  Why do I have to keep a massive repository of stale data inside Service Now when I could just be querying the CommServe directly?

 

 

Userlevel 3
Badge +3

Hi @AlanMChristensen 

again - I’m sorry to say so but I don’t know the history here. 

@1: Commvault Commcells are completely separate entities - of course we will need to query each Commcell if you want to work with multiple Comcells

@2: Sorry to say so - but I need to understand what you want to do first before I can even try to give you an answer here. But - what is keeping you from querying the Commserve directly? The Commvault Out-of-the-box integration may possibly not be what you are really looking for or needing ...

Userlevel 1
Badge +3

Hi @AlanMChristensen 

again - I’m sorry to say so but I don’t know the history here. 

@1: Commvault Commcells are completely separate entities - of course we will need to query each Commcell if you want to work with multiple Comcells

@2: Sorry to say so - but I need to understand what you want to do first before I can even try to give you an answer here. But - what is keeping you from querying the Commserve directly? The Commvault Out-of-the-box integration may possibly not be what you are really looking for or needing ...

 

The client knows what it’s commserve is… so if you were to query using the client it would know its own name and its CS name eliminating the need for almost anything else.  Say you wanted a check readiness button in Service Now you could just build a small script that took something like the hostname of the box and the CS name from the registry.  You wouldn’t need to account for any other variables other than what each endpoint already knew about itself… it seems way less convoluted.. 

 

Userlevel 3
Badge +3

As far as I know the Commvault integration does not have a check readiness button - but this should be pretty easy to implement. As you just said - the Client knows it’s own name and the Commserve. So you would just need to call this REST API (GET call… really simple):

http://WebConsoleHostName/webconsole/api/Client/{{clientId}}/CheckReadiness?network=true&resourceCapacity=true&includeDisabledClients=true&NeedXmlResp=true&ApplicationReadinessOption=1

To determine the clientId you could use the “Get ID” API :

http://WebConsoleHostName/webconsole/api/GetId?clientname={{clientName}}

These and many more APIs are documented at https://api.commvault.com

So what is keeping you from just using these APIs ?

 

Userlevel 1
Badge +3

As far as I know the Commvault integration does not have a check readiness button - but this should be pretty easy to implement. As you just said - the Client knows it’s own name and the Commserve. So you would just need to call this REST API (GET call… really simple):

http://WebConsoleHostName/webconsole/api/Client/{{clientId}}/CheckReadiness?network=true&resourceCapacity=true&includeDisabledClients=true&NeedXmlResp=true&ApplicationReadinessOption=1

To determine the clientId you could use the “Get ID” API :

http://WebConsoleHostName/webconsole/api/GetId?clientname={{clientName}}

These and many more APIs are documented at https://api.commvault.com

So what is keeping you from just using these APIs ?

 

My local account team says this isn’t supported.

 

Userlevel 3
Badge +3

Uhm… okay.. I don’t know who your local account team is - and again, I also don’t know any history here or what has been discussed previously. 

But once you “forget” about the official integration package that Commvault provides. Let’s look at what you can do:

  1. SNOW can call any REST API: https://docs.servicenow.com/bundle/paris-application-development/page/integrate/outbound-rest/concept/c_OutboundRESTWebService.html (Now this is the Paris release, but it’s not a new thing… )
  2. Commvault provides a REST API interface documented at https://api.commvault.com

So whatever you can do in combination of these two functions - SNOW calling a REST API - Commvault providing an answer - is up to you… 

Commvault REST API URL is tied to the Commserve - so you would need to store the related Commserve in your CMDB somehwere so that you can determine the URL to call - but Clientname should be short-hostname by default, and as long as you haven’t done anything special you don’t need to really know more than that. Call the “getid” API to get the clientid - then trigger a check readiness. 

I mean - okay… it’s not out of the box… but it’s not a very complex task to implement either if you are working on customization of your snow environment anyway. There probably are a lot of other external APIs you call as well for whatever purpose… 

 

Userlevel 1
Badge +3

Uhm… okay.. I don’t know who your local account team is - and again, I also don’t know any history here or what has been discussed previously. 

But once you “forget” about the official integration package that Commvault provides. Let’s look at what you can do:

  1. SNOW can call any REST API: https://docs.servicenow.com/bundle/paris-application-development/page/integrate/outbound-rest/concept/c_OutboundRESTWebService.html (Now this is the Paris release, but it’s not a new thing… )
  2. Commvault provides a REST API interface documented at https://api.commvault.com

So whatever you can do in combination of these two functions - SNOW calling a REST API - Commvault providing an answer - is up to you… 

Commvault REST API URL is tied to the Commserve - so you would need to store the related Commserve in your CMDB somehwere so that you can determine the URL to call - but Clientname should be short-hostname by default, and as long as you haven’t done anything special you don’t need to really know more than that. Call the “getid” API to get the clientid - then trigger a check readiness. 

I mean - okay… it’s not out of the box… but it’s not a very complex task to implement either if you are working on customization of your snow environment anyway. There probably are a lot of other external APIs you call as well for whatever purpose… 

 

 

I’ve asked my account team to reach out to you and see if you can help us build a bridge to a supported solution! 

 

 

Badge

Tight integration of CommVault console and Service Now will be a killer for CommVault.  

All companies will have a compliance need, where we need to have tickets opened for a backup failure.

 

if i can see that commvault automatically trigger a snow ticket and list those tickets back on my commvault console, it will be very cool.

 

Right now, we do this with scripting and obtain a failure report.  Commvault should develop this tight integration

 

Userlevel 3
Badge +3

@Kris Agree that there is always scope to improve integration. Just so you are aware of what can be done right now though, it is a bit better than scripting. With a basic Commvault Workflow configured against one or more alert to open/update Incidents in ServiceNow and record the incident details within Commvault. Couple that with a basic Commvault Custom Report then you can get incidents opened against the failed backup jobs. You can then have ServiceNow call Commvault to update the recorded status of that incident in Commvault if you wanted. Another thing customers do is have the workflow use the audit note on clients to record Incident details on the Client so they can be viewed in the console. Workflows and APIs :slight_smile:

 

 

Reply