logo

NJP

CMDB Query Builder Queries & Reporting - Platform Analytics Academy - October 19th, 2022

Import · Oct 20, 2022 · video

[Music] thank you uh good morning good afternoon good evening wherever you may be thank you as usual for joining the platform analytics academy uh session that we have going on today uh hopefully it'll be some really good information for you maybe something new to you maybe something that you've done in the past or maybe just some tips and tricks sir or whatnot that you can get from the content that we're going over today um again as usual this is always for you and um we want to make sure that we can bring you fresh ideas and better understanding and practical guidance and things of that nature to you to help you along your journey and you know being able to do more inside of platform analytics uh this is going to be recorded or is being recorded and it will be out in the community later on this afternoon this evening it'll also be out on our YouTube channel as well later on this afternoon and this evening as well uh please feel free to ask questions if you can please use the Q a box I do have other panelists that are on that will be monitoring the questions and some of those questions will most likely be answered in the type form if they can happen while I'm presenting and then if there is something that is relevant to where we air where we are with the content the panelists May uh stop me and we ask that question then um so again just make sure that you're using the Q a if you can um refrain from using the chat for questions I mean obviously if you need to chat to someone else in the meeting you're more than welcome to do that but for questions let's just try to put those in the Q a and so Safe Harbor notice um again they're always uh could possibly be uh information that is shared that is forward-looking statements so please don't make any buying decisions on anything that we discussed today uh I just want to make sure that we put that out there so again my name is Thomas Davis and I am a host and actually presenter not panelist and I also have on uh ratika and she is a panelist as well but also a guru as it relates to cmdb so we have her on which is uh very exciting and I know that she'll have a lot of um information to share as it relates to questions and things of that nature I also have on Tara who is here now I know that Adam is on his way as well but uh thank you Tara for being here and Tara and Adam will also be panelists and they will monitor the Q a um as well so with that let's kind of get into what we're what we're talking about today so um this is a session that we visited a couple years ago um was our very first session on the C cmdb Career Builder and we thought that it was really good to talk about it again and and then also show it with the inline dashboard which is really great the way that this is working now very simplistic uh in my mind the way that the the two of these work together um so that's our thought today we're just going to go over a couple queries and um and we may be able to get to another one if time is permitting that we'll do uh perhaps live to kind of show you a little bit more of its power uh but again we just wanted to show some some queries and how to build those out and also make those work with the inline dashboard so just some uh information about the cmdb query Builder if you're someone that happens to be not familiar with it so they seem to be query Builder is something that really allows you to easily build complex infrastructure and service queries that aren't um that easy obviously to get to in the general sense of building a report or an indicator or something like that being able able to do it right inside the CMD seem to be seem to be query Builder and the things that you can access so cmdb classes and also non-cmdb classes things information like that is is really nice and it's a canvas so it's a drag and drop type thing and you hook some things up and you'll see that here in a minute but um there's a couple ways that you can actually build out queries there's a cmdb query and there's also a service mapping query so for what we'll do today we're just going to look at a couple cmdb queries uh I think we might actually plan another session where we get into service mapping queries a little bit deeper but for today we're just going to look at some CMV queries and again it's just a canvas that allows you to drag and drop and get to get access to some things that again you can't um very easily do within a report or if you're building out an indicator Source or something like that so um you can also do a combination query where you can actually take the cmdb query along with a service map mapping query and bring those together and uh and do some more fancier type things um so do them individually and also you can do them together um so there are uh relationship properties that really make um it's so much easier when you're actually in the canvas and you're doing uh certain things and this is just basically the way that the information that you're looking at ties together right so when you think about relationships it's like okay so when I drag uh this particular class out how does it tie together with another class or even a non-db class and what the relationships do is they give you the ability to look at first level maybe second level maybe it's a class where there's a parent and um and there's a child relationship so it gives you the ability and you'll see that here in a moment the ability to assign those relationships the way that you want um them to work based on your knowledge of the data itself so yes you would have to know a little bit about the way that the relationship Works um if it's a parent child if it's a first or a second level uh things of that nature but knowing that information when you get into the canvas you can actually set that property to be whatever you know that it's going to be and and again we'll look at those relationship properties um here in a little bit when we when we actually uh create something so the great thing about this that I find the most easiest about all of this is the idea of just dragging and dropping information onto a canvas so you're going to be able to see here in a minute where you can see all the different classes and we can click on one and we can just grab it and we can drag it over to the canvas and then we can grab another cmdb class or a non-cmdb class and drag those out and then actually tying those together hooking those together um but all of it is again the whole idea of the drag and drop really makes it um very powerful and again we'll we'll walk through that step by step and you'll actually see that uh here in a second so how do you actually get to the uh cmdb query Builder so if you go to navigate all under configuration you'll find the same to be Career Builder and and simple enough you you just click um open I don't know why do I have that there we go so here's our first example of building something so I'm going to go to the cmdb query Builder I'm going to open it up and I've decided that I want to look at any servers that has a database connection so I'm going to click create new and I'm just going to go ahead and name it you can name this whatever you want I've decided that I'm just going to name this all servers with a connection to a database and you can name it like I said whatever and I'm going to choose cmdb query uh CMD query and here's where we get to drag and drop so inside of my classes I'm going to look for server and once I find that I just grab it and I drag it over and then I also want to look for database so I'm gonna in the same place I'm going to search for database I'm going to grab that and I'm going to drag that over as well and now I'm going to hook the two of them up together so you click on your own one you actually click on the little box there and you click on the other one and now you can see that I have a line with the red asterisk that asterisk means that the connection isn't finished so I had to actually let me just stop this here for a second go back so you can actually see that um you'll see that I have to actually select a relationship so here what do we do how do we do that and things are quirky today I went way ahead sorry there we go let me move forward a little bit here stop there we go all right so here under add relationships types I'm going to select any relationship so I don't really care the way that the two of them uh have a connection um maybe they had a connection via a um yes this presentation will be uh it'll be in the YouTube so you'll actually be able to see it right in YouTube I saw the question come in so uh we're going to select any relation relationship type because we don't we don't really care if it's a parent child if it's connected via a CI we just want to go out there and look for anywhere that there is a server that has a database uh on that so we're going to go ahead and select any relationship and once we do that then now I'm going to select I want to look for a couple columns that are important to me so I'm going to click on server and then I'm going to add columns and here I want to see the manufacturer I want to see just what the what the name of it this could be anything any checks it went uh look at I'm going to save that and then I'm going to click run and now what it's doing is it's actually building out that query and here you can see if I pause it here you can see that I found um six servers that actually also have a database that is associated with it or a database that's on that server as well and I can actually see the manufacturers as well and you can also kind of get some information here about the type now these are just four columns there's a lot of columns of information that you can you can grab to look at if this is something that you need to look at uh but for just demo purposes we click the I quickly just wanted to show you that you can find servers that have a database attached to them and and that's what we have here so the next thing that I want to do with that information that I've created is I want to use that in a dashboard so what you can do is you can create a schedule and then you can also create a report so when you create a schedule it's just like creating really any other schedule and you'll see that here in a second and and basically we can set it up where we want that information to uh always be relevant so there's a couple different ways that you can do it for for the purpose of what we're going to do today it's going to be on demand but you can set it up daily and basically that means is it's it's daily it'll run this same query that we built inside of cmdb and it will look for that same information now one thing to always remember is that if you go back into the cmdb query Builder and you find that particular query that you built and you change that in any sort of way if you change a relationship if you add another column if you add another class you can address you could possibly drag another class out there that you want to connect up to it anytime that you make any changes that you have to remember that you need to go in and and create a new schedule because that schedule that's being created is only for as good as what the data is when you create it so if you enhance it do anything or you remove anything uh you will all you will definitely need to create a new schedule anytime um that you do that and then once you create the schedule then it'll actually give you the ability to um create a report off of it and you can see that report directly in the report Builder and also some other fancier stuff which we're going to go into now so what I want to do is I've already ran it and saved it I want to create the schedule so here it's going to go to a schedule email query Builder and you can name this whatever you choose and name it for this case I'm just going to copy what I have for the query and I'm going to name it and like I said for this demo I'm just going to do on demand but you can make this you can set the schedule up anytime that you want and then I'm just going to submit that once I do that and then I'll go back to my uh query here once we get there now that I've created that schedule and I've saved it and everything's working I'll actually now be able to create a report with that information now you can see the create report is available for me to select it so I'm going to click on it and you'll notice that it's going to open it up directly and the old classic report Builder UI and if you look at the data the name is there let me slow this down so the name is what I actually named the query that I built in cmdb and you can see for data sources that it automatically created a data source report Source whatever you happen to call it it automatically created it and that that is there available for me again remembering that if you use this data source you have to remember that if you decide to change the application uh or the um the query inside of CND query Builder you would have to make sure that you use the the newest uh reports that's report Source that's being generated as well but here you can actually see directly inside of the report um what's going on so for this case I'm just going to do I'm going to make a single score because I just want to see the count of them and once I do that I don't need to do anything under configure or style or whatnot and when I select run now you can see that those same six they're there for me and it's available now that's just a standard report now you could save that report and you could add that to a dashboard of your choice you could put it in a responsive dashboards you could put it you know wherever you want to or you could just have it have it as a report that you go to whenever you want to but with the inline dashboard and the great things that come with that I want to put it inside of a dashboard so I'm going to go to platforms analytics workspace and I already have a dashboard that is there available for me and I'm going to add a new element and I'm going to select a data visualization and then I'm going to choose a there we go I'm going to choose a single score but I'm going to go into and configure that and once I'm there like I said I'm going to choose a single score I'm going to go ahead and give it a name just so I'll know what it is um and there's a lot of great features inside of this and you'll see down there at the bottom I've given the link to it an academy session that we did that really went over these things in great detail but here I'm going to add a data source and I'm going to search for that same one that I created and it's going to pop up there for me so to me that is really amazing that I can get to it directly now from the dashboard and there it is right there and I'm going to select it and then there you can actually see the line by line I'm going to add this data source and now you can see that I have a um I'm going to go ahead and save it and exit editing mode and you'll see that I have my single score with that particular number which is six and also now I can click into those and look at those details the same way that I did inside of the cmdb query Builder so this is um you know there's there's a great question that came in that Dima asked and and how is this different from a database view so rutika I I'd love to hear your response on this but I'll give my my response on this so obviously if you're if you need to create a database view um and in theory this is basically doing the same thing it just gives you the uh canvas with the ability to do that but it's also it doesn't require the same permissions that's required in order to create a database view uh data in in order to get to database you have to be an admin so you know this does not require you to uh be an admin to get to the cmdb query Builder um and I believe that I actually showed those in a earlier Slide the permissions that are actually needed to get to that but in in theory yes high level it is basically giving you the ability to create that database view um directly inside of a canvas so ritika or even Adam if you want to speak to that a little bit more and you're more than welcome anything yeah I think this is me to hide some of the complexities of the cmdb schema for the user so you don't necessarily need to know um how the cmdb schema is laid out behind the scenes whereas if you were to construct a database view you have to know exactly which columns which tables what references what and all of those details right so a lot of those details are hidden from you through this UI so all you need to do is whatever is the structure of query in your head you'd rather drop you've set some properties and it does that heavy lifting for you right great great point you know and unless you knew the the joins and all of that stuff and the tables and all the stuff required to build the database view out this this really gives you it takes all of that complexity out like Ortega said that's that's a great point so any other the other thing to add in the other thing to add is performance um the way this is database views are all done real time which if you're looking at millions of Records can be a bit painful um are performance wise but here we can schedule the job right we can have it run once a day once an hour when I'm looking at millions of records and I'm traversing through multiple relationships of depth it's something I need the right answer it doesn't change very often um and you know the results from from half an hour ago are perfectly valid now and I can get and I can put them on a dashboard get them and seconds rather than having a dashboard coming up and waiting for a few minutes right similar to how we do things with like same to be Health where we're able to process stuff get the results you could do it with some database views but you're just the the design experience is so much easier so much nicer so much more modifiable the permissions of it are all those things and performance it all goes better that if I'm querying cmdb I want to use Query Builder before query Builder we had to do it with database views and we built query Builder because that was hard right we addressed a lot of the main issues we had with doing it with database views I'm pretty sure most of what we do with query Builder most not all you could have done with a database view particularly in the first versions but I think it continues to get better and better and make it easier to do more powerful things without having to do um without having to work with the fun of database views very great Point Adam and I think the other thing to understand too is that um this doesn't necessarily become a replacement for database views because everything that you could potentially do with a database view doesn't necessarily mean that you have you can do the same thing inside the cmdb I think the biggest thing is configuration management knowing knowing what's available inside of their um determines really what you can you know build a query out to but um but great points uh Adam and repeat of both so thank you for that um so again I think the the couple a couple quick takeaways we're not done I have some more to show you but I think just just the idea of the way that the new um you know platform workspaces analytics workspace Works house how really in my mind the few list clicks that you have to do to utilize a um report source is is pretty amazing to me I know that when we did this uh a couple years ago we were we were able to use that same report Source but we we used it inside of the indicator source and then attached an indicator to it and did all of those steps so it was still available before I just like the less steps that you have to do here doesn't require an indicator Source I mean you can find the Rapport Source uh directly here which um makes it you know pretty amazing to me so uh with that let's let's do another one let's let's see what we have next here so now I want to look at um application services that have a business criticality of one which is most critical so again I'm going right back into the cmdb query Builder and I'm going to go ahead and create a new one and again you can name this whatever you choose I'm going to name mine all critical application services and um and actually played around these names a little bit as we go further but here I'm going to search for application service and I'm going to take that and I'm just going to pull that out now in in the case of what I'm doing here there's only one class that I need for what I'm trying to do another great thing about is you can apply filters directly to the class right here so I clicked on the funnel and I'm looking for business criticality and it's one and I have that selected and then I'm just going to add a couple columns I want to see the business criticality to know that it is a one and then also I'm curious about who owns it that way if there's not an owner on it and it does have a criticality of one I should probably look at that so here very simple and I'm going to go ahead and run this one as well and then I'll be able to get the results uh directly and if I stop this because I would do kind of move fast so here what's cool is now I've been able to find application services that are critical and I can see that I have four of those that don't even have an owner that's probably not a really good idea now this is demo data I know that none of you would ever have an application service that didn't have an owner so you don't have to worry about that but uh here I'm I have four of them and that's something that probably should um be fixed another thing to think about is that application service and a business service really tie closely together and there's a relationship that can be created between the two of them there is a um a script or a job that actually can be ran that can basically say I want to look at all of my um business services that I have out there and I want to create application services off of that um so again if you don't have a whole lot of application services but they're tied closely to your business service so there is a process where you can actually just basically mirror the business services that you have but in this case this is something that you know I don't know maybe there's value to it um for some of you that are on the call maybe it's something that you you've thought about but it's just another way real quickly of showing the ability to drag a class out and also apply now some filters to it and get the data that I'm looking for and again we can do the same thing uh with this we can create a schedule obviously name it whatever you want again and um and remember if you if you make any changes to that you'll need to create a new schedule again I'm only doing on demand for the the purposes of the demo you can make whatever uh you know you run it however however often that you want uh and then I can go back into it and then I can actually create a report off of it which I do again this is I mean it's it's very repetitive at this point and then once I do all of that then I'm going to do the same thing and I'm actually going to pull it over into um my dashboard and again the name pulls over again I'm going to do you know just leave it like that and there's that information and I actually left it as a list this time um and again when I go over to um platform analytics workspace and I go back to my dashboard uh I can add which is already over I can add this one as well I did have to uh change some names here but none of the content changed uh and I'm going to add that elements that same data visualization and I'm going to go and look for my report Source um once it loads here I'll go ahead and give it a name critical application services and then I'll find my data source and I did actually change my data source here it is the same one but the name may look different than the previous um and once I find it then I can drag or I can click on it and now it's added um as well so very simple way of adding now to data visualizations to my inline dashboard of content that I created from inside of the cmdb query Builder save it we'll exit and then again I can click directly into that information and access it so I can actually see that so real quickly what I'd like to do let me look at the time here or let me see are there any questions that we need to answer do we need um you're seeing the question is there any that you think we should answer out loud here yeah I'm going through them okay well let's just kind of just start here and we'll see what we can do so um can any anyone with the idle role can access the schedule so we have a role specific to this which is the cmdb query Builder uh role I can verify and see if ITIL users automatically get that rule or not and I can I can get back to you on that that if we look at this so so right here so the role required is the uh to create it would be cdb query Builder and also you want to report user because they're going to look at have the ability to look at reports so as long as you have the CB cmdb query Builder you can create a schedule and and I think one of the goals with ITIL i i i ital gives me a lot of heartburn because it's a pretty big hammer um I think what you'll see with most of what we have including this with report user um and the query Builder user that the groups that have this we want to put you in control do you want to have all your ITIL users be able to do this then just have ITIL inherited you can add that in but we don't want to force you to give access to everybody to do everything right so I I think you'll see a lot of cases where you may want to add in the role up to you you know up to you and your organization or you can have a group that has just this or add this into your group or however you want to handle it um but I I want to make sure you have the full control which means that some of the functionality we talk about in these Academy sessions whether it's creating function fields in the report designer or or it's doing this they don't all come by default for all I tell users so it's something to be aware of and then and I want you to make the choice what you want your cut what you want your users to be able to do I don't want to open everything to everybody um just because I think it's good I want to make sure you have that control and it's it's safer for you to add in inheritance for roles than for you to remove them correct thank you Adam so I think what I want to do um real quickly because we did have a question that came in uh and ratika's actually typing it but I think that I'll just demonstrate it so um I think what we'll do is when we look at the the same critical um services that I did a question came in and said can you can you look at incident problem change whatever can you attach that information to it you absolutely can and I think that let's just do that here so one thing that I want to do is here I was looking for business criticality of one I'm just going to go ahead and remove that that way I can get uh all of them but let's see if we have any incidents that are tied to an application service so incident is going to be under the non-cmdb tables so I'll just search here for incident and it'll take its time there we go so it's fine incident and I'm going to drag that out and what I'm going to do is I'm going to create a connection between the two of them and for this I basically want to click here on the actual connection and I'm going to do it by configuration item and if there's any incidents then I should be able to and I want to convert attached nodes to patterns so I want to make sure that there if whatever patterns that there are let's let's make sure that we catch all of them because they're Ci's that are connected directly to an application server in that same CI may be connected to an incident so we want to make sure that we get that same um connection there so if I run this let's see if we can actually see if there's some incidents that are related to um the particular application services so yes not many but what we have found is there's two application services and their business criticality is three but there are two incidents that are related to them let's take it a step further let's see if there's actually any change requests that are related to them as well so now I'm going to drag that out as well and I'm going to go ahead and hook that up to my application Service as well and it's basically saying okay for every application Services is there an incident and a change request um and again we're going to look at all of those and we'll look at configuration item again and let's run it again and see what we get hopefully there is a change request that is associated with one as well as an incident and our results are coming in we do so here we can see that these particular application services not only have an incident and there's some repetitiveness here that not only have an incident that are associated to them but they also have a change that is associated to them and these change request numbers some of the most there's only a couple of these that actually repeat so all of them in there twice now the other thing that you could do is you could change your and statements to an or is there an application service that has an incident or change requests rather than both let's run that and see what happens so here we go so now we can see some application services that some of them have an incident but don't have a change request and some of them just have change requests so again really good information that if you were trying to do that maybe in directly in a report or directly inside of an indicator may be tough for you to actually do that but the cmdb query Builder gives you the ability to do that um on the Fly I mean just dragging and dropping uh so again I think that just the Simplicity of it is really um invaluable so I think someone asked that question you know can you attach those and here you can see that we have done that uh where we've looked at both an incident and a change request or an incident uh or a uh change request and you know that it could be the same thing for a problem or request or anything like that you know if there is there if there is a relationship an association somewhere then cmdb Career Builder gives you um the ability to to look at that so let's see before I get to takeaways um and I don't know are we looking at questions we're taking you're answering one and feel free you can answer those out loud if you think that there's more value for everyone let's see here uh how is it we already did that one uh do we need to repoint the data source of a data visualization as when we update the query I remember from my old memory that this was one of the limitations is there's still a limitation or not anymore well I think we talked about this a little bit earlier so if you change anything uh within the report source um with within the query and it is a you're utilizing it as a rapport Source then yes you will have to update that um information and retika maybe you can help me um with that because I think that that question kind of goes a little bit further here so I think it's it's basically talking about at the data visualization level so if you have a query that you've created and you've decided to use that as a rapport Source you create the schedule and now the report source is there if you change that query and you create a new um schedule report but you use the same name will that will the data visualization itself automatically update I think I know the answer to that because I think there's some sys IDs that are created with each one of those uh schedules that are created but is am I saying am I saying it correctly yeah I think my understanding is that when you update a query then um essentially the next time that query will run based on the schedule right that's when you you'll see the changes in your report as well and if your report uh is relying on certain columns which you had earlier which you don't have right now or whatever then obviously it'll impact that report right right but um other than that I think it should work like you yeah this was a limitation before because we created the new um the report had to reference the latest run right the the table that's created contains all the old runs or some of the old runs of data um but I believe we have a function that does that that gives you the latest run and and I thought that what happens is if you add a new field We'll add a new field but um uh uh as ritika said that if you remove a field then we have a problem but if you're adding new Fields it'll be fine and I think this is where we come into um uh I know one of the sessions we did before where you can uh add labels so you can relabel stuff um yeah to come through but if you're adding new Fields you're fine if you're changing the data but the field stay the same I believe you're fine um but but that was an issue before that was an issue seven releases ago in the first couple versions um that you had the report had to name the run and now I'm pretty sure there's a dynamic function which just says give me the latest data that it will um but you need to make sure that your report does have that call okay so so then if I'm understanding correctly because I think that I may have misspoke earlier in the presentation that you're saying if you schedule if you you create your query and you schedule that or you create that schedule for that if you go back into into the query and do something that the schedule would automatically pick that up yeah when I go to the next time it runs right okay yeah it's worthwhile checking right to go through because I think there can be some things that uh if you dramatically changed it I don't exactly know it's going to do to your report if you you remove the tables and change them um but I believe it's adding new fields to it so most changes I think are fine but you definitely do want to take a look at it and go check your reports and make sure I run it make sure everything looks good I'm just going to try it here real quick just so we'll actually Okay so so server so if we try just changing uh well we can add a column or we could change the the relationship I think those things should all be supported um if you you know if you remove server one and you put in something else then I I don't exactly know what you're going to get but also it should break at that point in time right yeah yeah I just wanted to make sure some manufacturers there let's let's add a column for database here and see if we can get let's just do I don't know let's do manage slide maybe it's there maybe it's not we save that and we run it I know that it'll give us the column here I'm just curious once we probably picked a column that didn't like maybe and going back this is one of the reasons why we don't use the database to use for everything because it's one thing if it takes 30 seconds um in a job where I'm not waiting for it it's very different if I was waiting for the dashboard to come up and it needed to run this query three times yeah my session they had timed out as well but that's a good question I think that what I'll do for the purposes of this is I will actually um I'll create that I'll try to create that and um and try to break it or make it work or whatnot and then I will put that inside of the community blog to kind of let everybody know the way that it works so um I know that we have some questions and and um ratika is um working on that so the other one the the data source I will I'll put something inside of the community event that'll actually let you know whether or not that uh that works have you so a couple things and then we we have some time we may have some time unless we have more questions so I think the takeaway from this uh there's a couple takeaways so uh one it gives the ability to create you know dynamic queries for reporting and performance analytics platform analytics um it is an alternative to database views although they're not the same and although there are differences if you're someone that doesn't have that access and but you know what you're trying to do cmdb uh query Builder can do that for you um and again you would not have to have admin in order to create this and since you can get the you can generate a report Source off of it which I think is always great is it gives you the ability to apply some governance like if you if this is a report source that you know is tried and true this is the way that you everybody wants things to be then this is information that you can give out and know that when you do make changes to it that it's all one sort of source which is which is really what's great about report sources no matter where you use them is the ability to really we put a lot of governance through the report Source itself so there are some some links that are out there there's a lot of information inside of the doc site as it relates to cmdb um and then of course building things out creating things the the way that it works with uh platform analytics the way they're and again I've referenced the two uh Academy sessions that we did for Tokyo when we talked about platform analytics and the data visualizations and things you can do there but they're like I said there's just a slew of information that's inside of the docs around uh all the things that you can do with cmdb again we didn't show the service mapping query I think that that's going to be another Academy session that I'm going to create where we'll do just that type of um query to see what we can do with that as well but if that's something that you are interested in just know that you can go to the docs and there's great information about service mapping uh queries as well so um let's see what this question over Tico could these potentially cause timeouts if the pool is large similar to PA Behavior I think that that's probably a question that's worth saying out loud uh because it's probably something that everybody's curious so Brazil whatever you were getting ready to type the answer if you want to share that and I'm sure that um Adam always has something to say about uh long-running things so we'll see if he has something as well but ritika what were you getting ready to type yeah I was going to say that like I had mentioned earlier there are limits under the hood uh in the cmdb query Builder so how many results are spit out for a query you also do like some batching under the hood so there are some like uh safety knobs in the implementation but that being said if your database is very big if there is any table which has really huge amount of data that is getting shown through if you set up very complex filters depending on how the indexes are playing out you could definitely run into queries which are long running right so that's always um that's always the case yeah so I think that that's I'm sorry I didn't go ahead well I was gonna say yeah it's possible that's going to be there but um what's worse is trying to do it live what's worse is is trying to get uh trying to put this on a dashboard with a database View and it taking five minutes to come up five minutes loading a dashboard is beyond an eternity but five minutes in a batch job is is nothing right and that's how this is scheduled and we're optimizing those things to make it better um and I believe there's some limits in in the designer that when you run it real when you press run to or when you press me results there'll be a limit real real-time limit but then in the batch job there's not a limit is that correct I'm pretty sure we used to happen to uh I I know this if it comes up properties yeah yeah there is a limit um the 10 000 limit that we have out of box on the maximum number of results and I I had pasted the property in one of the answers so I think it's called yeah I'll put this link as well but here here is uh the information that you were you were speaking to directly so the number of results for scheduled query in the results section the query one load all results is is ten thousand um I wouldn't change it right so that that's one where it's when you're viewing it in query Builder I believe this is only when you're in in query Builder as opposed to being the actual results because again we don't want to wait for it when we're building it we want to get results go yeah these look right we're good to go as opposed to getting the full thing so you have all the the knobs to to adjust again this is their so that we can get the data so that when we're running our reports and we're doing on our dashboard and getting accounts of some of these things and the number of incidents related to them that we get results very quickly so all I I mean there's the Simplicity Factor but the performance Factor can't be um shouldn't be underappreciated that this is going to help your user experiences performance very similar to PA having the data collector do the data collection so that when I view it it's fast uh similar concept and if you uh we have the knobs I would say do what you need to do and if we're running into issues and your job takes six hours well then let's put a case in we'll take a look at it we'll see how to optimize it there are knobs to make it faster it's not a one size fits all for for everything um but you're going to have a performance is an issue you definitely want to be in query Builder just like we want to be in performance analytics compared to trying to do it real time and the the design of your queer of your cmdb was going to have a big impact too do I have to go through 17 relationships or is there something that would be more optimized those types of questions will be good too um ritika see you answering one but again I think this this is probably a good uh choice for something out loud so do you can can you just speak too quickly the types of tables or whatnot that you can expect to see in the non-cmdb yeah there are a list of tables that you see in non-cmdb tables panel is any table which has at least one attribute which is referencing cmdbci or a child table so because the idea behind query Builder is that you're creating a query where you're saying okay give me data where it is connected to CIS with certain conditions right so only tables which have at least one attribute which references CI is the list of tables are chosen under that and if if you're looking for reverse so for example uh somebody uh mentioned location so CI has a reference to location and not vice versa so you could set up conditions on location by um using the um related fields because that will show up on the filter for for CI itself right that's like not walking that happens so I hope that answered the question yeah and I think what you're you're referencing to is is just like um anything else you know that thing I don't know what happened there um when you add out when you drag out the incident uh let's say we're dragging incident to something then um like we did before you when you click on the funnel if there's a related um you know list or whatnot or that can that actually works with that you'll see that same thing inside of the filtering inside of the cmdb as well so that is again basically what retique was saying is another way that you may be able to find the information that you're looking for can we join two queries built from the cmdb query Builder so I know earlier that we talked about a combination of using both the cmdb query and also a service mapping query uh but ratika do you have the ability to bring two cndb queries to together or would you just try to bring those all out as classes inside of one cmdb query and join all those up the way that you would need them like I'm trying to figure out what would be the reasoning sort of to have two of them come together yeah I'm not understand I'm not sure I understand the use case here when we we're talking about joining the queries array every query is separate and not sure if there's any email I don't think we have any mechanism to combined well it would be just you just have a more complex query right yeah if you were saying I want to know um all I want to know all of these that aren't one of these or all you know all all my database servers that also are supporting my email system or something right I mean you just get it you can add more nodes and you can have a more complex query I think that would handle a lot of use cases although I don't know if I'd handle all of them right yeah and and when you get done um I am not suggesting this but if I had to do it um these these do create tables in the database right the results are tables um you could then put a database view on top of those um I'm not saying it's just doing it but depending on the use case you might you that might be something we could end up doing um where you then would be able to join the two things together and we um uh we have all the power of reporting that comes through and all we still have Dynamic uh filter conditions so because it becomes one table to query it makes it easier to use in other things that come out on it but it's got to be really useful use case specific and I would probably look to can I just can I answer it with a little bit more complicated query and query Builder I would go that path but you do have a lot of options um I'm also going to note since we're since we're in here um I said it so query Builder results are tables um and some of us might ask about custom tables and just to be clear uh the tables that are created by query Builder are explicitly Exempted and they're not considered custom tables even though it is creating they are we are creating tables every time we run the query every time we create a new query but those are not uh those do not come out of your custom table allotment or app engine tables um they're they're Exempted tables okay yeah and somebody asked where to find them and ratika's going ahead and answering that uh as well so yeah they all get the same uh prefix so every new table that gets created it's essentially you underscore cmdb underscore QB underscore result and it has a society of the query um so and it's one and it's one to one with one with the query so if you go browse with queries you're seeing your effects you're going to see the tables and the idea is that you're not going to go look at those tables uh the table name is pretty ugly um yes uh but they are there they are there and again if you were going to do something fancy and you need to know what it is you could certainly go in and um rename it rename the query table uh relabel not rename but relabel and the same thing with the label names I know we've done that in the past where we went in and um if you're going to use it a lot there you have the full power of the platform behind it it the results are a table so query Builder tables there are um there are things out of box which take care of cleaning up these tables clearing up old data all of that so so there are um the scheduled jobs the table cleaners all of that to take care of maintaining these tables so I don't believe there's any expectation from the user to do anything here so I know that the data is cleared out to to go through that um do the tape do the tables get dropped at some point in time or can I drop the table or the table once I've run a query is that table going to be on my instance forever even if there's no data in it because it's been purged um I can go check that I know for sure that the old data from runs definitely gets cleared out I believe we dropped the table as well at some point but I don't remember the timeline for it but I I can check that and get back yeah and I I'm I'm actually sure that's going to be in the documentation but what comes in I think it's similar to import set tables the the conceptually how we manage them they get cleaned out after a little bit of time and if you if you don't use them for a longer period of time they might be removed but you would always just run it to recreate it um so it's it's not going to be a problem for you the biggest issue that we could have would be the old data but that definitely is handled and purged um at the at the appropriate times so I'll go with you don't need to worry about it um there's some if you want to you could look into it about about how it's done but um ostensibly you don't need to worry about it okay great we have that one question question sitting there I've never I've never actually thought about the CI relationships and assets and you know if there's a connection there I do not know yeah I'll have to I'll find that out Cara and um I can talk a little bit about that sure yeah go for it so the relationships the way they are modeled they are always between two CIS but assets assets have a reference back to a CI not all assets have a reference back to the CI but acids depending on the life cycle do get reference back to CIS and there is some methodology that we have I think there are business rule and depending on what applications you have installed um there are some synchronizations that happen between the asset and the CI but I don't think change in an asset algorithm packs their relationships that um a CI has current I did not answer the question I hope it answered but uh yeah car did that did that answer can give us a thumbs up or if you your question is more elaborate yep that answered awesome thank you okay okay so we are close to the top of the hour um I'll go ahead and close things up really great conversation um ritika I really appreciate you being on and and giving us Deep dive information and always of course Adam as well and Tara I know that you were able to answer some questions via type so I appreciate it appreciate that as well uh cmdb a query Builder is one of those things that uh I think is probably underused and uh we want to make sure that we can give as much information as we can to encourage people to to use it more and uh like I said there's an extensive amount of docs pages that are out there that talk to many different um aspects of the cdb query Builder so you know make sure that you you go out there and look and utilize them as much as possible and I think it's just a really great conversation today um about some really good stuff so hopefully this will encourage some of you to to at least try it you know try it out see what you can do and like I said with the how quick now that you can put these directly inside of inline dashboards uh you know that to me is is a really nice feature of the latest release and being able to do that so that's that's really nice as well so uh with that real quick I'll go over some of the things that you already saw in the um early announcements in the coming in video but there is a new community uh that we have out there this is a link to that make sure that you're going out that information is changing a lot a lot throughout the day and daily so we're we're making some changes some looks and things like that so we're trying to make it uh better every single day for you um again this will be out here on the Community page uh later on today as as well as on our YouTube page so look for that information uh don't forget about the performance analytics Academy Pro tips that we have out there here's a link for that these are quick little short videos that we're um we're doing now to kind of give you you know some some really great content in really small three four five six minute videos it gives you some good information that you can use every day inside of the platform as it relates to platform analytics so check those out of course always make sure that you're checking out and now learning some really great content that's out there and that changes a lot new stuff is brought out all the time PA Advanced is now an on-demand course so if you if you haven't take that you want to go ahead and do that you can do it on demand make sure that you're also checking out all the other great Academy sessions that are within um platform analytics as a whole these are other great ones that are out there and they put on magnificent academies so make sure that you check them out as well and it looks like that we don't have any other questions and I might be able to give you look at that two minutes back to your day uh but again as usual thank you very much for coming and we'll see you in a couple weeks where we're actually going to talk about I wasn't able to put a slide together but we're actually going to put a um we're going to have an a session on the CIO CEO dashboard and what it connects see how it can help the the managing of your content inside of the platform so look for that in two weeks so thank you very much

View original source

https://www.youtube.com/watch?v=NArqszOamHc