]> granicus.if.org Git - icinga2/log
icinga2
5 years agoFix notification skip for local non-API enabled setups 7077/head
Michael Friedrich [Wed, 3 Apr 2019 11:50:21 +0000 (13:50 +0200)]
Fix notification skip for local non-API enabled setups

W/o local endpoint, these reminder notifications would
have been skipped otherwise.

PR #6935 improved the logging and made this problem visible.

Thanks @nilmerg :)

5 years agoAlways update object authority, even w/o API feature
Michael Friedrich [Wed, 3 Apr 2019 11:48:24 +0000 (13:48 +0200)]
Always update object authority, even w/o API feature

Regression from #7062

Thanks @nilmerg :)

5 years agoFix headings in the docs
Michael Friedrich [Wed, 3 Apr 2019 09:04:07 +0000 (11:04 +0200)]
Fix headings in the docs

refs #6918

5 years agoMerge pull request #6918 from Icinga/feature/technical-concepts-jsonrpc-messages
Michael Friedrich [Wed, 3 Apr 2019 08:52:45 +0000 (10:52 +0200)]
Merge pull request #6918 from Icinga/feature/technical-concepts-jsonrpc-messages

Add technical concept docs for our internal JSON-RPC API messages

5 years agoAdd technical concept docs for our internal JSON-RPC message API 6918/head
Michael Friedrich [Thu, 17 Jan 2019 17:20:23 +0000 (18:20 +0100)]
Add technical concept docs for our internal JSON-RPC message API

5 years agoMerge pull request #7074 from Icinga/feature/cli-run-as-icinga-not-root
Michael Friedrich [Wed, 3 Apr 2019 07:52:08 +0000 (09:52 +0200)]
Merge pull request #7074 from Icinga/feature/cli-run-as-icinga-not-root

Impersonate as Icinga user, not root

5 years agoUpgrading docs: Mention CLI commands 7074/head
Michael Friedrich [Wed, 3 Apr 2019 07:51:35 +0000 (09:51 +0200)]
Upgrading docs: Mention CLI commands

5 years agoMerge pull request #7000 from Icinga/bugfix/goto-loop
Michael Friedrich [Wed, 3 Apr 2019 07:46:17 +0000 (09:46 +0200)]
Merge pull request #7000 from Icinga/bugfix/goto-loop

Don't abuse goto for building simple loops

5 years agoImpersonate as Icinga user, not root
Michael Friedrich [Fri, 4 Jan 2019 14:29:25 +0000 (15:29 +0100)]
Impersonate as Icinga user, not root

This requires write permissions for

- etc/features-*
- etc/*.conf
- var/{lib,cache}/icinga2/*

Typically permissions are handled by prepare-dirs,
or the respective CLI commands are run as root either way.

fixes #4947

5 years agoMerge pull request #7008 from Icinga/feature/shared-ptr-atomic
Michael Friedrich [Tue, 2 Apr 2019 13:15:56 +0000 (15:15 +0200)]
Merge pull request #7008 from Icinga/feature/shared-ptr-atomic

Use C++11 atomics for our intrusive pointers

5 years agoUse C++11 atomics for our intrusive pointers 7008/head
Alexander A. Klimov [Mon, 11 Mar 2019 11:05:01 +0000 (12:05 +0100)]
Use C++11 atomics for our intrusive pointers

5 years agoMerge pull request #7072 from Icinga/feature/boost-upgrading-docs
Michael Friedrich [Mon, 1 Apr 2019 16:10:46 +0000 (18:10 +0200)]
Merge pull request #7072 from Icinga/feature/boost-upgrading-docs

Upgrading docs: Add Boost dependencies

5 years agoUpgrading docs: Add Boost dependencies 7072/head
Michael Friedrich [Mon, 1 Apr 2019 14:51:50 +0000 (16:51 +0200)]
Upgrading docs: Add Boost dependencies

5 years agoMerge pull request #7005 from Icinga/feature/boost-asio
Michael Friedrich [Mon, 1 Apr 2019 14:49:44 +0000 (16:49 +0200)]
Merge pull request #7005 from Icinga/feature/boost-asio

ApiListener: use Boost ASIO and coroutines for net I/O

5 years agoImprove error logging on connection failure (cluster) 7005/head
Michael Friedrich [Mon, 1 Apr 2019 14:13:37 +0000 (16:13 +0200)]
Improve error logging on connection failure (cluster)

5 years agotravis: Add boost path config
Markus Frosch [Mon, 1 Apr 2019 13:31:44 +0000 (15:31 +0200)]
travis: Add boost path config

And disable unity builds for travis.

[skip appveyor]

5 years agotravis: Remove converity
Markus Frosch [Mon, 1 Apr 2019 13:25:19 +0000 (15:25 +0200)]
travis: Remove converity

5 years agotravis: Switch to xenial and newer Boost
Markus Frosch [Mon, 1 Apr 2019 13:22:41 +0000 (15:22 +0200)]
travis: Switch to xenial and newer Boost

5 years agoApiListener: drop unused thread pool
Alexander A. Klimov [Mon, 1 Apr 2019 13:06:17 +0000 (15:06 +0200)]
ApiListener: drop unused thread pool

5 years agoRespect Accept:application/json where possible
Alexander A. Klimov [Mon, 1 Apr 2019 10:43:38 +0000 (12:43 +0200)]
Respect Accept:application/json where possible

5 years agoHttpServerConnection: fix side effect of HTTP parser's default body limit
Alexander A. Klimov [Mon, 1 Apr 2019 08:14:24 +0000 (10:14 +0200)]
HttpServerConnection: fix side effect of HTTP parser's default body limit

5 years agoAdd missing includes
Alexander A. Klimov [Tue, 12 Mar 2019 16:55:39 +0000 (17:55 +0100)]
Add missing includes

5 years agoCMake: Handle INSTALL_RPATH globally and allow external additions
Markus Frosch [Tue, 12 Mar 2019 14:53:52 +0000 (15:53 +0100)]
CMake: Handle INSTALL_RPATH globally and allow external additions

5 years agoUnbufferedAsioTlsStream: don't rely on *this in decltype()s for methods' return types
Alexander A. Klimov [Tue, 12 Mar 2019 10:47:53 +0000 (11:47 +0100)]
UnbufferedAsioTlsStream: don't rely on *this in decltype()s for methods' return types

5 years agoTurn shortcut UnbufferedAsioTlsStream::Parent into a base class
Alexander A. Klimov [Tue, 12 Mar 2019 10:36:30 +0000 (11:36 +0100)]
Turn shortcut UnbufferedAsioTlsStream::Parent into a base class

5 years agoappveyor: Use Boost 1.66
Markus Frosch [Mon, 11 Mar 2019 15:14:41 +0000 (16:14 +0100)]
appveyor: Use Boost 1.66

5 years agoRename preventGc to keepAlive
Alexander A. Klimov [Mon, 11 Mar 2019 09:12:05 +0000 (10:12 +0100)]
Rename preventGc to keepAlive

5 years agoDoc: adjust default of ApiListener#bind_host
Alexander A. Klimov [Thu, 7 Mar 2019 14:38:25 +0000 (15:38 +0100)]
Doc: adjust default of ApiListener#bind_host

5 years agoRestore the previous performance of replaying logs
Alexander A. Klimov [Tue, 26 Feb 2019 10:13:34 +0000 (11:13 +0100)]
Restore the previous performance of replaying logs

5 years agoIntroduce JsonRpcConnection#SendMessageInternal()
Alexander A. Klimov [Tue, 26 Feb 2019 09:17:10 +0000 (10:17 +0100)]
Introduce JsonRpcConnection#SendMessageInternal()

5 years agoMove some TCP/TLS logic out of ApiListener
Alexander A. Klimov [Mon, 25 Feb 2019 15:18:48 +0000 (16:18 +0100)]
Move some TCP/TLS logic out of ApiListener

... for re-using it

5 years agoio-engine.hpp: fix missing namespace
Alexander A. Klimov [Fri, 22 Feb 2019 15:16:59 +0000 (16:16 +0100)]
io-engine.hpp: fix missing namespace

5 years agoIntroduce AsioConditionVariable
Alexander A. Klimov [Fri, 22 Feb 2019 15:13:28 +0000 (16:13 +0100)]
Introduce AsioConditionVariable

5 years agoRename AsioTlsStreamHack to UnbufferedAsioTlsStream
Alexander A. Klimov [Fri, 22 Feb 2019 14:42:48 +0000 (15:42 +0100)]
Rename AsioTlsStreamHack to UnbufferedAsioTlsStream

5 years agoHttpServerConnection: don't disconnect during sending response
Alexander A. Klimov [Fri, 22 Feb 2019 14:38:02 +0000 (15:38 +0100)]
HttpServerConnection: don't disconnect during sending response

5 years agoMake IoEngine::m_CpuBoundSemaphore signed
Alexander A. Klimov [Fri, 22 Feb 2019 14:07:59 +0000 (15:07 +0100)]
Make IoEngine::m_CpuBoundSemaphore signed

5 years agoApiListener: use setsockopt(), not tcp::acceptor#set_option()
Alexander A. Klimov [Thu, 21 Feb 2019 09:55:47 +0000 (10:55 +0100)]
ApiListener: use setsockopt(), not tcp::acceptor#set_option()

5 years agoApiListener: log why bind(2) failed
Alexander A. Klimov [Thu, 21 Feb 2019 09:41:31 +0000 (10:41 +0100)]
ApiListener: log why bind(2) failed

5 years agoIoEngine: adjust I/O threads
Alexander A. Klimov [Thu, 21 Feb 2019 09:08:38 +0000 (10:08 +0100)]
IoEngine: adjust I/O threads

5 years agoApiListener: fix self-made security hole
Alexander A. Klimov [Wed, 20 Feb 2019 15:07:41 +0000 (16:07 +0100)]
ApiListener: fix self-made security hole

5 years agoHttpServerConnection: re-add automatic disconnect
Alexander A. Klimov [Wed, 20 Feb 2019 14:27:15 +0000 (15:27 +0100)]
HttpServerConnection: re-add automatic disconnect

5 years agoRe-add HttpServerConnection#Disconnect()
Alexander A. Klimov [Wed, 20 Feb 2019 13:56:12 +0000 (14:56 +0100)]
Re-add HttpServerConnection#Disconnect()

5 years agoJsonRpcConnection: add missing CpuBoundWork
Alexander A. Klimov [Wed, 20 Feb 2019 13:41:01 +0000 (14:41 +0100)]
JsonRpcConnection: add missing CpuBoundWork

5 years agoJsonRpcConnection: re-add num_json_rpc_work_queue_item_rate
Alexander A. Klimov [Wed, 20 Feb 2019 13:24:09 +0000 (14:24 +0100)]
JsonRpcConnection: re-add num_json_rpc_work_queue_item_rate

5 years agoJsonRpcConnection: re-add automatic disconnect
Alexander A. Klimov [Wed, 20 Feb 2019 12:49:50 +0000 (13:49 +0100)]
JsonRpcConnection: re-add automatic disconnect

5 years agoJsonRpcConnection: re-add heartbeats
Alexander A. Klimov [Wed, 20 Feb 2019 11:28:49 +0000 (12:28 +0100)]
JsonRpcConnection: re-add heartbeats

5 years agoRe-add JsonRpcConnection#Disconnect()
Alexander A. Klimov [Wed, 20 Feb 2019 11:00:11 +0000 (12:00 +0100)]
Re-add JsonRpcConnection#Disconnect()

5 years agoApiListener#NewClientHandlerInternal(): shut down TLS stream
Alexander A. Klimov [Tue, 19 Feb 2019 17:06:14 +0000 (18:06 +0100)]
ApiListener#NewClientHandlerInternal(): shut down TLS stream

5 years agoMerge pull request #7064 from widhalmt/feature/icingacli-elasticsearch-7063
Michael Friedrich [Mon, 1 Apr 2019 11:27:09 +0000 (13:27 +0200)]
Merge pull request #7064 from widhalmt/feature/icingacli-elasticsearch-7063

Add command `icingacli-elasticsearch` to ITL

5 years agoMerge pull request #7059 from Icinga/bugfix/docs-process-check-result
Michael Friedrich [Mon, 1 Apr 2019 11:24:30 +0000 (13:24 +0200)]
Merge pull request #7059 from Icinga/bugfix/docs-process-check-result

Document check_command may be a string

5 years agoMerge pull request #7071 from Icinga/feature/doc-concepts-compiler
Michael Friedrich [Mon, 1 Apr 2019 11:23:39 +0000 (13:23 +0200)]
Merge pull request #7071 from Icinga/feature/doc-concepts-compiler

Technical Concepts: Add config compiler references

5 years agoTechnical Concepts: Add config compiler references 7071/head
Michael Friedrich [Mon, 1 Apr 2019 11:22:15 +0000 (13:22 +0200)]
Technical Concepts: Add config compiler references

5 years agoApiListener: fix self-made security hole
Alexander A. Klimov [Tue, 19 Feb 2019 16:38:09 +0000 (17:38 +0100)]
ApiListener: fix self-made security hole

5 years agoApiListener: don't require a valid certificate for the TLS handshake to complete
Alexander A. Klimov [Tue, 19 Feb 2019 13:12:46 +0000 (14:12 +0100)]
ApiListener: don't require a valid certificate for the TLS handshake to complete

5 years agoPort JsonRpcConnection to Boost ASIO
Alexander A. Klimov [Tue, 19 Feb 2019 12:57:36 +0000 (13:57 +0100)]
Port JsonRpcConnection to Boost ASIO

5 years agoJsonRpc::ReadMessage(): add Boost ASIO overload
Alexander A. Klimov [Tue, 19 Feb 2019 10:29:45 +0000 (11:29 +0100)]
JsonRpc::ReadMessage(): add Boost ASIO overload

5 years agoNetString::ReadStringFromStream(): add Boost ASIO overload
Alexander A. Klimov [Tue, 19 Feb 2019 10:20:39 +0000 (11:20 +0100)]
NetString::ReadStringFromStream(): add Boost ASIO overload

5 years agoApiListener: send icinga::Hello message
Alexander A. Klimov [Mon, 18 Feb 2019 14:31:58 +0000 (15:31 +0100)]
ApiListener: send icinga::Hello message

5 years agoJsonRpc::SendMessage(): add Boost ASIO overload
Alexander A. Klimov [Mon, 18 Feb 2019 14:23:41 +0000 (15:23 +0100)]
JsonRpc::SendMessage(): add Boost ASIO overload

5 years agoNetString::WriteStringToStream(): add Boost ASIO overload
Alexander A. Klimov [Mon, 18 Feb 2019 14:21:50 +0000 (15:21 +0100)]
NetString::WriteStringToStream(): add Boost ASIO overload

5 years agoApiListener: connect(2) via Boost ASIO
Alexander A. Klimov [Mon, 18 Feb 2019 13:56:45 +0000 (14:56 +0100)]
ApiListener: connect(2) via Boost ASIO

5 years agoApiListener#ListenerCoroutineProc(): catch more edge cases
Alexander A. Klimov [Mon, 18 Feb 2019 13:23:59 +0000 (14:23 +0100)]
ApiListener#ListenerCoroutineProc(): catch more edge cases

5 years agoApiListener: restore previous bind(2) behavior
Alexander A. Klimov [Fri, 15 Feb 2019 17:19:56 +0000 (18:19 +0100)]
ApiListener: restore previous bind(2) behavior

5 years agoIoEngine: explicitly join I/O threads
Alexander A. Klimov [Fri, 15 Feb 2019 14:43:58 +0000 (15:43 +0100)]
IoEngine: explicitly join I/O threads

5 years agoEnsureAcceptHeader(): fix wrong condition
Alexander A. Klimov [Fri, 15 Feb 2019 14:24:02 +0000 (15:24 +0100)]
EnsureAcceptHeader(): fix wrong condition

5 years ago/v1/events: don't truncate any events
Alexander A. Klimov [Fri, 15 Feb 2019 13:36:23 +0000 (14:36 +0100)]
/v1/events: don't truncate any events

5 years agoDon't warn that Boost.Coroutine v1 is deprecated
Alexander A. Klimov [Fri, 15 Feb 2019 12:32:55 +0000 (13:32 +0100)]
Don't warn that Boost.Coroutine v1 is deprecated

5 years ago/v1/events: don't lock I/O thread
Alexander A. Klimov [Fri, 15 Feb 2019 11:32:22 +0000 (12:32 +0100)]
/v1/events: don't lock I/O thread

5 years agoImplement IoBoundWorkSlot
Alexander A. Klimov [Fri, 15 Feb 2019 11:25:25 +0000 (12:25 +0100)]
Implement IoBoundWorkSlot

5 years agoAdjust /v1/events, too
Alexander A. Klimov [Fri, 15 Feb 2019 10:51:12 +0000 (11:51 +0100)]
Adjust /v1/events, too

5 years agoAdjust all HTTP handlers (ex. /v1/events)
Alexander A. Klimov [Fri, 15 Feb 2019 09:33:01 +0000 (10:33 +0100)]
Adjust all HTTP handlers (ex. /v1/events)

5 years agoHttpServerConnection: actually handle requests
Alexander A. Klimov [Thu, 14 Feb 2019 16:27:17 +0000 (17:27 +0100)]
HttpServerConnection: actually handle requests

5 years agoHttpServerConnection: verify requests via Boost ASIO + Beast
Alexander A. Klimov [Thu, 14 Feb 2019 15:10:41 +0000 (16:10 +0100)]
HttpServerConnection: verify requests via Boost ASIO + Beast

5 years agoAdd HttpUtility::SendJsonError() overload for Boost/Beast
Alexander A. Klimov [Thu, 14 Feb 2019 15:07:06 +0000 (16:07 +0100)]
Add HttpUtility::SendJsonError() overload for Boost/Beast

5 years agoAdd HttpUtility::SendJsonBody() overload for Boost/Beast
Alexander A. Klimov [Thu, 14 Feb 2019 12:12:36 +0000 (13:12 +0100)]
Add HttpUtility::SendJsonBody() overload for Boost/Beast

5 years agoAllow CpuBoundWork to be done before end of scope
Alexander A. Klimov [Thu, 14 Feb 2019 12:10:04 +0000 (13:10 +0100)]
Allow CpuBoundWork to be done before end of scope

5 years agoApiListener: detect protocol
Alexander A. Klimov [Tue, 12 Feb 2019 13:56:47 +0000 (14:56 +0100)]
ApiListener: detect protocol

5 years agoApiListener: verify peer
Alexander A. Klimov [Tue, 12 Feb 2019 13:56:25 +0000 (14:56 +0100)]
ApiListener: verify peer

5 years agoApiListener: perform TLS handshake
Alexander A. Klimov [Fri, 8 Feb 2019 17:00:53 +0000 (18:00 +0100)]
ApiListener: perform TLS handshake

5 years agoMake ApiListener#m_SSLContext a Boost ASIO SSL context
Alexander A. Klimov [Fri, 8 Feb 2019 13:23:10 +0000 (14:23 +0100)]
Make ApiListener#m_SSLContext a Boost ASIO SSL context

5 years agoApiListener: listen(2) via Boost ASIO
Alexander A. Klimov [Fri, 8 Feb 2019 10:43:47 +0000 (11:43 +0100)]
ApiListener: listen(2) via Boost ASIO

5 years agoImplement basic I/O engine
Alexander A. Klimov [Fri, 8 Feb 2019 09:05:24 +0000 (10:05 +0100)]
Implement basic I/O engine

5 years agoImplement LazyInit<T>
Alexander A. Klimov [Tue, 12 Feb 2019 10:47:03 +0000 (11:47 +0100)]
Implement LazyInit<T>

5 years agoRequire Boost context, coroutine and date_time
Alexander A. Klimov [Fri, 8 Feb 2019 10:51:22 +0000 (11:51 +0100)]
Require Boost context, coroutine and date_time

5 years agoRequire Boost v1.66.0+
Alexander A. Klimov [Thu, 7 Feb 2019 15:33:59 +0000 (16:33 +0100)]
Require Boost v1.66.0+

5 years agoMerge pull request #7062 from Icinga/bugfix/ido-reconnect-failover
Michael Friedrich [Mon, 1 Apr 2019 08:30:11 +0000 (10:30 +0200)]
Merge pull request #7062 from Icinga/bugfix/ido-reconnect-failover

Improve DB IDO HA failover behaviour

5 years agoDocs: Add failover changes to upgrading chapter 7062/head
Michael Friedrich [Mon, 1 Apr 2019 07:31:55 +0000 (09:31 +0200)]
Docs: Add failover changes to upgrading chapter

5 years agoido Check: Add last failover timestamp to output when HA enabled IDO is running
Michael Friedrich [Mon, 1 Apr 2019 07:31:03 +0000 (09:31 +0200)]
ido Check: Add last failover timestamp to output when HA enabled IDO is running

5 years agoCode Quality: Move authority.cpp into the ApiListener class scope
Michael Friedrich [Mon, 1 Apr 2019 06:51:18 +0000 (08:51 +0200)]
Code Quality: Move authority.cpp into the ApiListener class scope

5 years agoImprove DB IDO HA failover behaviour
Michael Friedrich [Fri, 29 Mar 2019 14:53:56 +0000 (15:53 +0100)]
Improve DB IDO HA failover behaviour

- Decrease Object Authority updates to 10s (was 30s)
- Decrease failover timeout to 30s (was 60s)
- Decrease cold startup (after (re)start) with no OA updates to 30s (was 60s)
- Immediately connect on Resume()
- Fix query priority which got broken with #6970
- Add more logging when a failover is in progress

```
[2019-03-29 16:13:53 +0100] information/IdoMysqlConnection: Last update by endpoint 'master1' was 8.33246s ago (< failover timeout of 30s). Retrying.

[2019-03-29 16:14:23 +0100] information/IdoMysqlConnection: Last update by endpoint 'master1' was 38.3288s ago. Taking over 'ido-mysql' in HA zone 'master'.
```

- Add more logging for reconnect and disconnect handling
- Add 'last_failover' attribute to IDO*Connection objects

refs #6970

5 years agoAdd command `icingacli-elasticsearch` to ITL 7064/head
Thomas Widhalm [Fri, 29 Mar 2019 15:50:33 +0000 (16:50 +0100)]
Add command `icingacli-elasticsearch` to ITL

fixes #7063

5 years agoDocument check_command may be a string 7057/head 7059/head
Jean Flach [Thu, 28 Mar 2019 12:33:52 +0000 (13:33 +0100)]
Document check_command may be a string

5 years agoFix code block in distributed monitoring docs
Michael Friedrich [Thu, 28 Mar 2019 08:56:49 +0000 (09:56 +0100)]
Fix code block in distributed monitoring docs

refs #6998

(cherry picked from commit 12b0b9a936fc842742e00cf14089139236d95b76)

5 years agoMerge pull request #7052 from Icinga/feature/ha-enable
Michael Friedrich [Wed, 27 Mar 2019 16:16:18 +0000 (17:16 +0100)]
Merge pull request #7052 from Icinga/feature/ha-enable

Disable feature HA by default (InfluxDB, Graphite, Gelf, Elasticsearch, OpenTSDB, Perfdata)

5 years agoDisable feature HA by default (InfluxDB, Graphite, Gelf, Elasticsearch, OpenTSDB... 7052/head
Michael Friedrich [Wed, 27 Mar 2019 14:29:03 +0000 (15:29 +0100)]
Disable feature HA by default (InfluxDB, Graphite, Gelf, Elasticsearch, OpenTSDB, Perfdata)

5 years agoMerge pull request #7051 from Icinga/bugfix/influxdb-flush-buffer
Michael Friedrich [Wed, 27 Mar 2019 11:16:07 +0000 (12:16 +0100)]
Merge pull request #7051 from Icinga/bugfix/influxdb-flush-buffer

InfluxDB/Elasticsearch: Flush only if there's data in the buffer

5 years agoAlso apply buffer flush fix for Elasticsearch feature 7051/head
Michael Friedrich [Wed, 27 Mar 2019 10:35:41 +0000 (11:35 +0100)]
Also apply buffer flush fix for Elasticsearch feature

5 years agoInfluxDB: Flush only if there's data in the buffer
Michael Friedrich [Wed, 27 Mar 2019 10:16:08 +0000 (11:16 +0100)]
InfluxDB: Flush only if there's data in the buffer

Regression from 2.10.4

5 years agoMerge pull request #7047 from Icinga/feature/update-issue-templates
Michael Friedrich [Tue, 26 Mar 2019 08:50:21 +0000 (09:50 +0100)]
Merge pull request #7047 from Icinga/feature/update-issue-templates

Update issue templates

5 years agoMerge pull request #7049 from Icinga/feature/docs-api-golang
Michael Friedrich [Tue, 26 Mar 2019 08:48:52 +0000 (09:48 +0100)]
Merge pull request #7049 from Icinga/feature/docs-api-golang

REST API Docs: Add Golang client code example