latest: Remove redundant header
[ninja.git] / features / monitoring.feature
blobac0057b2c5a04bd169067c3ce3bb2745e6ad4b55
1 @monitoring
2 Feature: Monitoring
3         Background:
4                 Given I have these hostgroups configured:
5                         | hostgroup_name | members                     |
6                         | LinuxServers   | linux-server1,linux-server2 |
7                         | WindowsServers | win-server1,win-server2     |
8                 And I have these hosts:
9                         | host_name     | contacts |
10                         | linux-server1 | monitor  |
11                         | linux-server2 |          |
12                         | win-server1   |          |
13                         | win-server2   |          |
14                 And I have these services:
15                         | service_description | host_name     | check_command   | notifications_enabled | active_checks_enabled |
16                         | System Load         | linux-server1 | check_nrpe!load | 1                     | 1                     |
17                         | System Load         | linux-server2 | check_nrpe!load | 1                     | 1                     |
18                         | PING                | win-server1   | check_ping      | 1                     | 0                     |
19                         | PING                | win-server2   | check_ping      | 0                     | 1                     |
20                 And I have activated the configuration
22         @configuration @asmonitor @case-642
23         Scenario: Host details page links
24                 Ensure that all links on the host details
25                 page work, and verify the tables' content
26                 reflects the current configuration.
28                 Given I am on the Host details page
29                 When I click "Services total"
30                 Then I should see the configured services
32         @configuration @asmonitor @case-643
33         Scenario: Host details filter
34                 Ensure that the filters on the host details
35                 page works as expected.
37                 Given I am on the Host details page
38                 When I click "Hosts total"
39                 Then I should see the configured hosts
40                 When I have submitted a passive host check result "linux-server2;1;some output"
41                 And I click "Refresh"
42                 And I click "Hosts down"
43                 Then I should see "linux-server2"
44                 When I click "Services total"
45                 And wait for "1" seconds
46                 Then I should see the configured services
48         @configuration @asmonitor @case-645
49         Scenario: Host details extinfo page check links
50                 Verify that all links on the extinfo page for a given host
51                 point to the right place. Status detail link.
53                 Given I am on the Host details page
54                 When I click "linux-server1"
55                 And I click "Status detail"
56                 Then I should see this status:
57                         | Host Name | Service |
58                         | linux-server1 | System Load |
60         @configuration @asmonitor @case-645
61         Scenario: Host details extinfo page check links
62                 Verify that all links on the extinfo page for a given host
63                 point to the right place. Alert history link.
65                 Given I am on the Host details page
66                 When I click "linux-server1"
67                 And I click "Alert history"
68                 Then I should be on url "/monitor/index.php/alert_history/generate?include_long_output=1&report_type=hosts&objects[]=linux-server1"
70         @configuration @asmonitor @case-645
71         Scenario: Host details extinfo page check links
72                 Verify that all links on the extinfo page for a given host
73                 point to the right place. Alert histogram link.
75                 Given I am on the Host details page
76                 When I click "linux-server1"
77                 And I click "Alert histogram"
78                 Then I should be on url "/monitor/index.php/histogram/generate?report_type=hosts&objects[]=linux-server1"
80         @configuration @asmonitor @case-645
81         Scenario: Host details extinfo page check links
82                 Verify that all links on the extinfo page for a given host
83                 point to the right place. Availability report link.
85                 Given I am on the Host details page
86                 When I click "linux-server1"
87                 And I click "Availability report"
88                 Then I should be on url "/monitor/index.php/avail/generate?report_type=hosts&objects[]=linux-server1"
90         @configuration @asmonitor @case-645
91         Scenario: Host details extinfo page check links
92                 Verify that all links on the extinfo page for a given host
93                 point to the right place. Notifications link.
95                 Given I am on the Host details page
96                 When I click "linux-server1"
97                 And I click "Notifications"
98                 Then I should see "Notifications"
99                 And I should see "Count:"
101         @configuration @asmonitor @case-646
102         Scenario: Host details host commands - Locate host on map
103                 Verify that the "Locate host on map" host command
104                 works correctly.
106                 Given I am on the Host details page
107                 When I click "linux-server1"
108                 And I click "Locate host on map"
109                 Then I should be on address "/monitor/index.php/nagvis/automap/host/linux-server1"
110                 And I should see "linux-server1" within frame "nagvis"
112         @configuration @asmonitor @case-646
113         Scenario: Host details host commands - Disable active checks
114                 Verify that the "Disable active checks" host command
115                 works correctly.
117                 Given I am on the Host details page
118                 When I click "linux-server1"
119                 And I click "Disable active checks"
120                 And I click "Submit"
121                 Then I should see "Your command was successfully submitted"
122                 When I click "Done"
123                 Then "Active checks" should be shown as "Disabled"
125         @configuration @asmonitor @case-646
126         Scenario: Host details host commands - Reschedule check
127                 Verify that the "Reschedule next check" host command
128                 works correctly.
130                 Given I am on the Host details page
131                 And I have submitted a passive host check result "linux-server1;0;Everything was OK"
132                 When I click "linux-server1"
133                 And I click "Re-schedule next host check"
134                 And I enter the time in 5 minutes into "field_check_time"
135                 And I note the value of "field_check_time"
136                 And I click "Submit"
137                 Then I should see "Your command was successfully submitted"
138                 When I click "Done"
139                 Then "Next scheduled check" should be shown as the value of "field_check_time"
141         @configuration @asmonitor @case-646
142         Scenario: Host details host commands - Submit passive check
143                 Verify that the "Submit passive check" host command
144                 works correctly.
146                 Given I am on the Host details page
147                 When I click "linux-server1"
148                 And I click "Submit passive check"
149                 And I select "Down" from "field_status_code"
150                 And I enter "Some output" into "field_plugin_output"
151                 And I enter "2" into "field__perfdata"
152                 And I click "Submit"
153                 Then I should see "Your command was successfully submitted"
154                 When I click "Done"
155                 Then "Current status" should be shown as "Down"
158         @configuration @asmonitor @case-646
159         Scenario: Host details host commands - Stop obsessing
160                 Verify that the "Stop obsessing" host command
161                 works correctly.
163                 Given I am on the Host details page
164                 When I click "linux-server1"
165                 And I click "Stop obsessing"
166                 And I click "Submit"
167                 Then I should see "Your command was successfully submitted"
168                 When I click "Done"
169                 Then "Obsessing" should be shown as "Disabled"
172         @configuration @asmonitor @case-646
173         Scenario: Host details host commands - Disable passive check
174                 Verify that the "Disable passive check" host command
175                 works correctly.
177                 Given I am on the Host details page
178                 When I click "linux-server1"
179                 And I click "Stop accepting passive checks"
180                 And I click "Submit"
181                 Then I should see "Your command was successfully submitted"
182                 When I click "Done"
183                 Then "Passive checks" should be shown as "Disabled"
185         @configuration @asmonitor @case-646
186         Scenario: Host details host commands - Disable notifications
187                 Verify that the "Disable notifications" host command
188                 works correctly.
190                 Given I am on the Host details page
191                 When I click "linux-server1"
192                 And I click "Disable notifications"
193                 And I click "Submit"
194                 Then I should see "Your command was successfully submitted"
195                 When I click "Done"
196                 Then "Notifications" should be shown as "Disabled"
198         @configuration @asmonitor @case-646 @unreliable
199         Scenario: Host details host commands - Send custom notification
200                 Verify that the "Send custom notification" host command
201                 works correctly.
203                 Given I am on the Host details page
204                 When I click "linux-server1"
205                 Then "Notifications" should be shown as "Enabled"
206                 When I click "Send custom notification"
207                 And I enter "Some comment" into "Comment"
208                 And I click "Submit"
209                 Then I should see "Your command was successfully submitted"
210                 When I click "Done"
211                 # ninja -> nagios -> merlin -> mysql...
212                 And wait for "20" seconds
213                 And I click "Notifications"
214                 Then I should see "linux-server1"
216         @configuration @asmonitor @case-646
217         Scenario: Host details host commands - Schedule downtime
218                 Verify that the "Schedule downtime" host command
219                 works correctly.
221                 Given I am on the Host details page
222                 When I click "linux-server1"
223                 And I click "Schedule downtime"
224                 And I enter "Some comment" into "cmd_param[comment]"
225                 And I enter "2023-03-14 14:40" into "cmd_param[start_time]"
226                 And I click "Submit"
227                 Then I should see "ERROR: 2023-03-14 14:40 is not a valid date, please adjust it"
228                 And I shouldn't see "Fatal error"
229                 And I click "adjust it"
230                 Then I should see "You are trying to schedule downtime for a host"
231                 And I enter "2023-03-14 14:40:00" into "cmd_param[start_time]"
232                 And I enter "2023-03-14 14:50:00" into "cmd_param[end_time]"
233                 And I click "Submit"
234                 Then I should see "Your command was successfully submitted"
235                 When I click "Done"
236                 And I click "Refresh"
237                 Then I should see "This host has been scheduled for fixed downtime"
239         @configuration @asmonitor @case-646
240         Scenario: Host details host commands - Schedule downtime in the past
241                 Verify that the "Schedule downtime" host command
242                 works correctly even for a historical period of time.
244                 Given I am on the Host details page
245                 When I click "linux-server1"
246                 And I click "Schedule downtime for this host"
247                 And I enter "Ghost of Christmas past" into "cmd_param[comment]"
248                 And I enter "2013-06-06 11:00:03" into "cmd_param[start_time]"
249                 And I click "Submit"
250                 # Here, a confirm-popup is accepted by Poltergeist automatically
251                 Then I should see "Your command was successfully submitted"
252                 When I click "Done"
253                 Then I should see "Ghost of Christmas past"
255         @configuration @asmonitor @case-646
256         Scenario: Host details host commands - Disable notifications for services
257                 Verify that the "Disable notifications for all services"
258                 host command works correctly.
260                 Given I am on the Host details page
261                 And I have submitted a passive service check result "linux-server1;System Load;0;Everything was OK"
262                 When I click "linux-server1"
263                 And I click "Disable notifications for all services"
264                 And I click "Submit"
265                 Then I should see "Your command was successfully submitted"
266                 When I click "Done"
267                 And I click "Status detail"
268                 And I click "System Load"
269                 Then "Notifications" should be shown as "Disabled"
271         @configuration @asmonitor @case-646
272         Scenario: Host details host commands - Enable notifications for services
273                 Verify that the "Enable notifications for all services"
274                 host command works correctly.
276                 Given I am on the Host details page
277                 And I have submitted a passive service check result "win-server2;PING;0;Everything was OK"
278                 When I click "win-server2"
279                 And I click "Enable notifications for all services"
280                 And I click "Submit"
281                 Then I should see "Your command was successfully submitted"
282                 When I click "Done"
283                 And I click "Status detail"
284                 And I click "PING"
285                 Then "Notifications" should be shown as "Enabled"
287         @configuration @asmonitor @case-646
288         Scenario: Host details host commands - Schedule check for all services
289                 Verify that the "Schedule check for all services" host command
290                 works correctly.
292                 Given I am on the Host details page
293                 And I have submitted a passive service check result "linux-server1;System Load;0;Everything was OK"
294                 When I click "linux-server1"
295                 And I click "Schedule a check of all services"
296                 And I enter the time in 5 minutes into "field_check_time"
297                 And I note the value of "field_check_time"
298                 And I click "Submit"
299                 Then I should see "Your command was successfully submitted"
300                 When I click "Done"
301                 And I click "Status detail"
302                 And I click "System Load"
303                 Then "Next scheduled active check" should be shown as the value of "field_check_time"
305         @configuration @asmonitor @case-646
306         Scenario: Host details host commands - Disable checks of all services
307                 Verify that the "Disable checks of all services" host command works correctly.
309                 Given I am on the Host details page
310                 And I have submitted a passive service check result "linux-server1;System Load;0;Everything was OK"
311                 When I click "linux-server1"
312                 And I click "Disable checks of all services"
313                 And I click "Submit"
314                 Then I should see "Your command was successfully submitted"
315                 When I click "Done"
316                 And I click "Status detail"
317                 And I click "System Load"
318                 Then "Active checks" should be shown as "Disabled"
321         @configuration @asmonitor @case-646
322         Scenario: Host details host commands - Enable checks of all services
323                 Verify that the "Enable checks of all services" host command works correctly.
325                 Given I am on the Host details page
326                 When I click "win-server1"
327                 And I click "Enable checks of all services"
328                 And I click "Submit"
329                 Then I should see "Your command was successfully submitted"
330                 When I click "Done"
331                 And I click "Status detail"
332                 And I click "PING"
333                 Then "Active checks" should be shown as "Enabled"
335         @configuration @asmonitor @case-646
336         Scenario: Host details host commands - Disable event handler
337                 Verify that the "Disable event handler" host command works correctly.
339                 Given I am on the Host details page
340                 When I click "linux-server1"
341                 And I click "Disable event handler"
342                 And I click "Submit"
343                 Then I should see "Your command was successfully submitted"
344                 When I click "Done"
345                 Then "Event handler" should be shown as "Disabled"
346                 And I should see "Enable event handler"
348         @configuration @asmonitor @case-646
349         Scenario: Host details host commands - Disable flap detection
350                 Verify that the "Disable flap detection" host command works correctly.
352                 Given I am on the Host details page
353                 When I click "linux-server1"
354                 And I click "Disable flap detection"
355                 And I click "Submit"
356                 Then I should see "Your command was successfully submitted"
357                 When I click "Done"
358                 Then "Flap detection" should be shown as "Disabled"
359                 And I should see "Enable flap detection"
361         @configuration @asmonitor @case-647
362         Scenario: Host details host extinfo page configure
363                 Verify that the "Configure" link works correctly.
365                 Given I am on the Host details page
366                 When I click "linux-server1"
367                 And I click "Configure"
368                 Then I should be on the Configure page
370         @configuration @asmonitor @case-647
371         Scenario: Host details host extinfo page show performance graph
372                 Verify that the "Show performance graph" link works correctly.
374                 Given I have PNP data for "linux-server1"
375                 And I am on the Host details page
376                 When I click "linux-server1"
377                 And I click "Show performance graph"
378                 Then I should be on the PNP page
380         @configuration @asmonitor @case-648
381         Scenario: Host details Add/delete comment
382                 Verify that adding and deleting comments on hosts
383                 works.
385                 Given I am on the Host details page
386                 When I click "linux-server1"
387                 And I click "Submit a host comment"
388                 And I enter "A comment for this host" into "cmd_param[comment]"
389                 And I click "Submit"
390                 Then I should see "Your command was successfully submitted"
391                 When I click "Done"
392                 And I should see "A comment for this host"
393                 When I click "Delete comment"
394                 Then I should see "You are trying to delete a host comment"
395                 And I click "Submit"
396                 Then I should see "Your command was successfully submitted"
397                 When I click "Done"
398                 Then I shouldn't see "A comment for this host"
400         @configuration @asmonitor @bug-6933
401         Scenario: Disable passive checks and obsess over this host
402                 Verify that after disable passive checks for this host and
403                 stop obsess over this host it is possible to start them both.
405                 Given I am on the Host details page
406                 When I click "linux-server1"
407                 And I click "Stop accepting passive checks for this host"
408                 Then I should see "You are trying to stop accepting passive checks for a host"
409                 And I should see "linux-server1"
410                 When I click "Submit"
411                 Then I should see "Your command was successfully submitted"
412                 When I click "Done"
413                 And I click "Stop obsessing over this host"
414                 Then I should see "You are trying to stop obsessing over a host"
415                 And I should see "linux-server1"
416                 When I click "Submit"
417                 Then I should see "Your command was successfully submitted"
418                 And I click "Done"
419                 When I click "Start obsessing over this host"
420                 Then I should be on url "/monitor/index.php/command/submit?cmd_typ=START_OBSESSING_OVER_HOST&host_name=linux-server1"
422         @configuration @asmonitor @case-650
423         Scenario: Service details filter
424                 Verify that filter links work as expected
426                 Given I am on the Service details page
427                 Then I should see the configured services
428                 Then Link "Services total" should contain "4"
429                 And I click link "Services total"
430                 Then I should see the configured services
432         @configuration @asmonitor @case-650
433         Scenario: Service details filter
434                 Verify that filter link counts are correct
435                 for various states
437                 Given I have submitted a passive service check result "linux-server2;System Load;2;some output"
438                 And I have submitted a passive service check result "linux-server1;System Load;1;some output"
439                 And I am on the Service details page
440                 Then I should see the configured services
441                 And Link "Services total" should contain "4"
442                 And Link "Services critical" should contain "1"
443                 And Link "Services warning" should contain "1"
446         @configuration @asmonitor @case-650
447         Scenario: Service details filter
448                 Verify that I can go back to showing all by
449                 services after having filtered on Ok ones
450                 by clicking the table name.
452                 Given I have submitted a passive service check result "linux-server2;System Load;2;some output"
453                 And I am on the Service details page
454                 Then I should see the configured services
455                 And Link "Services total" should contain "4"
456                 And Link "Services critical" should contain "1"
457                 When I click link "Services critical"
458                 Then I should see "linux-server2"
459                 And I should see "System Load"
460                 But I shouldn't see "PING"
461                 When I click link "Services"
462                 Then I should see the configured services
464         @configuration @asmonitor @case-654
465         Scenario: Service details extinfo page check links
466                 Verify that all links on the extinfo page for a given service
467                 point to the right place. Status detail link.
469                 Given I am on the Service details page
470                 When I click "System Load"
471                 And I click "Status detail"
472                 Then I should see this status:
473                         | Host Name | Service |
474                         | linux-server1 | System Load |
476         @configuration @asmonitor @case-654
477         Scenario: Service details extinfo page check links
478                 Verify that all links on the extinfo page for a given service
479                 point to the right place. Alert history link.
481                 Given I am on the Service details page
482                 When I click "System Load"
483                 And I click "Alert history"
484                 Then I should be on url "/monitor/index.php/alert_history/generate?include_long_output=1&report_type=services&objects[]=linux-server1;System+Load"
485                 And I should see "Alert history"
487         @configuration @asmonitor @case-654
488         Scenario: Service details extinfo page check links
489                 Verify that all links on the extinfo page for a given servce
490                 point to the right place. Alert histogram link.
492                 Given I am on the Service details page
493                 When I click "System Load"
494                 And I click "Alert histogram"
495                 Then I should be on url "/monitor/index.php/histogram/generate?report_type=services&objects[]=linux-server1;System+Load"
497         @configuration @asmonitor @case-654
498         Scenario: Service details extinfo page check links
499                 Verify that all links on the extinfo page for a given service
500                 point to the right place. Availability report link.
502                 Given I am on the Service details page
503                 When I click "System Load"
504                 And I click "Availability report"
505                 Then I should be on url "/monitor/index.php/avail/generate?report_type=services&objects[]=linux-server1;System+Load&report_type=services"
506                 And I should see "Service details for System Load on host linux-server1"
507                 And I should see "Reporting period: Last 7 days"
509         @configuration @asmonitor @case-654
510         Scenario: Service details extinfo page check links
511                 Verify that all links on the extinfo page for a given service
512                 point to the right place. Notifications link.
514                 Given I am on the Service details page
515                 When I click "System Load"
516                 And I click "Notifications"
517                 Then I should see "Notifications"
518                 And I should see "Count:"
520         @configuration @asmonitor @case-655
521         Scenario: Service extinfo page service commands
522                 Test disabling active checks of service from
523                 service extinfo page.
525                 Given I have submitted a passive service check result "linux-server1;System Load;0;Everything was OK"
526                 And I am on the Service details page
527                 When I click "System Load"
528                 And I click "Disable active checks of this service"
529                 And I click "Submit"
530                 Then I should see "Your command was successfully submitted"
531                 When I click "Done"
532                 Then "Active checks" should be shown as "Disabled"
534         @configuration @asmonitor @case-655
535         Scenario: Service extinfo page service commands
536                 Test rescheduling next check from service extinfo page.
538                 Given I have submitted a passive service check result "linux-server1;System Load;0;Everything was OK"
539                 And I am on the Service details page
540                 When I click "System Load"
541                 And I click "Re-schedule next service check"
542                 And I enter the time in 5 minutes into "field_check_time"
543                 And I note the value of "field_check_time"
544                 And I click "Submit"
545                 Then I should see "Your command was successfully submitted"
546                 When I click "Done"
547                 Then "Next scheduled active check" should be shown as the value of "field_check_time"
549         @configuration @asmonitor @case-655
550         Scenario: Service extinfo page service commands
551                 Test submitting a passive check result from the service
552                 extinfo page.
554                 Given I have submitted a passive service check result "linux-server1;System Load;0;Everything was OK"
555                 And I am on the Service details page
556                 When I click "System Load"
557                 And I click "Submit passive check"
558                 And I select "Critical" from "field_return_code"
559                 And I enter "Something went horribly wrong!" into "field_plugin_output"
560                 And I enter "2" into "field__perfdata"
561                 And I click "Submit"
562                 Then I should see "Your command was successfully submitted"
563                 When I click "Done"
564                 Then "Current status" should be shown as "Critical"
566         @configuration @asmonitor @case-656
567         Scenario: Service extinfo page check configure link
568                 Verify that the configuration link on the extinfo page for a given service
569                 point to the right place.
571                 Given I am on the Service details page
572                 When I click "System Load"
573                 And I click "Configure"
574                 Then I should be on url "/monitor//index.php/configuration/configure?page=edit.php%3Fobj_type%3Dservice%26host%3Dlinux-server1%26service%3DSystem%2BLoad"
575                 And I should see "linux-server1" within frame "iframe"
577         @configuration @asmonitor @case-656
578         Scenario: Service extinfo page check performance graph link
579                 Verify that the performance graph link on the extinfo page for a given service
580                 point to the right place.
582                 Given I have PNP data for "linux-server1;System Load"
583                 And I am on the Service details page
584                 When I click "System Load"
585                 And I click "Show performance graph"
586                 Then I should be on url "/monitor/index.php/pnp/?host=linux-server1&srv=System%20Load"
587                 And I should see "linux-server1" within frame "iframe"
589         @configuration @asmonitor @case-657
590         Scenario: Service details Add/delete comment
591                 Verify that adding and deleting comments on services
592                 works.
594                 Given I am on the Service details page
595                 When I click "System Load"
596                 And I click "Submit a service comment"
597                 And I enter "A comment for this service" into "cmd_param[comment]"
598                 And I click "Submit"
599                 Then I should see "Your command was successfully submitted"
600                 When I click "Done"
601                 And I should see "A comment for this service"
602                 When I click "Delete comment"
603                 Then I should see "You are trying to delete a service comment"
604                 And I click "Submit"
605                 Then I should see "Your command was successfully submitted"
606                 When I click "Done"
607                 Then I shouldn't see "A comment for service host"
609         @configuration @asmonitor @bug-6780
610         Scenario: Unhandled problems - host in downtime
611                 Verify that hosts in downtime doesn't appear in unhandled problems
613                 Given I am on the main page
614                 When I have submitted a passive host check result "linux-server2;1;some output"
615                 And I click "uh_problems"
616                 Then I should see "linux-server2"
617                 When I have host "linux-server2" in downtime
618                 And I click "Refresh"
619                 Then I shouldn't see "linux-server2"
621         @configuration @asmonitor @bug-6780
622         Scenario: Unhandled problems - service in downtime
623                 Verify that a service in downtime doesn't appear in unhandled problems
625                 Given I am on the main page
626                 And I have submitted a passive host check result "linux-server1;0;Under load"
627                 And I have submitted a passive service check result "linux-server1;System Load;2;Under load"
628                 And I click "uh_problems"
629                 Then I should see "linux-server1"
630                 And I should see "System Load"
631                 When I have service "linux-server1;System Load" in downtime
632                 And I click "Refresh"
633                 Then I shouldn't see "linux-server1"
634                 And I shouldn't see "System Load"
637         @configuration @asmonitor @bug-6780
638         Scenario: Unhandled problems - service on host in downtime
639                 Verify that a service on a host in downtime doesn't appear in unhandled problems
641                 Given I am on the main page
642                 And I have submitted a passive host check result "linux-server1;0;Under load"
643                 And I have submitted a passive service check result "linux-server1;System Load;2;Under load"
644                 And I click "uh_problems"
645                 Then I should see "linux-server1"
646                 And I should see "System Load"
647                 When I have host "linux-server1" in downtime
648                 And I click "Refresh"
649                 Then I shouldn't see "linux-server1"
650                 And I shouldn't see "System Load"
652         @configuration @asmonitor @bug-7870
653         Scenario: I can use commands
654                 When I hover over the "Monitoring" button
655                 And I click "Process Info"
656                 And I click "Disable notifications"
657                 And I click "Submit"
658                 Then I should see "Command has been executed!"
659                 Then I shouldn't see "Disable notifications"
660                 And I should see "Enable notifications"