Commit Graph

867 Commits

Author SHA1 Message Date
Johannes Meyer ec2d1daa6b Perfdata plugin should also have a knowledge about labels
Prior to this change the PerfdataSet only knew the labels of a performance
data value which prevented the Perfdata object from being used
individually.

refs #6515
2014-07-11 16:31:00 +02:00
Johannes Meyer b4dc0f38b3 Fix monitoring backend configuration not showing resource selection fields
fixes #6448
2014-07-10 15:50:52 +02:00
Johannes Meyer 53f3d74103 Fix word wrapping in perfdata labels and values
fixes #6377
2014-07-10 14:54:53 +02:00
Matthias Jentsch b85ac3ab45 Translate labels in the ChartController 2014-07-09 18:13:40 +02:00
Matthias Jentsch 8d697a3d8e Fix coding style 2014-07-09 18:13:40 +02:00
Johannes Meyer 0d92efc1b0 Consider is_active column when fetching host and service statistics
fixes #6157
2014-07-09 11:49:22 +02:00
Thomas Gelf 2b05aa9504 monitoring/list: do not apply empty filter
Fixes problems with the servicematrix when no filter is applied.
I'm not yet happy with this, calls to where() should automagically
handle existing empty filters.

fixes #6543
2014-07-08 16:36:05 +02:00
Thomas Gelf 9a6821c860 monitoring/list/hosts: restore page behaviour
The problem here was that an accidentally removed closing div tag in
15325949 caused the application to missbehave badly. Host details where
rendered below the list in some scenarios and the whole multicolumn
thingy started to feel broken.
2014-07-08 15:17:00 +02:00
Johannes Meyer 1950c09478 Remove encoding suffix from locale identifiers
We do not need those as the encoding of a gettext-catalog is already
mentioned in its header.

refs #6602
2014-07-07 09:09:22 +02:00
Thomas Gelf e3b2f15863 list/hosts: show unhandled services righthand
This way we automagically fix the problem with the wrong row links.
I guess we should re-introduce the "row-action" class allowing "precedence"
rules, so also a link not being the first one in a row could act as "row-link".

Changed formatting / text output a little bit, IMO even more cure is needed.

fixes #6645
2014-07-04 18:13:44 +02:00
Matthias Jentsch d2098be625 Only display header when not in compact mode
fixes #6508
2014-07-04 12:45:17 +02:00
Johannes Meyer 7eb0f3c472 Remove @codingStandardsIgnoreStart/-Stop annotations
refs #6091
2014-06-30 13:59:58 +02:00
Matthias Jentsch 9a1b7179e1 Fix violations of coding guidelines 2014-06-30 12:33:51 +02:00
Matthias Jentsch 7fe056d03a Display note when host and service is not found
When the show/host and show/service views do not find a host or service,
don't show a non-working view, but display a error message

fixes #6469
2014-06-30 12:33:51 +02:00
Matthias Jentsch a2fa5c055c Display a message when a list view is empty
fixes #6469
2014-06-30 12:33:51 +02:00
Alexander Klimov 1532594948 Deduplicate code: lists/hosts.phtml VS lists/hosts-compact.phtml
fixes #6541
2014-06-27 11:53:08 +02:00
Thomas Gelf a4fc6dedea monitoring/list: fix limit=0 check
This used to be fixed, but got accidentally re-broken by last commit
this night.
2014-06-26 16:34:37 +02:00
Thomas Gelf a91bbd3a75 monitoring/list: add stateType parameter
This allows one to show only hard states, useful for support dashboards.
2014-06-26 00:42:38 +02:00
Thomas Gelf c85a0ac11e list/limits: special treatment for 0 only, not null 2014-06-26 00:39:10 +02:00
Thomas Gelf d44f89f287 list/hosts: fix downtime icon
I re-enabled host list icons, they have been missing for a while. The
downtime icon logic used to be inverted, this fixes it. Also showing
acknowledgements now even if object is in downtime.
2014-06-25 21:46:03 +02:00
Thomas Gelf ff9c29472e monitoring/status: re-introduce comments, problems
This re-introduces expensive columns been disabled time ago and adds
even more to it. We are now showing last comment, last ack comment and
service problem count on hosts in list views.

It still costs performance, but seems that we can stand it. I'd like
to add more like this to the host view.
2014-06-25 21:42:24 +02:00
Thomas Gelf d634889acb DataView: ignore case on sort dir
fixes #6573
2014-06-25 21:34:05 +02:00
Thomas Gelf 11ce302be0 Ido\StatusQuery: fine-tune query filters
This is still experimental. We normalize a lot of columns, this allows
us to sort in a convenient way while having nice "showable" columns.
When used as filters (same goes for ordering) however, functions and
operations on table columns often hinder the db from using indexes.

The new filter implementation allows us to override query creating per
single column, that's what this first sample is trying to show. We still
need to fix alias handling, so unfortunately I have to deal with "real
columns" in the case construct.

Performance gain in large environments is impressive, more to come.
2014-06-25 21:12:44 +02:00
Thomas Gelf 86f70e0a4f list/services: don't count with no limit
This is a performance evaluation right now, we might delegate such
logic to paginator later on. Cuts load time for lists and/or dashlets
with complicated filters by 50% - only for those with limit=0 of course.
2014-06-25 20:45:08 +02:00
Thomas Gelf 32572ae653 Monitoring\Object\Service: don't load host comment
I'd like to reintroduce those columns, showing last object comment
and so one. Those joins are costly, we can fetch host comments way
easier directly from host object once we are here. But I guess we
don't even need it.
2014-06-25 20:21:19 +02:00
Matthias Jentsch ae99dd39fd Fix intendation in MultiController
Use spaces instead of tabs
2014-06-25 15:25:54 +02:00
Matthias Jentsch 7b19bd1d99 Improve interface of InlinePie
Method setLabel can also accept a simple string and title is mandatory in constructor
2014-06-25 15:21:12 +02:00
Matthias Jentsch ae4aa9c182 Fix violations of coding guidelines 2014-06-25 15:07:39 +02:00
Matthias Jentsch 85aed364b7 Fix typing error in 'threshold' 2014-06-25 15:02:04 +02:00
Matthias Jentsch 35a5431512 Revert "Refractor InlinePie and Perfdata helper"
This reverts commit f003c38abd.
2014-06-25 14:29:17 +02:00
Matthias Jentsch f003c38abd Refractor InlinePie and Perfdata helper
Refractor InlinePie methods for better usability, fix several coding guideline
issues and fix some typos
2014-06-25 12:41:17 +02:00
Thomas Gelf 4591297e56 SortBox: use POST instead of GET
This avoids trouble with complex filter URLs

fixes #6556
2014-06-25 11:00:10 +02:00
Thomas Gelf b40d0f6a1e FilterWidget: POST instead of GET
Might have been a JS issue, but instead of messing with the URL just
POSTing is easier here - and works. Filters from the search box are
now added flawlessly to the filter tree.
2014-06-25 10:34:09 +02:00
Thomas Gelf 2746b5ff9f ConfigController: switch over to new config tabs
Module configuration now takes place in module detail view and does no
longer pollute our config tabs. Modules are now able to provide a bunch
of own config tabs, we don't really care what they use them for.
2014-06-24 21:31:59 +02:00
Thomas Gelf ccdf1ca354 monitoring/ConfigController: use notifications 2014-06-24 21:28:01 +02:00
Thomas Gelf 2b2901524c ConfigController: useless use of render 2014-06-24 21:24:40 +02:00
Thomas Gelf 532ab60b36 monitoring/show/history: fix html on empty list
This view script used to render broken HTML on empty result
2014-06-24 21:23:51 +02:00
Thomas Gelf f75a4430a6 monitoring/config: make use of Config()
Thee helper function supports lazy loading, requires less code and is
easier to read.
2014-06-24 21:22:38 +02:00
Thomas Gelf d5d3f5548f monitoring/list/hosts: support addcolumns parameter
At least it doesn't fail right now, this only works for services so far.
View script still needs to be adjusted, will probably be done with #6541.
2014-06-24 21:12:55 +02:00
Thomas Gelf 9187cd11bb monitoring/configuration: provide a config tab 2014-06-24 21:01:44 +02:00
Thomas Gelf 51c57520ad iconSubmitForm: replace with labelSubmitForm
There is no way in ZF to have an input[type=submit] with an unescaped
label ( = value). I temporarily replaced all iconSubmitForms with
inputs labelled with "X" - as all we used them for were delete
operations.
2014-06-23 14:42:26 +02:00
Matthias Jentsch 010466f8f9 Replace sizeof with count
Do not use sizeof to get the length of an array, as the function name 'sizeof'
is misleading
2014-06-23 14:19:55 +02:00
Thomas Gelf d199a8b036 CommandForm: input[type=submit] instead of button
No need for a "button" here. As they have been broken in ZF for
a long while we should better stay with input[type=submit]

fixes #5978
2014-06-23 14:10:15 +02:00
Thomas Gelf 4d42b4d2c4 ScheduleDowntimeForm: replace obsolete ::fromRequest
A serious fix would involve passing the current backend to our
command forms.
2014-06-23 13:35:58 +02:00
Matthias Jentsch bde6e29c61 Display a message instead of empty service matrix
refs #6535
2014-06-23 12:24:27 +02:00
Thomas Gelf 0efd44e1b0 CommandForm: don't clear class
autosubmit class got cleared for no reason after enabling autosubmission.
Please note that the fact that their submission leads to a new form is
another issue.

fixes #6540
2014-06-23 11:27:06 +02:00
Thomas Gelf 23ed744747 params/_render: replace it everywhere
Cleaning up controllers and JS, using headers only and respecting
history.
2014-06-22 20:07:44 +02:00
Thomas Gelf 216f0f3f55 isIframe: clean up, load less html and js
We use isIframe only when we have no JS, therefore it makes no sense
to load JS files in an iFrame. Also removed sidebar.
2014-06-22 16:30:06 +02:00
Thomas Gelf 3b84078b2f Params/_render: get rid of it, start with iframe 2014-06-22 16:18:23 +02:00
Thomas Gelf 2a0e72273a ChartController: use correct ActionController
...and some code cleanup
2014-06-22 14:08:04 +02:00
Thomas Gelf b7fc0b67a8 Web/controllers: use own Request/Response objects
* introduces Icinga\Web\Response
* uses ModuleActionController where necessary
* no module translationDomain voodoo in base ActionController
2014-06-22 13:49:21 +02:00
Thomas Gelf ef5e1b54fd Web\Window: fix it's usage, add helper function
Improved window handling, fixed controllers using it.
2014-06-22 13:21:21 +02:00
Thomas Gelf b03307196a monitoring/list/services: hardcode margin once again 2014-06-21 05:27:10 +02:00
Thomas Gelf 57ad88c38c monitoring/process: was broken, fix it
Stumbled across two issues here:

* It's currently not possible to fetch all (*) columns from a DataView
* Backends are not able to tell their names

Worked around the first issue by naming all columns and implemented a
quick & dirty solution for the second one.
2014-06-21 04:25:02 +02:00
Thomas Gelf 7f53ba11cf Hook\Grapher: use it in monitoring/show 2014-06-21 04:13:14 +02:00
Thomas Gelf 2ab75e1433 SelectionToolbar: temporarily disabled
Doesn't work as multiselect doesn't understand all filters
2014-06-21 03:33:16 +02:00
Thomas Gelf 7b5d7bdbcf monitoring/statehistorysummary: filter fixes
Slightly adjusted filter string to fit new filters, fixed an issue
with 'object_type' column in virtual eventhistory table.
2014-06-21 03:18:00 +02:00
Thomas Gelf b3cdeee35d monitoring/timeline: should benefit from new filter
Different changes have been applied:

* Allow integer unix timestamps as parameters for timestamp columns
* Remove alias-rewriting from Url class
* Remove all traces of raw_timestamp
* Use new filters
2014-06-21 03:09:40 +02:00
Thomas Gelf e2f7a1054e CSV/JSON export: work with new query interfaces
NB: I do not like the fact that we have to do as follows:

  DataView->getQuery()->fetchWhatever();

Guess this is worth a few more proxy functions.
2014-06-21 00:09:11 +02:00
Thomas Gelf 66f68f4990 monitoring/config: tab doesn't get focus
Fixes this. Tab handling is rather strange right now and module tabs
will not scale. We need a better solution for the future.

fixes #6320
2014-06-20 23:22:07 +02:00
Thomas Gelf c0c7a815f8 Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018 2014-06-20 19:18:38 +02:00
Thomas Gelf a904ff51aa monitoring/eventhistory: improve query performance
This takes care of timestamp columns, modifies queries in a way not
depending on db functions, filters are passed through to subqueries
for better performance.
2014-06-20 19:14:34 +02:00
Thomas Gelf 6d7a1cfe08 list/services: remove hardcoded margin 2014-06-20 19:12:46 +02:00
Thomas Gelf 127b728a4c list/notifications: fix query, select columns, style 2014-06-20 19:12:10 +02:00
Thomas Gelf e170c889d2 monitoring/CommandForm: remove obsolete classes 2014-06-20 14:24:32 +02:00
Thomas Gelf fb18de1f42 monitoring\CommandController: use new filters 2014-06-20 14:22:48 +02:00
Thomas Gelf f80b951cec monitoring/ShowController: remove obsolete function 2014-06-20 14:21:29 +02:00
Thomas Gelf a8bde7cc14 monitoring/show/services: do not limit result
Still a little bit hackish, we will replace this once we have a request
object fully aware of our new UrlParams parser.

fixes #6511
2014-06-20 14:16:36 +02:00
Thomas Gelf 4821c6e3e5 monitoring/show/history: use limiter, nicer output 2014-06-20 14:02:03 +02:00
Thomas Gelf 65db5c4acc list/services: move filterEditor to content
As it may occupy quite some space it is better having it scrollable
2014-06-20 13:50:25 +02:00
Thomas Gelf 1bddcd7282 list/hosts,services: use limiter widget 2014-06-20 13:49:50 +02:00
Thomas Gelf f4b7075293 monitoring/multi: view script cleanup
They now play fine with new filters, tried to improve usability
2014-06-20 13:46:09 +02:00
Thomas Gelf f2c67ea047 MultiControllers: use new filters
This makes things easier, no more nested lists - just filters easy
to read and understand
2014-06-20 13:38:58 +02:00
Thomas Gelf 255accb215 monitoring/MultiController: use correct controller 2014-06-20 13:35:25 +02:00
Thomas Gelf 371b66bd8b monitoring\ListController: handle filter editing
Handle filter modifications in one place. We still should try to
abstract this on step farther.
2014-06-20 13:26:10 +02:00
Thomas Gelf 0642c9d33c monitoring/list/hosts: filter-related cleanup 2014-06-20 13:24:32 +02:00
Thomas Gelf 5dfd4aedac monitoring/downtime: add missing ticket hook
We used to have this when showing comments, but not for downtimes.
2014-06-20 12:37:09 +02:00
Thomas Gelf ccb01aa152 Monitoring\Controller: add $url to all views
There are too many view scripts fiddling with namespaces. There is
still the url helper, not sure why it's not going to be used. I may
roll this back one far day...
2014-06-20 12:26:00 +02:00
Thomas Gelf ecf84077e5 Ido\CommentQuery: add host/service shortcut column 2014-06-20 12:23:23 +02:00
Matthias Jentsch aae49ce0c0 Do not show tooltips for piechart areas that indicate empty or free areas
refs #6117
2014-06-18 17:38:25 +02:00
Matthias Jentsch 6555d347a7 Escape InlinePie html and adjust chart size
fixes #6117
2014-06-18 14:43:14 +02:00
Matthias Jentsch be0c5d4b23 Add more meaningful tooltip labels to InlinePies
Show current title, a well-formated value and a label for each area in a
tooltip and add the ability to customize tooltip labels of InlinePies

refs #6117
2014-06-18 14:43:14 +02:00
Thomas Gelf 8185f8b8a9 Ido\EventHistoryQuery: fix it to fit new filters
Works for single objects, still some work required for "generic"
history.
2014-06-17 14:02:54 +00:00
Thomas Gelf 21febddad2 Widget\Filter*: rudimentary filter widgets
Initial implementation, more to come
2014-06-17 14:00:38 +00:00
Thomas Gelf a53f589a6b monitoring/controllers: filter-related cleanup 2014-06-17 13:48:26 +00:00
Thomas Gelf 1a91f0369e list/servicematrix: adjust URLs to fit new filters 2014-06-17 13:37:29 +00:00
Thomas Gelf ef4403f204 monitoring/show/history: make it look better
Supporting newly implemented history states (comment removal...),
prepare for translation, better styling.
2014-06-17 13:32:12 +00:00
Thomas Gelf e3e6826d9d Icinga\Filter: remove 2014-06-17 13:26:57 +00:00
Thomas Gelf 517894d86f show/header.phtml: try to look like other states 2014-06-17 13:22:52 +00:00
Thomas Gelf a42b66ab14 monitoring/show/services: QUERY_STRING voodoo
Looks less ugly than before, still ugly nonetheless. Will be better
once we care about request routing by ourselves.
2014-06-17 13:17:13 +00:00
Thomas Gelf 304c7d146b monitoring/show/history: pagination count
Fixes it as it didn't work, raised default row count to 50
2014-06-17 13:14:58 +00:00
Thomas Gelf 75a9640563 Monitoring\Object\Service: add check performance
Service object was missing latency and check properties
2014-06-17 13:14:00 +00:00
Thomas Gelf 0e09a1c7ba Monitoring\Object\Host: explicit WHERE
Related to the former commit, no more auto-voodoo
2014-06-17 13:12:36 +00:00
Thomas Gelf 3ccfe347f3 Monitoring\Object: replace fromRequest with params
This is only a temporary solution, the Monitoring\Object should be
fetched from the backend created in our front controller.
2014-06-17 13:10:54 +00:00
Thomas Gelf 0ecd527e8c monitoring/list: make use of new params
This brings our lists back to life and makes our filters work again.
2014-06-17 13:05:18 +00:00
Thomas Gelf 58d4ddcb4c monitoring/list: no need to declare $this->backend
This happens in the monitoring base controller right now
2014-06-17 13:03:05 +00:00
Thomas Gelf 468b290277 Monitoring\Controller: provide $this->backend
Every monitoring controller needs $backend, so why declaring it over
and over again. Created "moduleInit" dummy function in our base action
controller to allow such implementations without polluting init().
2014-06-17 12:55:43 +00:00
Thomas Gelf 25758332ab CSS/monitoring: get rid of different formatting
First attempt to clean up the GUI, "same" elements looked different
in different places.

TODO: move more monitoriny-only CSS to the monitoring module
2014-06-17 12:53:39 +00:00
Thomas Gelf 660f84b22f DataView\EventHistory: default sort by timestamp
It doesn't make much sense to sort history by "hostname" hardcoded to
service-only host columns. Default is now timestamp DESC, internally
this is mapped to raw_timestamp.
2014-06-17 12:51:13 +00:00
Thomas Gelf dd595a2ad3 Ido/EventHistoryQuery: obsolete raw_timestamp
This was never thought to be used in frontends. Frontend code ALWAYS
needs to work with unix timestamps, raw timestamps are used internally
(e.g. between View and Query) to achieve better search and sort
performance.
2014-06-17 12:47:02 +00:00