Commit Graph

4201 Commits

Author SHA1 Message Date
Michael Friedrich 119965fe24 Adjust deprecation removal for compat features
As discussed with @lippserd :)

refs #6032
refs #6033
2018-05-14 15:55:30 +02:00
Michael Friedrich 5b19784b25 Change log level for failed event command execution
refs #5692
2018-05-11 15:24:37 +02:00
Michael Friedrich 2d87b667ab Execute event commands only on actively checked host/service objects in an HA zone
fixes #3431
2018-05-11 12:58:33 +02:00
Michael Friedrich 964a5ebd57 Deprecate compatlog feature
fixes #6032
2018-05-09 17:37:28 +02:00
Michael Friedrich f070d2136a Ensure that user input for groups is unique on API object creation
refs #4732
2018-05-09 17:26:10 +02:00
Michael Friedrich 88d99094bf Ensure that added group members are unique
refs #4732
2018-05-09 17:26:07 +02:00
Michael Friedrich 6660a45c41 Implement Array::Unique() and add unit tests
refs #4732
2018-05-09 17:25:55 +02:00
Michael Friedrich 16e8e3cf4b Fix problem with reminder notifications if the checkable is flapping 2018-05-09 09:54:48 +02:00
Michael Friedrich f0f0b47057 Fix style and logging from review; enhance output
refs #4508
2018-05-08 16:59:09 +02:00
Jean Flach b8fc3a3ffa Small changes to node wizard/command
refs #4508
2018-05-08 16:33:06 +02:00
Michael Insel 662d36fd16 Warn in case of failed conf.d exclusion also on master setup
refs #4508
2018-05-08 16:33:04 +02:00
Jean Flach 026359d404 Rename "dont-disable-confd"
Double negation is confusing. Also this would change the default
behaviour and could lead to problems in automated environments.

refs #4508
2018-05-08 16:32:56 +02:00
Jean Flach a43cf8e9ef Warn in case of failed conf.d exclusion
refs #4508
2018-05-08 16:32:53 +02:00
Michael Insel 58f923f5f7 Allow to disable conf.d inclusion through node wizard/setup
This implements a function to disable the conf.d directory through the node wizard/setup.

refs #4508
2018-05-08 16:31:59 +02:00
jre3brg 2fd94073ba Fixed opentsdb metric name with colon chars 2018-05-08 09:40:13 +02:00
Jean Flach c54e042942 Add activation priorities for config object types
This patch ensures that specific configuration types
are pre-activated and post-activated. In general,
logging is first, then common configuration objects
like host/service, downtimes, etc.
In the end, all features are activated after to ensure
that notifications are only sent once downtimes are applied.
A similar thing happens for starting with checks too early.
The ApiListener feature runs first to allow cluster connections
at first glance.

fixes #6057
fixes #6231
2018-05-04 11:25:47 +02:00
Jean Flach 88dc230294
Merge pull request #6285 from Icinga/feature/config-validation-timestamps
Add support for config validation log timestamps
2018-05-03 14:22:39 +02:00
Michael Friedrich e606a443b7 Add support for config validation log timestamps
This also adds implicit support for the startup.log
generated from API config package validation, e.g. used by
the Icinga Director.

fixes #3455
2018-05-03 11:35:29 +02:00
Michael Friedrich 1102f60b43 Revert "Implement support for ECC certificates"
This reverts commit 10691db5b1.

refs #5555
refs #6200
2018-05-02 16:54:07 +02:00
Jean Flach 0b1d5013ac Revert "fixup set rlimit stack failed condition"
This reverts commit bf959371c4.

fixes #6257
2018-04-25 14:26:40 +02:00
Jean Flach 04094032b5
Merge pull request #6236 from Icinga/feature/ido-pgsql-tls
Add TLS support for DB IDO PostgreSQL feature
2018-04-24 16:02:39 +02:00
Jean Flach 2c8dfcc1aa Fix typo 2018-04-23 10:18:31 +02:00
Michael Friedrich e6f214fa29 Log warning when sysconfig file cannot be read
refs #6215
2018-04-19 10:09:09 +02:00
Jean Flach 8b0126411b Add improved error messages for resource limits
refs #6215
2018-04-19 08:55:05 +02:00
Michael Friedrich fe0bf161cb Add TLS support for DB IDO PostgreSQL feature
fixes #6211
2018-04-18 15:30:06 +02:00
Michael Friedrich c7b6488e90
Merge pull request #6217 from Icinga/fix/reschedule-checks
Fix check behavior on restart
2018-04-17 20:59:03 +02:00
Michael Friedrich a8b5d8e64a
Merge pull request #6205 from Icinga/feature/api-verbose-errors
API: Unify verbose error messages
2018-04-17 16:40:11 +02:00
Jean Flach 1e0f67d778 Fix ES 5 support 2018-04-17 09:17:20 +02:00
Jean Flach fd5d4c5974 Move _type into url 2018-04-17 09:17:20 +02:00
Michael Friedrich 975ac47f8e Fix Elastic 6 support
fixes #5905
2018-04-17 09:17:20 +02:00
Jan Beich 106be295eb Explicitly use long with boost::posix_time
In file included from lib/base/base_unity.cpp:61:
lib/base/timer.cpp:295:31: error: no matching conversion for functional-style cast from 'double' to 'boost::posix_time::milliseconds' (aka 'subsecond_duration<boost::posix_time::time_duration, 1000>')
                        l_TimerCV.timed_wait(lock, boost::posix_time::milliseconds(wait * 1000));
                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from lib/remote/remote_unity.cpp:19:
lib/remote/eventqueue.cpp:111:30: error: no matching conversion for functional-style cast from 'double' to 'boost::posix_time::milliseconds' (aka 'subsecond_duration<boost::posix_time::time_duration, 1000>')
                if (!m_CV.timed_wait(lock, boost::posix_time::milliseconds(timeout * 1000)))
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from lib/checker/checker_unity.cpp:1:
lib/checker/checkercomponent.cpp:128:26: error: no matching conversion for functional-style cast from 'double' to 'boost::posix_time::milliseconds' (aka 'subsecond_duration<boost::posix_time::time_duration, 1000>')
                        m_CV.timed_wait(lock, boost::posix_time::milliseconds(wait * 1000));
                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/date_time/time_duration.hpp:270:30: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'double' to 'const boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>' for 1st argument
  class BOOST_SYMBOL_VISIBLE subsecond_duration : public base_duration
                             ^
/usr/local/include/boost/date_time/time_duration.hpp:270:30: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'double' to 'boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>' for 1st argument
/usr/local/include/boost/date_time/time_duration.hpp:286:59: note: candidate template ignored: disabled by 'enable_if' [with T = double]
                                typename boost::enable_if<boost::is_integral<T>, void>::type* = 0) :
                                                          ^
2018-04-15 04:06:11 +00:00
Michael Friedrich b53685db59 Fix error handling on config package delete 2018-04-12 19:24:08 +02:00
Jean Flach 0e8971b48a
Merge pull request #6218 from terra-nova/issue-5277
Fix issue #5277
2018-04-12 14:50:11 +02:00
Michael Friedrich 026ce17fb6
Merge pull request #6209 from Icinga/feature/unify-master-zone-names
Unify zone name settings in node setup/wizard; add connection-less mode for node setup
2018-04-11 20:10:39 +02:00
fbachmann 3f75ccbe75 fix bug in Downtime::IsInEffect() method that would always return false if the triggering window for a flexible downtime had passed 2018-04-10 20:16:09 +02:00
Jean Flach 1a9c1591c0 Fix check behavior on restart
This patch changes the way checkresults are handled during a restart.

  1. Check results coming in during a shutdown are ignored.
  2. Upon start, checks which should have ran (next_check in the past),
  are re-scheduled within the first minute.

This new behavior means there will be no more "Unknown - Terminated"
checkresults during a restart and checks with high check_interval will
be run earlier if they were already scheduled to run. The downside is
that after Icinga2 was down for a while, there will be a lot of checks
within the first minute. Our max concurrent check should take care of
this though.
2018-04-10 15:52:50 +02:00
Michael Friedrich f2ce5b549c
Merge pull request #6207 from Icinga/fix/nscp-api-multiple-params
Fix multiple parameter problems for check_nscp_api
2018-04-09 10:07:04 +02:00
Michael Friedrich 7c0ef80279 Implement support for connection-less node setup (no csr auto-signing connect) 2018-04-06 19:49:01 +02:00
Michael Friedrich 9f2694bdc1 Unify setting the local and parent zone names for node wizard/setup 2018-04-06 19:18:19 +02:00
Michael Friedrich abdc479d6a Unify setting the master zone name for 'node wizard|setup` in master mode 2018-04-06 17:29:37 +02:00
Michael Friedrich 194c99a86e Allow to disable brackets for the Url class and Format()
This commit also adds unit tests.

refs #5706
2018-04-06 15:22:17 +02:00
Michael Friedrich 2c5e142172 Add ApplicationVersion built-in constant
refs #5784
2018-04-06 13:41:22 +02:00
Michael Friedrich 1b31ec8378 Fix verbose errors in config files handler 2018-04-06 12:55:03 +02:00
Michael Friedrich 17846e04d8 Fix verbose error message in modify object handler 2018-04-06 12:52:17 +02:00
Michael Friedrich 6b2decb44b Fix verbose error handling in variable and template query handlers 2018-04-06 12:50:06 +02:00
Noah Hilverling 24752f3733
Merge pull request #6204 from Icinga/fix/api-create-object-exists-errors
API: Check if objects exists and return proper error message
2018-04-06 12:47:31 +02:00
Michael Friedrich 3e83e94c15 Fix object and status query verbose errors 2018-04-06 12:47:20 +02:00
Michael Friedrich bd7598cb1b API: Check if objects exists and return proper error message 2018-04-06 12:32:27 +02:00
Michael Friedrich c4a6ab0211 Add diagnostic_information as verbose error to config object handlers 2018-04-06 12:26:49 +02:00
Jean Flach 6d81c5c34f
Merge pull request #6199 from Icinga/fix/action-http-code
Return 500 when no api action is successful
2018-04-06 11:20:43 +02:00
Jean Flach f133c7914e Build fix 2018-04-06 10:43:33 +02:00
Michael Friedrich a00197e919 Refactor actions error messages 2018-04-06 10:30:27 +02:00
Michael Friedrich 4bf731fc16 More config stages refactoring 2018-04-06 10:13:08 +02:00
Noah Hilverling 22c3a7933e Fix API action status codes 2018-04-06 10:06:15 +02:00
Michael Friedrich 36cdf8a0d2 More refactoring of config packages errors 2018-04-06 09:53:54 +02:00
Michael Friedrich de2d18d85d Enhance error handling in type query handler 2018-04-05 17:23:26 +02:00
Michael Friedrich 7f015c0d2f Enhance error handling in config packages handler 2018-04-05 17:21:14 +02:00
Michael Friedrich 75c5e6f6b0 Enhance error handling in config stages handler 2018-04-05 17:17:30 +02:00
Michael Friedrich 1dd8409691 Check for verbose error handling in SendJsonError() 2018-04-05 17:17:06 +02:00
Jean Flach 9b291be989 Return 500 when no api action is successful
fixes #5095
2018-04-05 15:56:06 +02:00
Michael Friedrich 3a8017fd99
Merge pull request #6195 from Icinga/fix/api-console-crash
Fix crash in remote api console
2018-04-05 15:34:47 +02:00
Michael Friedrich 8eec0487bb
Merge pull request #6198 from Icinga/deprecate-statusdatawriter
Deprecate Statusdatawriter
2018-04-05 15:32:32 +02:00
Michael Friedrich d398eca581
Merge pull request #6196 from Icinga/fix/influxdb-escaping
Fix InfluxDB backslash escaping
2018-04-05 15:27:06 +02:00
Jean Flach 7bdbd2b074 Deprecate Statusdatawriter
refs #6033
2018-04-05 09:32:07 +02:00
Noah Hilverling 0e17632bc4 Fix InfluxDB backslash escaping
fixes #6182
2018-04-04 13:02:48 +02:00
Jean Flach 69ea2f3a64 Fix crash in remote api console 2018-04-04 12:23:45 +02:00
Michael Friedrich da9b3991aa
Merge pull request #6163 from Icinga/fix/handle-restart
Fix reload handling by updating the PID file before process overtake
2018-04-03 17:18:29 +02:00
Michael Friedrich ecbbc2fcc5
Merge pull request #6194 from Icinga/feature/metric-unit-elastic-gelf
Elasticsearch/GELF: Add metric unit to performance data fields
2018-04-03 17:12:29 +02:00
Michael Friedrich d384dee204
Merge pull request #6193 from Icinga/fix/gelfwriter-invalid-perfdata-crash
GelfWriter: Fix crash on invalid performance data metrics
2018-04-03 14:52:12 +02:00
Michael Friedrich 313f25163b Elasticsearch/GELF: Add metric unit to performance data fields
Seen this inside the InfluxDBWriter code, makes sense to store
this in Elasticsearch too.
2018-04-03 14:49:50 +02:00
Michael Friedrich 6609ec647f GelfWriter: Fix crash on invalid performance data metrics
Spotted while comparing the source code of several performance data
writer.

refs #6191
2018-04-03 14:43:48 +02:00
Michael Friedrich 85eba79f55 Elasticsearch: Fix crash with invalid performance data metrics
fixes #6191
2018-04-03 14:38:25 +02:00
Michael Friedrich b11ab95f41 Fix crash without CORS config settings
fixes #6173
refs #6098
2018-03-21 20:42:31 +01:00
Jean Flach 92f7242db1
Merge pull request #6119 from tclh123/dev
fixup set rlimit stack failed condition
2018-03-21 09:56:47 +01:00
Michael Friedrich 064fc80cc3
Merge pull request #6098 from Icinga/fix/improve-cors-implementation
Clean up CORS implementation
2018-03-19 16:00:36 +01:00
Michael Friedrich 313b2a759e
Merge pull request #6016 from Icinga/fix/state-filters-for-custom-notifications
Check notification state filters for problems only, not for Custom, etc.
2018-03-19 15:52:37 +01:00
Jean Flach a742e64e4d Fix reload handling
Make sure we have written the new PID before letting it take over.
2018-03-14 10:43:59 +01:00
Gunnar Beutner 9b0fccfd80
Merge pull request #6153 from Icinga/fix/api-no-packages
Improve error handling for empty packages in /v1/config/packages
2018-03-13 09:23:01 +01:00
Michael Insel 592d1c7d7e Replace std::vector:push_back with initializer list
This replaces a few std::vector::push_back calls with initializer lists.
2018-03-12 20:35:49 +01:00
Michael Friedrich 429f518b49 Improve error handling for empty packages in /v1/config/packages
- If there is no package main directory, assume "empty packages".
- Catch exceptions thrown through GlobRecursive() and present a better http 500
to the user.

The packages directory tree is automatically created with the first
package creation, either from the user, or by the `_api` package.

fixes #6129
2018-03-07 13:35:09 +01:00
Gunnar Beutner 9cd5298d8b Ensure that SetCorked() works properly 2018-03-06 09:03:35 +01:00
Gunnar Beutner b172a67867 Fix incorrect argument type for JsonRpc::SendMessage 2018-03-06 08:58:19 +01:00
Gunnar Beutner 9b72a6c2f3
Merge pull request #6135 from Icinga/fix/limit-api-package-size
Limit JSON RPC message size
2018-03-05 13:24:09 +01:00
Jean Flach 1bdd14b428 Limit anonymous connections to 25 2018-03-05 13:22:43 +01:00
Noah Hilverling 54ff60cd8c Limit JSON-RPC message size 2018-03-05 10:29:05 +01:00
Noah Hilverling d0a97ddf64 Add counter for current concurrent checks to Icinga check
fixes #4939
2018-03-01 15:01:55 +01:00
Noah Hilverling 186cad9872 Clean up CORS implementation 2018-03-01 14:04:56 +01:00
Gunnar Beutner d23c03bfa5
Merge pull request #6134 from gunnarbeutner/fix/incorrect-content-length-limits
Fix incorrect HTTP content length limits
2018-02-28 14:16:15 +01:00
Gunnar Beutner a3bf8cd26e
Merge pull request #6133 from Icinga/fix/cork-socket
Limit the number of HTTP/JSON-RPC requests we read in parallel
2018-02-28 12:48:06 +01:00
Gunnar Beutner 45c2803f3e Fix incorrect HTTP content length limits 2018-02-28 12:28:02 +01:00
Gunnar Beutner a9fb714578
Merge pull request #6116 from Icinga/fix/windows-service-restart
Fix Windows reload
2018-02-28 12:23:53 +01:00
Gunnar Beutner c1837ea90b
Merge pull request #6131 from Icinga/feature/log-master-ticket-invalid
Log which ticket was invalid on the master
2018-02-28 12:22:34 +01:00
Gunnar Beutner 6848af50ff Add SetCorked() calls to the JsonRpcConnection class 2018-02-28 11:42:05 +01:00
Jean Flach d0cf7c654e Use cork in tlsstream and HTTP connection 2018-02-28 11:40:58 +01:00
Jean Flach 7d103aaf1b Add cork 2018-02-28 11:40:58 +01:00
Gunnar Beutner a4a73fa67c Fix null ptr dereference in HttpServerConnection::ProcessMessageAsync 2018-02-28 11:07:19 +01:00
Gunnar Beutner 6d01808adf Fix incorrect return value 2018-02-28 10:50:33 +01:00
Michael Friedrich ad31e0d118 Log which ticket was invalid on the master
This helps debugging a lot, especially to reproduce the issue
why the ticket is invalid.
2018-02-28 10:18:29 +01:00
Jean Flach 01c7f20170 Require systemd headers
Only mandatory if using systemd
2018-02-27 15:54:58 +01:00
lihan cc24ae217e fixup set rlimit stack failed condition 2018-02-27 12:56:36 +08:00