Reporting question

This support forum board is for support questions relating to Nagios XI, our flagship commercial network monitoring solution.
Locked
RwynneZAS
Posts: 22
Joined: Thu Mar 15, 2018 4:21 pm

Reporting question

Post by RwynneZAS »

We are wanting to provide SLA overviews based on our Nagios data.

We have various different sets of service platforms. I know I can use a servicegroup to create set of services to monitor for SLA purposes for each one, and provide a topline number of availability.

Is it possible to create a report that will aggregate several of these into one report.

So, for example, let's say I have three different platforms. i create a service group for each one, and an SLA report based of of that.

Platform 1: 99.4%
Platform 2: 99.6%
Platform 3: 98.9%

I'd like to be able to generate a report that collects these different service groups and provides the topline number from each one on a single report that can be distributed to relevant parties in management.

I hope this make sense. Thanks for any advice.
User avatar
Rfferrao13
Posts: 12
Joined: Tue Aug 09, 2016 3:56 pm

Re: Reporting question

Post by Rfferrao13 »

If I may offer some advice, perhaps BPI (with check_bpi.php) could be of use for this?
RwynneZAS
Posts: 22
Joined: Thu Mar 15, 2018 4:21 pm

Re: Reporting question

Post by RwynneZAS »

Possibly. I'm not familiar with it, though at first glance of the documentation, I'm not sure how it gets me where I want to be, reports wise.
RwynneZAS
Posts: 22
Joined: Thu Mar 15, 2018 4:21 pm

Re: Reporting question

Post by RwynneZAS »

Or, is the notion that I set up a BPI for each platform, then put all the BPI objects into a hostgroup and run an SLA report against that?

Do the Dummy BPI hosts consume a license?
RwynneZAS
Posts: 22
Joined: Thu Mar 15, 2018 4:21 pm

Re: Reporting question

Post by RwynneZAS »

Ok, I think I'm getting a feel for this.

Create a BPI group consisting of the essential services for the platform. "These X things must all be up to call the platform up".

Create BPI checks to monitor the status of each BPI group.

Put all those checks into a service group, and run the SLA report on that. The detail report will simply be each of the BPI checks, not the underlying services.

Is that the approach? Looks like it will solve my need. Just making sure i"m not missing anything.
User avatar
Rfferrao13
Posts: 12
Joined: Tue Aug 09, 2016 3:56 pm

Re: Reporting question

Post by Rfferrao13 »

RwynneZAS wrote:Ok, I think I'm getting a feel for this.

Create a BPI group consisting of the essential services for the platform. "These X things must all be up to call the platform up".

Create BPI checks to monitor the status of each BPI group.

Put all those checks into a service group, and run the SLA report on that. The detail report will simply be each of the BPI checks, not the underlying services.

Is that the approach? Looks like it will solve my need. Just making sure i"m not missing anything.
Like you've most likely already noticed, this setup has some drawbacks and can be laborious; but yes, that's kind of what I figured would (maybe) work for what you described as your use case -- basically the BPI checks would each represent one of the Platforms aforementioned. Ultimately, it's your call.
RwynneZAS
Posts: 22
Joined: Thu Mar 15, 2018 4:21 pm

Re: Reporting question

Post by RwynneZAS »

Well, it looks like *a* solution for my need, at least. And it should not be all that laborious once it's set up! This is cool. and a whole area in Nagios I hadn't really explored, so thanks for the pointer!
ssax
Dreams In Code
Posts: 7682
Joined: Wed Feb 11, 2015 12:54 pm

Re: Reporting question

Post by ssax »

As another option, you could also get the information by passing &servicegroup=SERVICEGROUPNAME to the XI API SLA endpoint and parse it how you'd like, see here on your system:

http://YOURXISERVER/nagiosxi/help/api-o ... bjects-sla

For example:

Code: Select all

curl -k -L 'http://YOURXISERVER/nagiosxi/api/v1/objects/sla?apikey=APIKEY&pretty=1&servicegroup=myservicegroup'

Code: Select all

{
    "sla": {
        "hosts": {
            "average": "100.000"
        },
        "services": {
            "average": "84.615"
        }
    }
}
RwynneZAS
Posts: 22
Joined: Thu Mar 15, 2018 4:21 pm

Re: Reporting question

Post by RwynneZAS »

ssax wrote:As another option, you could also get the information by passing &servicegroup=SERVICEGROUPNAME to the XI API SLA endpoint and parse it how you'd like, see here on your system:
that's also a promising avenue, thanks. I hadn't previously worked with the API.

Is there a way to get the verbose output (similar to when I click on "Show Details" on the SLA report run from the web interface?
ssax
Dreams In Code
Posts: 7682
Joined: Wed Feb 11, 2015 12:54 pm

Re: Reporting question

Post by ssax »

Not currently, If you pass a hostgroup/servicegroup it only does the overall average, I looked at the code and tested it, development will need to add that showdetail option to the API code, I have submitted the request:

FR: XI - SLA API Endpoint - Add showdetail option from SLA report so when you pass a hostgroup/servicegroup you can see the host/service details instead of the overall group average like it currently does

Please keep in mind that the decision to implement the enhancement is at the discretion of our development team.

Thank you!
Locked