-
Notifications
You must be signed in to change notification settings - Fork 442
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[nagios] Add Nagios package #2824
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have much experience with Nagios, especially from the configuration site and I'm not following the product since a few years. Based on your PR, I assume that we're tracking the "Nagios XI" integration, not the "Nagios"? Should we rename the integration to "nagios_xi"?
The first round, so mostly general comments:
- Please rename "logs" to "events" as this is about catching notifications and alerts.
- Are there more commands that Nagios provides, not just the "host check"? If so, maybe we need to add the "commands" data stream instead.
- Could we split the "services" into a few different data streams? I appreciate the idea of having a multi-select box, but we'd rather go with multiple data streams if possible. Feel free to propose any way of dividing them.
Pinging @elastic/integrations (Team:Integrations) |
Hey Marcin,
Done
There is no more host check command other than the two we have added support for other commands are for services so I guess we don't need to change the data_stream name.
So as we discussed over the same that we decided to have a single data_stream. |
Thanks for the update, @kush-elastic.
I'm wondering if there is an option to perform multiple queries, one per selected item. Having it defined as the query isn't the best user experience as @akshay-saraswat raised yesterday, it's error prone. Maybe we should split it into different data streams? Let's collect some feedback around this - @ruflin, @jsoriano WDYT? You can take a look at the "query" on the screenshot above. |
Is there a limit to the nagios services metrics? How many are there? Do you have a link to the query language by chance? |
What are these queries? Are these names of checks defined in Nagios? |
Hey @jsoriano,
Users have to specify the Services Names that they want to monitor. |
Hey @mtojek,
What do you think we should do?? |
Don't worry about the number of data streams, it's still fine. Take a look at the zeek package :) |
Current approach of filtering by display name can be error prone, and it can be also seen as arbitrary to some users that may prefer to filter by checks or hosts. Having datastreams per check may not fit so well for something like nagios, where it is very likely that the customer has custom checks. Nagios checks are basically scripts, and someone relying on nagios for monitoring probably has custom scripts for their custom applications. We wouldn't be supporting this common use case. Or we would need something different for these use cases, what can be a bad user experience. Have we considered to start by collecting everything by default? This is what we use to do when collecting data from other monitoring systems (see prometheus, statsd or munin). Then we can add specific fields for specific filters. For example it seems possible to filter per host using the With this kind of filters we could also leverage autodiscover at some point. There could be a nagios autodiscover provider that queries the inventory of hosts there, and generates one config per monitored host, with the possibility of using conditions, variables and all the available features. Btw, another question I have is how are we handling very big API responses? I guess that the size of the responses may easily grow for users with hundreds or thousands of hosts. |
|
||
## Compatibility | ||
|
||
This module has been tested against `Nagios-XI Version: 5.8.7` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: This integration
@@ -0,0 +1,14 @@ | |||
- name: nagios_xi.event | |||
type: group | |||
release: beta |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you can drop this property.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, Thanks.
field: json.last_check | ||
formats: | ||
- yyyy-MM-dd HH:mm:ss | ||
target_field: nagios_xi.metrics.host.last_check |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something is fishy here. Why do we need the . metrics.
group in the middle? It should be nagios_xi.host....
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for confusion, we updated logs to events. to avoid conflicts we added metrics before host and services. as we have events now we will update this with your suggestion.
Thanks
type: group | ||
release: beta | ||
fields: | ||
- name: host |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you please re-check these fields against ECS? I guess you can map some of them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, I will check it out.
Thanks
type: group | ||
release: beta | ||
fields: | ||
- name: service |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same story here: please check these fields against ECS.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure.
- monitoring | ||
release: beta | ||
conditions: | ||
kibana.version: ^8.0.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess that you can pair it with next release of Kibana, ^8.2.0
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @akshay-saraswat ,
What are your thoughts on this? Should we just keep the next Kibana release i.e. 8.2.0. If so, we would have to test it on 8.2.0 image since as we discussed, we have just tested it on 8.0.0 and 8.1.0.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
8.2.0 sounds okay to me. If we release it with 8.2.0, we anyways would have to test it with that version. If we keep the minimum Kibana version 8.2.0, we will have fewer versions to consider for backward compatibility and support.
icons: | ||
- src: /img/nagios_xi-logo.svg | ||
title: Nagios XI logo | ||
size: 279x187 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmmm.. could you please use a standard-sized logo :) like 256x256 or 512x512.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay.
- name: api_key | ||
type: text | ||
title: API Key | ||
description: "API key for the Nagios XI API. (Location of API_KEY in Nagios XI: Click on your username on the top right corner of Nagios XI Panel -> My Account -> Account Information -> General Account Settings -> API Key)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
@@ -0,0 +1,434 @@ | |||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you think about splitting it into following dashboards:
- Overview
- Service dashboard
- Events dashboard
- Hosts dashboard
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't have much visualizations in Nagios XI as most of them are metrics only.
What do you think of current dashboard as it has more compact and full view of current status? (I have Updated SS in PR description)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you think of current dashboard as it has more compact a
- I would say it's packed with too many information at once. For example, I'd like to see a screen with logged events and the percentage of incoming ones, to see which are the most frequent.
- What does the HTTP response size mean? and response time? is it related to a particular endpoint?
- What kind of hosts does it present?
For dashboards, I have the same suggestion that Marcin said during the demo. Let's move the Event and Host visualizations somewhere after the service visualizations because those are lists of logs and IP addresses that may not be apt for an overview dashboard that is constantly displayed on a TV in an office. |
Can we please follow the same approach as recommended in #2811 (comment) here and split up the work to data streams? |
Hey, |
Is my understanding correct that the one we should start with reviewing is #2940 Lets set the other 2 to draft until we have this one in to make sure we don't review things twice. As soon as the base skeleton is in, the PR's can be opened in parallel. |
Closing this PR as it was split up into multiple PRs as mentioned in the comment #2824 (comment). All the parts are now merged and the linked issue (#2626) has been closed. Thanks a lot @mtojek, @ruflin, @jsoriano, @akshay-saraswat and @lalit-satapathy for taking out time to review the PRs and providing valuable feedback! |
What does this PR do?
Checklist
changelog.yml
file.How to test this PR locally
elastic-package test
Related issues
Screenshots
Integration Page

Nagios XI Overview Dashboard
