Commit Graph

3694 Commits

Author SHA1 Message Date
Gunnar Beutner dc9f129060 Implement the Array#any and Array#all protoype functions 2017-05-15 15:59:44 +02:00
Gunnar Beutner 1b77f4b336 Implement the Dictionary#values prototype function 2017-05-15 15:54:48 +02:00
Michael Friedrich 37f7c7a294 Merge pull request #5262 from Icinga/fix/graylog-perfdata
Fix performance data processing in GelfWriter feature

fixes #4666
2017-05-15 14:08:39 +02:00
Michael Friedrich 2338db5f6a Fix performance data processing in GelfWriter feature
Includes fixes for possible crashes on empty check results.

fixes #4666
2017-05-15 13:46:43 +02:00
Gunnar Beutner 7e3b664140 Add missing ->GetName() calls
fixes #5256
2017-05-15 11:11:08 +02:00
Michael Friedrich f282126bb4 Don't allow acknowledgement expire timestamps in the past
fixes #5250
2017-05-15 10:23:21 +02:00
Michael Friedrich 3753f53a67 Fix cluster crash w/ config sync
refs #5212
2017-05-12 10:48:11 +02:00
Michael Friedrich ec6247ca35 Merge pull request #5247 from Icinga/feature/cluster-log-message
Add target object in cluster error messages to debug log

fixes #4288
2017-05-11 16:13:01 +02:00
Michael Friedrich 0f1aa23575 Add target object in cluster error messages to debug log
fixes #4288
2017-05-11 16:10:40 +02:00
Gunnar Beutner b366483466 Add subjectAltName X509 ext for certificate requests 2017-05-11 15:38:17 +02:00
Michael Friedrich 8d56f8e951 Fix that host downtimes might be triggered even if their state is Up
If the checkresult's state is 1, this is internally mapped to Up.
The added downtime will check for triggers and might cause a wrong
downtime start event.

refs #5202
2017-05-11 15:05:50 +02:00
Gunnar Beutner 1c255140b5 Merge pull request #5242 from Icinga/feature/object-decl-expr
Allow expressions for the type in object/template declarations

fixes #5242
2017-05-11 14:30:29 +02:00
Gunnar Beutner d05b7c4178 Allow expressions for the type in object/template declarations 2017-05-11 14:21:30 +02:00
Simon Murray fc2c2d9a29 Verbose InfluxDB Error Logging
On a non 204 response we parse the HTTP response until complete e.g. do the headers
and body, not just the header.  A new interface is added to the response to allow us
to determine the body size so that it may be read out and buffered.  The body is
parsed and any error message printed out.  In the event that the parsing fails the
raw body is dumped out; better than nothing!

fixes #4411

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-05-11 12:13:41 +02:00
Rune Darrud 273ca6a2cc Fix persistent comments for Acknowledgements
fixes #4818

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-05-10 17:10:22 +02:00
Michael Friedrich e0bfe0a5d0 Remove deprecated "DbCat1 | DbCat2" notation for DB IDO categories
This allows for a specific config validation function.
2017-05-10 14:32:53 +02:00
Michael Friedrich 452f8a1f0d Merge pull request #5042 from mbrgm/upgrade-docs-link
Add link to upgrade documentation to DB IDO log message
2017-05-09 16:17:58 +02:00
Gunnar Beutner c611a31670 Fix code style issues
refs #5219
2017-05-09 09:01:08 +02:00
Gunnar Beutner f9b34cca30 Fix compiler warning
refs #5219
2017-05-08 08:47:27 +02:00
Michael Friedrich 3649a5a0d7 InfluxdbWriter: Use a work queue for async message processing; add stats log/api 2017-05-05 17:56:51 +02:00
Michael Friedrich f9e0fd2e3e Beautify some log message for cluster config sync
refs #5212
2017-05-04 15:21:32 +02:00
Gunnar Beutner dadc21e12a Merge pull request #5225 from Al2Klimov/bugfix/mysql_init-mysql_error-3664
Don't call mysql_error() after a failure of mysql_init()

fixes #3664
2017-05-04 14:58:55 +02:00
Alexander A. Klimov 0da226163f Don't call mysql_error() after a failure of mysql_init()
refs #3664
2017-05-04 12:22:34 +02:00
Gunnar Beutner f9f3358d09 Make sure all objects are set to 'active' before calling the Start() method
fixes #5224
2017-05-04 10:37:34 +02:00
Gunnar Beutner 4134f7fe42 Make sure modified attributes are applied before calling the objects' Start method
refs #4696
2017-05-03 12:02:19 +02:00
Jean Flach 7c70d51b27 Add a few extra log messages
fixes #5212
2017-05-02 10:54:06 +02:00
Jean Flach e29e25aefd Fix timestamp path
fixes #5211
2017-05-02 10:30:42 +02:00
Michael Friedrich 35f6f60390 Docs: Fix invalid/redirected URLs
fixes #5150
2017-04-28 17:02:13 +02:00
Michael Friedrich 21ce07046c DB IDO: Disable external command history by default
That's not used in Icinga Web 2 and might lock the feature
on cleanup.

refs #4788
2017-04-28 09:37:27 +02:00
Gunnar Beutner b62241e0ba Remove redundant #include
refs #5168
2017-04-27 09:24:37 +02:00
Gunnar Beutner d03d09160a Clean up the IsAbsolutePath patch
refs #5168
2017-04-27 05:31:44 +02:00
Jean Flach 293625c17b Fix absolute include paths for windows
fixes #5168
2017-04-24 15:39:21 +02:00
Michael Friedrich d7b939d99b Redis: Dump severity field to icinga:{host,service}state
refs #5117
2017-04-20 16:48:00 +02:00
Andreas Scherbaum 775bee8fe1 Replace http:// links with https:// links where a secure website exists
Leave out tests and third party tools, and license strings

fixes #5151

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-04-20 11:33:27 +02:00
Gunnar Beutner 0f81c357c0 Implement source_location attribute for the ConfigObject class
refs #5120
2017-04-19 15:30:11 +02:00
Michael Friedrich dc7980586b Implement severity attribute for host/service objects
refs #5117
2017-04-13 16:09:31 +02:00
Michael Friedrich 17615ac444 Redis: Dump host and service state events
fixes #5163
2017-04-12 16:58:08 +02:00
Michael Friedrich e4ae789a7c Set zone attribute to no_user_modify for API POST requests
fixes #5166
2017-04-12 09:25:28 +02:00
Gunnar Beutner c32badaff5 Add missing base class call for ScheduledDowntime::ValidateRanges()
fixes #5146
2017-04-06 11:25:40 +02:00
Jean Flach 1459970986 Add missing header
fixes #5135
2017-04-05 10:26:54 +02:00
Thomas Gelf ed2ebdf0d0 RedisWriter: publish Icinga 2 stats as a simple "keepalive"
Use case: a reader subscribes to config changes. As they happen rarely, chances
are good that the connection will time out in the meantime. Now, a reconnect is
easy - but you wouldn't know whether you missed any config changes. So you are
required to issue a new sync to be on the safe side. Given a 60sec connection
timeout (think: SSL layer, firewalls etc) when no traffic happens this would be
too expensive.

Some kind of a heartbeat available for subscription would allow subscribers to
artificially keep the connection alive. As a first simple solution to this I'd
suggest to publish CIB data, that might be useful anyways.

refs #4991
fixes #5098

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-03-29 10:17:03 +02:00
Michael Friedrich 2f84ff84b2 Fix object deletion on restart
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich f76f655dc1 Rename source file
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich af3e2c429f Add exception handler for Redis WorkQueue
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich a5556cbaae Add log message for config/status dump end for Redis
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich 91b8decaac Fix possible crash on startup status updates in Redis
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich 3310cc30ae Fix hash value for empty custom attributes
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 9de4c8bc58 Fix memory leak in RedisWriter::ExecuteQuery
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner dac9775b93 Add COUNT parameter for SCAN
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 28b2345a3b Updated remaining queries to use ExecuteQuery()
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 844e2bf68c Replace existing queries with ExecuteQuery() calls
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich fcd9e3666d Implement config dump/update/delete publishing; fix runtime created object creation
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 75bfd775b9 Implement RedisWriter::ExecuteQuery
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich f29a82bcfe Add properties and vars config checksums
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 6178ca3886 Use GetHostService() instead of casts
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 6b48a36192 Implement the db_index property for the RedisWriter class
fixes #5081
2017-03-29 10:17:03 +02:00
Gunnar Beutner 1bbdd082b0 Use transactions for the initial config and status updates
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner c64d296edb Make sure to use pretty-printed checksums in JSON blobs; remove semicolons
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 2d9be77260 Clean up the code a bit
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 0c25d14d0c Fix crash in SHA1
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 2773d93d40 Update log message
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich 0b466aabc0 Start working on checksum config dump
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 50310fb5bc Add missing arguments
refs #5087
2017-03-28 13:24:21 +02:00
Michael Friedrich 900b33dc5d IDO: Do not terminate Icinga 2 if the database schema version does not match
Instead, log an error and continue.

fixes #4440
2017-03-28 10:16:07 +02:00
Gunnar Beutner 5d45c74be3 Improve function metadata by adding arguments
fixes #5087
2017-03-27 14:43:19 +02:00
Gunnar Beutner 95093bae3e Move log message
refs #5094
2017-03-27 11:01:14 +02:00
Gunnar Beutner a73c1580ca Don't try to remove comments that were statically configured
fixes #5094
2017-03-27 10:46:35 +02:00
Gunnar Beutner 2d6434e96a Improve log message in ConfigObjectUtility::DeleteObjectHelper
refs #5094
2017-03-27 10:46:35 +02:00
Michael Friedrich bd5ff814f2 Review LogstashWriter feature implementation
refs #4054
2017-03-20 14:30:03 +01:00
Kai Goller f5a971f5b0 Add LogstashWriter feature
This adds the UdpSocket class.

refs #4054
2017-03-20 14:30:03 +01:00
Michael Friedrich 06434b3e59 IDO: Fix where condition for downtime history updates
fixes #5080
2017-03-20 13:19:37 +01:00
Gunnar Beutner 94aeaa2e5c Don't use raw pointers in boost::bind
refs #4991
2017-03-16 15:33:59 +01:00
Gunnar Beutner dd7862f08a Add missing freeReplyObject calls
refs #4991
2017-03-16 15:09:41 +01:00
Gunnar Beutner 62c1a64788 Merge DEL queries into one query
refs #4991
2017-03-16 15:09:41 +01:00
Gunnar Beutner 00eba25ad7 Add ASSERTs for the Redis queries
refs #4991
2017-03-16 15:09:41 +01:00
Gunnar Beutner f862923dc7 Remove some log messages
refs #4991
2017-03-16 15:09:41 +01:00
Gunnar Beutner 18e6474f1e Make sure all Redis tasks are executed on the WQ threads
refs #4991
2017-03-16 14:23:31 +01:00
Gunnar Beutner 3a5caf15eb Remove redundant check
refs #4991
2017-03-16 13:58:35 +01:00
Gunnar Beutner 04be7a1f1e Implement event handlers for config and status updates
fixes #5072
fixes #5073
refs #4991
2017-03-16 13:58:31 +01:00
Gunnar Beutner df05e24d52 Fix attribute type filter
refs #4991
2017-03-16 13:58:28 +01:00
Gunnar Beutner 0eada26b04 Only export config objects to Redis
refs #4991
2017-03-16 13:58:23 +01:00
Michael Friedrich e5c0295c9e Redis: First attempt of a reconnect config dump
refs #5072
refs #4991
2017-03-16 13:58:18 +01:00
Gunnar Beutner 96b3c7d90b Get rid of event IDs for Redis
fixes #5067
2017-03-15 15:10:58 +01:00
Gunnar Beutner 1cab2d7b16 Fix incorrect handling for SCAN results
fixes #5065
2017-03-15 14:55:41 +01:00
Gunnar Beutner 4da5f7d52c Add another log message
refs #4991
2017-03-15 14:55:37 +01:00
Gunnar Beutner a21da31ef6 Add missing free call
refs #4991
2017-03-15 14:55:19 +01:00
Gunnar Beutner 645e260f9b Make function names available in the API
fixes #5064
2017-03-15 11:18:08 +01:00
Gunnar Beutner 39f1b4589a Improve handling for missing start_time and finish_time values
fixes #5062
2017-03-15 10:41:08 +01:00
Gunnar Beutner 34c69d9556 Only send events to Redis when there is at least one subscriber
refs #4991
2017-03-14 15:19:02 +01:00
Gunnar Beutner 10ddcbe4d3 Implement support for expiring subscriptions
refs #4991
2017-03-14 15:19:02 +01:00
Michael Friedrich 3e98e3fb2c Better error handling and fixes
refs #4991
2017-03-14 15:18:39 +01:00
Michael Friedrich d3e3159e6b Implement event subscriptions
refs #4991
2017-03-14 14:47:06 +01:00
Michael Friedrich a8587f5697 Ensure to check the auth command return value
refs #4991
2017-03-14 14:46:58 +01:00
Michael Friedrich d3a1f53647 API: Fix error code for invalid 'attrs' type for POST requests
fixes #5043
2017-03-01 11:33:43 +01:00
Marius Bergmann 38d7f9a19e Add link to upgrade documentation to log message
When there's a schema version mismatch after an upgrade, the following
message is logged:

```
Schema version 'x.y.z' does not match the required version 'x.y.z' (or
newer)! Please check the upgrade documentation.
```

After reading this log message, users have to search for the upgrade
section in the docs in order to perform the necessary steps.

I added the URL for the relevant sections to the log message, so users
can simply click/copy it.
2017-02-28 17:02:10 +01:00
Sebastian Marsching 118d36f384 Fixed return code check in CRL loading
The code for loading CRLs was incorrectly assuming that OpenSSL's
X509_LOOKUP_load_file function returns zero on success, but actually it
returns one on success. This commit fixes this return code check so
that a CRL can be loaded.

fixes #5040

Signed-off-by: Gunnar Beutner <gunnar.beutner@icinga.com>
2017-02-28 14:08:24 +01:00
Michael Friedrich 0dfe571669 DB IDO: Fix actual_end_time update for non-triggered flexible downtimes
refs #5033
2017-02-24 15:29:39 +01:00
Michael Friedrich 60f334df52 Fix notify/sticky parameter handling in 'acknowledge-problem' API action
refs #13939
2017-02-23 12:30:28 +01:00
Michael Friedrich 1ad26b8524 IDO MySQL: Don't immediately execute an upsert insert query callback
refs #4603
2017-02-22 17:36:17 +01:00
Michael Friedrich 6f1efff46c Add more debug build logging to IDO MySQL
refs #4603
2017-02-22 17:35:57 +01:00