Commit Graph

3750 Commits

Author SHA1 Message Date
Michael ac0fdd7144 Change more loglines for checkables so checkable is quoted
refs #5528
2017-08-24 13:35:55 +02:00
Thomas Widhalm de9a097a97 Change loglines for checkables so checkable is quoted 2017-08-23 19:11:46 +02:00
Michael Friedrich e88b97079c API: Add execution_{start,end} attribute to 'process-check-result' action
fixes #5002
2017-08-21 17:20:56 +02:00
Michael Friedrich 445ee949da Merge pull request #5523 from Icinga/feature/enhance-client-connect-logging
Enhance client connect/sync logging and include bytes/zone in logs
2017-08-21 11:36:52 +02:00
Michael Friedrich 778c742b75 Merge pull request #5524 from Icinga/fix/cluster-fifo-optimize
Change FIFO::Optimize() frequency for large messages
2017-08-21 11:36:32 +02:00
Michael Friedrich 873a553a4f Enhance client connect/sync logging and include bytes/zone in logs
refs #5513
2017-08-21 11:31:24 +02:00
Michael Friedrich 732a5849d5 Change FIFO::Optimize() frequency for large messages
refs #5513
2017-08-21 11:24:39 +02:00
Michael Friedrich d075665d1b Merge pull request #5486 from Icinga/feature/remove-deprecated-graphite-legacy-mode
Graphite: Remove deprecated legacy schema mode
2017-08-17 20:06:47 +02:00
Michael Friedrich cb94b218a6 Merge pull request #5504 from spjmurray/fix/influxdb_timeouts_5460_5469
Fix TLS Race Connecting to InfluxDB
2017-08-17 18:25:17 +02:00
Michael Friedrich 52dcce972f Livestatus: Fix crash with empty stats columns
refs #5078
refs #5503
2017-08-16 15:28:15 +02:00
Michael Friedrich a43ae941b6 Merge pull request #5497 from Icinga/fix/api-object-query-type-error
API: Fix requested attrs/joins/meta type errors in object query response
2017-08-15 12:52:33 +02:00
Simon Murray abc3652b00 Fix TLS Race Connecting to InfluxDB
Rather than leaving stale connections about we tried to poll for data coming in
from InfluxDB and timeout if it didn't repond in a timely manner.  This introduced
a race where the timeout triggers, a context switch occurs where data is actually
available and the TlsStream spins trying to asynchronously notify that data is
available, but which never gets read.  Not only does this use up 100% of a core,
but it also slowly starves the system of handler threads at which point metrics
stop being delivered.

This basically removes the poll and timeout, any TLS socket erros should be
detected by TCP keep-alives.

Fixes #5460 #5469
2017-08-14 16:20:49 +01:00
Gunnar Beutner 6bc79b6b37 Merge pull request #5503 from Icinga/fix/livestatus-stats-groups
Fix grouping for Livestatus queries with 'Stats'
2017-08-14 16:19:18 +02:00
Gunnar Beutner 5402c1d610 Fix grouping for Livestatus queries with 'Stats'
refs #5078
2017-08-14 15:30:06 +02:00
Noah Hilverling 5b9337e130 Process: Fix JSON parsing error on process helper crash 2017-08-14 08:27:04 +02:00
Stefar77 6b66e332fb API: Fix requested attrs/joins/meta type errors in object query response
fixes #5377

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-08-11 16:23:29 +02:00
Gunnar Beutner 4d943c7f5c Implement additional functions for printing values with LLDB/GDB 2017-08-10 08:26:22 +02:00
Michael Friedrich eb5e299c4b Graphite: Remove deprecated legacy schema mode
This commit includes some code cleanup too.

fixes #4992
2017-08-09 18:52:35 +02:00
Michael Friedrich f6691b4936 Fix config validation for DB IDO categories 'DbCatEverything'
refs #5238
2017-08-09 16:31:03 +02:00
Michael Friedrich 3201d92fbd DB IDO: Fix host's unreachable state in history tables
fixes #5405
2017-08-07 11:10:02 +02:00
Michael I 3e54e34147 Update featurelistcommand.cpp
refs #5431
2017-07-25 13:35:20 +02:00
Gunnar Beutner c8b4fee843 Make rlimits configurable by adding three variables: RLimitFiles, RLimitProcesses and RLimitStack
refs #5367
2017-06-23 12:42:12 +02:00
Michael Friedrich 6397fedc3d Remove experimental redis feature before 2.7 release 2017-06-20 11:52:24 +02:00
Michael Friedrich 6ab5839f2f Merge pull request #5360 from Icinga/fix/wheezy-livestatus-dbl_max
livestatus/minaggregator: Buildfix for Debian wheezy
2017-06-19 17:27:11 +02:00
Markus Frosch e8681658b6 livestatus/minaggregator: Buildfix for Debian wheezy 2017-06-19 08:42:56 +02:00
mcktr 53908b7080 Fixed missing closing bracket in CLI command pki new-cert. 2017-06-18 15:13:16 +02:00
Michael Friedrich 67bd6d1813 Merge pull request #5316 from gitmopp/patch-1
Fix for stats min operator

fixes #3410
2017-06-16 21:02:17 +02:00
Michael Friedrich 6036ec20f5 Build fix for Debian Wheezy
fixes #5350
2017-06-16 16:57:05 +02:00
Michael Friedrich c6b375dcbd Merge pull request #5239 from Icinga/feature/check_nscp-4721
Add NSCP API check plugin for NSClient++ HTTP API
2017-06-13 21:56:58 +02:00
Jean Flach 39c24e9ec9 Add check_nscp_api plugin for NSClient++ API checks
refs #4721
2017-06-13 21:17:16 +02:00
Gunnar Beutner f9feb41877 Implement support for handling exceptions in user scripts 2017-06-13 14:03:41 +02:00
Michael Friedrich 2a4359d7e8 Windows build fix for InfluxdbWriter
refs #5219
fixes #5334
2017-06-07 14:16:15 +02:00
Michael Friedrich 89ac5b2fff GelfWriter: Add 'check_command' to CHECK RESULT/* NOTIFICATION/STATE CHANGE messages
This allows for much more easy filtering in Graylog web
similar to Graphite or InfluxDB and their template dashboards.
2017-06-06 20:23:26 +02:00
Michael Friedrich 41a400f552 Merge pull request #5330 from Icinga/feature/graphite-stats
GraphiteWriter: Add 'connected' to stats; fix reconnect exceptions
2017-06-06 20:13:33 +02:00
Michael Friedrich f42b820007 GraphiteWriter: Add 'connected' to stats; fix reconnect exceptions 2017-06-06 19:50:37 +02:00
Michael Friedrich f10815efa2 GelfWriter: Use async work queue and add feature metric stats
fixes #4532
2017-06-06 19:48:23 +02:00
gitmopp 65ed89c48d Fix for stats min operator
Fix for bug #3410
2017-06-01 19:30:04 +02:00
Gunnar Beutner 7ca485f63c Improve validation for attributes which must not be 'null' 2017-05-30 14:47:28 +02:00
Gunnar Beutner c9039e1850 Merge pull request #5292 from Icinga/fix/openssl-0.9.8-subjectaltname
Build fix for OpenSSL 0.9.8 and stack_st_X509_EXTENSION

fixes #5292
2017-05-29 09:45:34 +02:00
Gunnar Beutner 1fd2695e02 Fix compiler warnings
refs #5287
2017-05-29 09:13:19 +02:00
mcktr 9e1016dd4f Fix missing apostrophe in notification log
refs #5294
2017-05-26 17:58:04 +02:00
Michael Friedrich dab2522acc InfluxDB: Optimize work queue event handling
refs #5219
2017-05-26 17:11:13 +02:00
Michael Friedrich d0dcb8a658 ApiListener: Handle zero JSON-RPC WQs gracefully for stats
refs #5266
refs #5133
2017-05-26 17:02:36 +02:00
Michael Friedrich 28395b32f0 GraphiteWriter: Use a workqueue for event processing
This also adds reconnect handling and exceptions.

refs #5132
refs #5133
refs #5280
2017-05-26 15:18:14 +02:00
Michael Friedrich 79c45ea811 Build fix for OpenSSL 0.9.8 and stack_st_X509_EXTENSION 2017-05-26 13:16:20 +02:00
Michael Friedrich 647d82094f InfluxDB: Remove obsolete logger, now implemented in WorkQueue class
refs #5280
refs #5133
2017-05-24 17:01:46 +02:00
Michael Friedrich 3a5d4f3c8d DB IDO: Remove obsolete logger, now implemented in WorkQueue class
refs #5280
refs #5133
2017-05-24 16:52:15 +02:00
Michael Friedrich d366a63510 Add API & Cluster stats to /v1/status & icinga check performance metrics
refs #5133
2017-05-24 16:21:05 +02:00
Michael Friedrich b7358334fc Add feature stats to 'icinga' check as performance data metrics 2017-05-23 17:28:54 +02:00
Michael Friedrich 456cfdc636 Implement WorkQueue metric stats and periodic logging
refs #5133
2017-05-23 16:00:21 +02:00
Michael Friedrich 52d986d02b Revert "Add LogstashWriter feature"
This reverts commit f5a971f5b0.

refs #4054
2017-05-23 12:05:01 +02:00
Michael Friedrich 4c7660190f Revert "Review LogstashWriter feature implementation"
This reverts commit bd5ff814f2.

refs #4054
2017-05-23 12:04:08 +02:00
Gunnar Beutner fa874e659b Build fix for I2_LEAK_DEBUG 2017-05-22 11:42:47 +02:00
Gunnar Beutner 7130e5e387 Merge pull request #5264 from Icinga/feature/array-match
Implement new array match functionality

fixes #5264 
fixes #5263
2017-05-16 14:22:35 +02:00
Gunnar Beutner 958d3982c5 Add 'mode' argument for match, regex and cidr_match 2017-05-16 13:22:10 +02:00
Michael Friedrich 79dcb789c2 Move PerfdataValue() class into base library
This is required for libremote and ApiListener stats in #5133
2017-05-15 16:32:29 +02:00
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