Uwe Ebel
1ca8b293cb
Make the cipher list configurable for TLS streams
...
fixes #11063
Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2016-07-18 13:40:00 +02:00
Gunnar Beutner
959e2501aa
Avoid duplicate entries in the icinga_objects table for commands
...
refs #12147
2016-07-15 09:40:39 +02:00
Gunnar Beutner
1bd235b9fb
Improve IDO performance
...
refs #12147
2016-07-13 14:44:53 +02:00
Gunnar Beutner
60c52f2109
Fix crash on Windows
...
fixes #11730
2016-07-12 15:33:44 +02:00
Gunnar Beutner
ea57f0045e
Fix deadlock in DbObject::SendVars{Config,Status}Update
...
fixes #12127
fixes #12085
2016-07-12 11:44:36 +02:00
Michael Friedrich
ca42b4658a
DB IDO: Change alias column to varchar(255) in MySQL
...
fixes #10061
2016-07-07 18:48:09 +02:00
Michael Friedrich
72facb1be0
DB IDO: Log a deprecation warning for categories
...
refs #12024
2016-07-07 15:44:31 +02:00
Michael Friedrich
124c80beab
Require DB IDO v1.14.1 for 2.5.0
...
fixes #11967
2016-07-07 12:27:56 +02:00
Michael Friedrich
a0a5989181
Add missing index on statehistory table for DB IDO cleanup
...
fixes #12107
2016-07-06 12:17:41 +02:00
Michael Friedrich
f87f20e9ec
DB IDO: Do not populate logentries table by default
...
Not required by Icinga Web 2 and therefore obsolete as default.
fixes #12106
2016-07-06 11:52:20 +02:00
Michael Friedrich
915ebe17cd
ConfigCompiler should not log included files by default
...
fixes #11419
2016-07-05 15:43:48 +02:00
Michael Friedrich
5836b5b868
Fix: include_recursive should gracefully handle inaccessible files
...
fixes #12098
2016-07-05 15:40:49 +02:00
Michael Friedrich
9b873d60c2
Ensure to clear the SSL error queue before calling SSL_{read,write,do_handshake}
...
fixes #12100
2016-07-05 15:25:02 +02:00
Michael Friedrich
c73e4d3328
Fix Downtime validation function signature
...
refs #11483
2016-07-05 13:17:18 +02:00
Michael Friedrich
85afec8952
Fix setsockopt() error on Windows
...
refs #12003
2016-07-05 13:16:14 +02:00
Simon Murray
c6add53152
Fix InfluxDB Writer Key Escaping
...
The escaping wasn't being performed on measuerments, keys or tag values. The
escape function was returning the input and not the modified ouput, so this
has been fixed
refs #12047
Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2016-06-27 12:07:07 +02:00
Gunnar Beutner
6de6ea5e42
Build fix for OpenSSL 1.1.0
...
fixes #12044
2016-06-27 08:28:22 +02:00
Michael Friedrich
c688a94f8a
API: Add missing downtime_depth attribute
...
fixes #12041
2016-06-25 17:32:12 +02:00
Michael Friedrich
ab4ba18238
Allow strings in Dependency states filter
...
refs #11445
2016-06-24 14:17:24 +02:00
Michael Friedrich
1451a0e5ad
Add lag thresholds to cluster-zone check
...
fixes #11772
2016-06-24 10:33:04 +02:00
Michael Friedrich
091274e417
Change DB IDO 'categories' attribute to Array notation
...
Example:
categories = [ "DbCatProgramStatus", "DbCatState" ]
The old method with constants and OR is still supported but deprecated.
refs #11445
fixes #12024
2016-06-23 14:55:01 +02:00
Michael Friedrich
14fdb794e2
Allow strings in state and type filters (config, API)
...
fixes #11445
2016-06-23 14:52:45 +02:00
Michael Friedrich
7077ca1a53
Add acknowledgement type to Graphite, InfluxDB, OpenTSDB metadata
...
fixes #12018
2016-06-23 13:04:23 +02:00
Gunnar Beutner
906ab613f3
Fix crash when using include_recursive in an object definition
...
fixes #12022
2016-06-22 17:01:36 +02:00
Michael Friedrich
7f56a04dd5
DB IDO: Add missing indexes for icinga_endpoints* and icinga_zones* tables
...
fixes #10066
2016-06-22 12:56:24 +02:00
Gunnar Beutner
428850a6b3
Fix: ConfigWriter::EmitScope incorrectly quotes dictionary keys
...
fixes #12016
2016-06-22 12:35:47 +02:00
Michael Friedrich
067cb8d283
DB IDO: Fix overflow in current_notification_number column (MySQL)
...
fixes #11962
2016-06-22 12:13:49 +02:00
Simon Murray
e3645aa2f7
Fix hanging API connections
...
There was a problem identified where an upstream API connection was found hanging waiting
for a TLS handshake to complete. Seeingly the TCP connection was ESTABLISHED locally but
not cleanly terminated remotely. The Socket events layer never triggered the TLS handshake
oddly. This however enables TCP keep alive packets to detect broken connections, raising
EPOLLERR and breaking the deadlock condition so that the agent will attempt to reconnect
at a later time.
fixes #12003
Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2016-06-22 09:25:00 +02:00
Gunnar Beutner
e3f1c1ec6f
Make sure timestamps are formatted as integers in macro strings
...
refs #11483
2016-06-21 11:29:12 +02:00
Gunnar Beutner
b5a38f6707
Fix compatibility issue with the $icinga.timet$ macro
...
fixes #11483
2016-06-21 08:23:31 +02:00
Michael Friedrich
409a385590
DB IDO: Ensure that delete queries for comments/downtimes are matching the index
...
fixes #11993
2016-06-20 17:38:01 +02:00
Michael Friedrich
f10289aa71
DB IDO: Add missing object_id index for icinga_{scheduleddowntime,comments} tables
...
fixes #10070
refs #11947
2016-06-20 17:15:09 +02:00
Michael Friedrich
f610e56a59
DB IDO: Fix missing schema version update in {mysql,pgsql}.sql
...
refs #10069
refs #11967
2016-06-20 16:17:06 +02:00
Michael Friedrich
f4241ba185
DB IDO: Enhance ido check with schema info
...
fixes #11968
2016-06-17 12:43:05 +02:00
Michael Friedrich
6a46706668
DB IDO: Update schema version to 1.14.1
...
The least supported version is still 1.14.0
with the current changes.
refs #10069
refs #11967
2016-06-17 11:23:30 +02:00
Lee Clemens
759818d289
DB IDO: Make check_source a varchar(255) column
...
fixes #10069
Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2016-06-17 11:03:26 +02:00
Michael Friedrich
b4c56e5f47
Remove duplicate last_check runtime macro
...
Already available as {host,service}.last_check attribute.
refs #11483
2016-06-16 17:39:59 +02:00
Gunnar Beutner
039461e218
Fix unit tests for Convert::ToString
...
refs #11483
2016-06-16 15:32:29 +02:00
Gunnar Beutner
bc6f7d7a21
Fix incorrect formatting for some macro values
...
fixes #11483
2016-06-16 15:14:35 +02:00
Gunnar Beutner
d415ff7373
Add missing OnConfigLoaded calls in Ido{My,Pg}sqlConnection
...
fixes #11951
2016-06-16 14:22:20 +02:00
Gunnar Beutner
c99fb68c2d
Implement support for getting a list of global variables from the API
...
fixes #11955
2016-06-16 08:38:15 +02:00
Gunnar Beutner
28dee2b79b
Improve filter support for /v1/templates
...
refs #11941
2016-06-16 08:38:15 +02:00
Michael Friedrich
2b474823f8
API: Fix that /v1 returns html if json is requested
...
fixes #10570
2016-06-15 17:46:09 +02:00
Michael Friedrich
cdd858a0ec
Flapping{Start,End} notifications must not depend on state changes
...
fixes #11899
2016-06-15 17:43:37 +02:00
Michael Friedrich
399ae42a8c
DB IDO: Fix comment/downtime entry_time reset
...
fixes #11182
2016-06-15 11:28:57 +02:00
Gunnar Beutner
8a714d66f1
Ensure that sent notifications are synced between Icinga instances
...
fixes #11562
2016-06-15 11:27:01 +02:00
Gunnar Beutner
45919b4844
Fix crash in ApiListener::PersistMessage
...
fixes #11946
2016-06-15 11:26:35 +02:00
Gunnar Beutner
ace6882b59
Implement support for retrieving a list of templates from the API
...
fixes #11941
2016-06-15 07:41:51 +02:00
Michael Friedrich
f7f976b962
DB IDO: Ensure that SOFT state changes with the same state are logged
...
fixes #11933
2016-06-14 11:08:28 +02:00
Gunnar Beutner
ff57b0ccd6
Add name attribute for the WorkQueue class
...
fixes #10816
2016-06-14 09:08:04 +02:00
Gunnar Beutner
a8209c1a1a
Change which instance is responsible for initiating notifications in a HA setup
...
refs #9242
2016-06-14 07:57:52 +02:00
Gunnar Beutner
eb4aa4415c
Fix cluster permissions for SendNotifications messages
...
refs #9242
2016-06-13 11:13:25 +02:00
Gunnar Beutner
cb01f96dad
Don't forward SendNotifications messages to non-local zones
...
refs #9242
2016-06-13 10:48:59 +02:00
Markus Frosch
8808e709c9
Make change to OK always a hard state
...
refs #11654
2016-06-13 10:43:57 +02:00
Gunnar Beutner
9e29a3f8a0
Fix default behavior when none of the specified objects pass the user's permission filter
...
fixes #11926
2016-06-13 10:14:10 +02:00
Markus Frosch
a5abe1a972
Allow debugging of Utility::GetTime
...
So we can run unit tests that expect a certain behavior based on time.
When Icinga 2 is compiled with I2_DEBUG one can use Utility::SetTime to
override the current system time, and lock it to this value.
fixes #11875
2016-06-09 14:25:51 +02:00
Simon Murray
2e8c8809ea
Add service metadata to InfluxDB Writer
...
Adds a new configuration variable in keeping with the graphite writer
which defaults to false to save network bandwidth. All metrics currently
supported by graphite are now available to InfluxDB. I added in some
formatting functions, to handle integers and booleans as we know and
control their types, and the supporting regexes in the sanity checker.
Updating to InfluxDB 0.13.X started giving 400 errors due to the missing
Host header in HTTP/1.1 requests. HttpRequest has been updated to auto-
magically add the host and port to these requests if not explicitly
stated by the client code.
The exception code has been cleaned up to break out of the function
early if such a condition is raised, this avoids unnecessarily executing
code which will ultimately fail.
fixes #11912
Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2016-06-08 13:23:52 +02:00
Simon Murray
899592c8ad
Update InfluxDB line formatting
...
Fixes a couple issues to do with line formatting of influx DB data points. All
keys and values need commas and white space escaping. Values are also checked
for type. If a numeric or scientific value is detected this is output as an
Influx floating point/scientific number. Booleans are detected and output in
a canonical format. All other values are strings, which have double quotes
escaped and the entire string is wrapped in double quotes. The handling of
thresholds has changed before this becomes officially released. These values
if available are passed to the accumulation function in a dictionary, said
dictionary builds a single data point with multiple fields, rather than the
existing 5 data points, thus saving bandwidth costs.
fixes #11904
Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2016-06-08 11:01:23 +02:00
Gunnar Beutner
0eb0992d5e
Fix custom notifications in a HA zone
...
fixes #9242
2016-06-07 12:44:12 +02:00
Michael Friedrich
8b742e841f
Ensure that obsolete comment/downtime objects are deleted after activating objects
...
Config validation shouldn't be able to purge the files, only on
restart.
fixes #11890
2016-06-06 13:07:49 +02:00
Michael Friedrich
0ce41399e0
DB IDO: Ensure to delete outdated comments/downtimes for host/service objects
...
fixes #11688
2016-06-03 14:40:37 +02:00
Gunnar Beutner
aeb7a4a70b
Fix incorrect check interval for SOFT->HARD transitions
...
fixes #11825
2016-05-24 11:05:29 +02:00
Philipp Dallig
54e1c8a9d5
Implement exclude and include ability for TimePeriod objects
...
This feature allows to exclude and include specific time period
objects and their time ranges from an existing time period object.
This comes in handy when e.g. excluding holidays.
fixes #7355
Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2016-05-21 20:33:09 +02:00
Michael Friedrich
d49b63d2ab
Fix: First HARD state does not change retry_interval to check_interval
...
refs #11825
2016-05-21 18:58:19 +02:00
Michael Friedrich
3f1a9f150b
Silence compiler warnings
...
refs #11823
2016-05-21 14:16:47 +02:00
Michael Friedrich
b4843dc81b
Fix: Volatile check results for OK->OK transitions are logged into DB IDO statehistory
...
fixes #11823
2016-05-21 13:41:43 +02:00
Michael Friedrich
e27dee5476
Windows: Fix missing path for repository handler
...
fixes #11817
2016-05-21 13:05:35 +02:00
Gunnar Beutner
78705e74f3
Open the command pipe with O_RDWR
...
fixes #11807
2016-05-18 15:52:29 +02:00
Gunnar Beutner
b99b373b6f
Fix 100% CPU usage issue and incorrect pending checks accounting in CheckerComponent::CheckThreadProc
...
fixes #11806
2016-05-18 14:30:36 +02:00
Gunnar Beutner
bb69540b32
Fix exception in PerfdataWriter::RotateFile
...
fixes #11801
2016-05-18 14:01:32 +02:00
Gunnar Beutner
222b90107f
Fix crash in ConfigItem::Commit
...
fixes #11804
2016-05-18 12:53:41 +02:00
Gunnar Beutner
93da47a670
Fix PostgreSQL warnings on startup
...
fixes #11798
2016-05-17 10:32:38 +02:00
Gunnar Beutner
bc12d6c0d6
Fix race condition in ConfigObject::SetAuthority
...
fixes #11784
2016-05-12 14:06:28 +02:00
Gunnar Beutner
97a5091abc
Fix incorrect re-scheduling behavior for command_endpoint checks
...
refs #8137
2016-05-12 13:47:32 +02:00
Gunnar Beutner
de1b70cf44
Fix incorrect variable names for joined fields in filter expressions
...
fixes #11779
2016-05-12 10:24:15 +02:00
Michael Friedrich
3c852311e1
Fix possible crash in Add{Comment,Downtime}
...
refs #11112
2016-05-11 16:12:09 +02:00
Gunnar Beutner
1ad4d9cd27
Report failed reload attempts for the icinga check
...
fixes #9060
fixes #9997
fixes #11129
2016-05-11 16:07:28 +02:00
Gunnar Beutner
0b95be7b99
Fix incorrect calculation in Downtime::IsInEffect
...
fixes #11589
2016-05-11 14:13:43 +02:00
Michael Friedrich
90f102abf3
Ensure that program status updates are immediately updated in DB IDO
...
fixes #11767
2016-05-11 14:03:40 +02:00
Gunnar Beutner
0bc139af93
Improve timing behavior for UpdateObjectAuthority calls
...
refs #11765
2016-05-11 13:04:39 +02:00
Gunnar Beutner
fc1168ed3e
Only activate HARunOnce objects once there's a cluster connection
...
fixes #11765
2016-05-11 12:50:40 +02:00
Michael Friedrich
a529725a92
Fix overloaded command pipe errors
...
fixes #11390
2016-05-11 11:04:28 +02:00
Gunnar Beutner
2adfcb56fe
Improve error handling for TlsStream::Handshake
...
fixes #11046
2016-05-11 10:09:54 +02:00
Gunnar Beutner
b9fdb3bfd9
Make sure that object names aren't empty
...
fixes #9989
2016-05-11 09:48:18 +02:00
Jason Young
7dbd66535a
Throw exception if PerfdataWriter::RotateFile fails to rename from host_temp_path to host_perfdata_path (and same for service)
...
This can happen if the two paths are not on the same mount-point.
fixes #9236
Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2016-05-11 09:29:32 +02:00
Gunnar Beutner
ed27130402
Fix: "day -X" time specifications are parsed incorrectly
...
fixes #11147
2016-05-11 09:23:55 +02:00
Gunnar Beutner
81a7a002b4
Improve validation for flow control statements
...
fixes #11622
2016-05-11 08:01:31 +02:00
Michael Friedrich
9a88185b12
API: Fix error handling for invalid JSON request body
...
fixes #11757
2016-05-10 15:16:35 +02:00
Michael Friedrich
1c6f09f44e
API: Fix error message handling for invalid attributes in PUT requests
...
refs #11396
2016-05-10 13:43:36 +02:00
Michael Friedrich
ba82d2eb20
Move CalculateExecutionTime and CalculateLatency into the CheckResult class
...
fixes #11751
2016-05-10 12:16:49 +02:00
Gunnar Beutner
f6f3bd1e4c
Implement support for limiting the number of concurrent checks
...
fixes #8137
2016-05-10 11:26:55 +02:00
Gunnar Beutner
eab2fb79ad
Fix crash in UnameHelper()
...
fixes #11714
2016-05-10 09:46:48 +02:00
Gunnar Beutner
1fb378ef4a
Remove unused cluster commands
...
fixes #11748
2016-05-10 07:05:10 +02:00
Michael Friedrich
8a65c4a776
API: Fix error message with PUT requests for existing objects
...
fixes #11396
2016-05-09 15:08:35 +02:00
Gunnar Beutner
b8e911b0e5
Make sure the dependency graph is properly updated when adding and removing objects
...
fixes #11686
fixes #11374
2016-05-09 14:30:12 +02:00
Lee Clemens
7050529976
Add SSL support for the IdoMysqlConnection feature
...
fixes #9725
Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2016-05-03 15:01:32 +02:00
Simon Murray
79c1e883d1
Add InfluxDB Writer
...
Adds an Icinga2 object to directly interface with InfluxDB's native HTTP API.
This supports optional basic authorization, and TLS transport. InfluxDB didn't
appear to like having the TLS stream kept open, so instead this object buffers
data points which are then flushed to InfluxDB as a batch write, either driven
by a configurable timeout or threshold.
As InfluxDB is a schema-less database the host and service templates are user
configurable allowing both the measurement field and tags to be set by the
end user via macro expansion. This allows access to tag fields from arbitrary
data associated with host.vars or service.vars. If a particular value is
unable to be resolved, the tag will be dropped and not transmitted to InfluxDB.
Also alters URL handling to omit array brackets when only a single value is
attached to a key, otherwise InfluxDB has a strop with non-standard syntax.
fixes #10480
Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2016-05-03 14:12:51 +02:00
Michael Friedrich
2faf121ff4
Remove commentsand downtimes with reference to deleted checkable objects
...
Silence the warning message and change the log level to notice as well.
fixes #10717
2016-05-03 11:30:02 +02:00
Michael Friedrich
23ab6cf78b
Fix: Expired downtimes are not removed
...
fixes #11711
2016-05-02 15:32:46 +02:00
Jean Flach
360e0ad548
Fix external commands comments crashing icinga
...
Now an exception will be thrown when AddSvcComment or AddHostComment are
run with and empty Author or comment
fixes #11112
2016-04-25 16:58:00 +02:00