icinga2/doc/1-about.md

60 KiB

About Icinga 2

What is Icinga 2?

Icinga 2 is an open source monitoring system which checks the availability of your network resources, notifies users of outages, and generates performance data for reporting.

Scalable and extensible, Icinga 2 can monitor large, complex environments across multiple locations.

Licensing

Icinga 2 and the Icinga 2 documentation are licensed under the terms of the GNU General Public License Version 2, you will find a copy of this license in the LICENSE file included in the source package.

Support

Support for Icinga 2 is available in a number of ways. Please have a look at the support overview page.

Contribute

There are many ways to contribute to Icinga -- whether it be sending patches, testing, reporting bugs, or reviewing and updating the documentation. Every contribution is appreciated!

Please get in touch with the Icinga team at https://www.icinga.org/community/.

If you want to help update this documentation, please read this howto.

Icinga 2 Development

You can follow Icinga 2's development closely by checking out these resources:

For general support questions, please refer to the community support channels.

How to Report a Bug or Feature Request

More details in the Icinga FAQ.

What's New

What's New in Version 2.4.10

Bugfixes

  • Bug 11812 (Checker): Checker component doesn't execute any checks for command_endpoint

What's New in Version 2.4.9

Changes

This release fixes a number of issues introduced in 2.4.8.

Bugfixes

  • Bug 11801 (Perfdata): Error: Function call 'rename' for file '/var/spool/icinga2/tmp/service-perfdata' failed with error code 2, 'No such file or directory'
  • Bug 11804 (Configuration): Segfault when trying to start 2.4.8
  • Bug 11807 (Compat): Command Pipe thread 100% CPU Usage

What's New in Version 2.4.8

Changes

  • Bugfixes
  • Support for limiting the maximum number of concurrent checks (new configuration option)
  • HA-aware features now wait for connected cluster nodes in the same zone (e.g. DB IDO)
  • The 'icinga' check now alerts on failed reloads

Feature

  • Feature 8137 (Checker): Maximum concurrent service checks
  • Feature 9236 (Perfdata): PerfdataWriter: Better failure handling for file renames across file systems
  • Feature 9997 (libmethods): "icinga" check should have state WARNING when the last reload failed
  • Feature 10581 (ITL): Provide icingacli in the ITL
  • Feature 11556 (libbase): Add support for subjectAltName in SSL certificates
  • Feature 11651 (CLI): Implement SNI support for the CLI commands
  • Feature 11720 (ITL): 'disk' CheckCommand: Exclude 'cgroup' and 'tracefs' by default
  • Feature 11748 (Cluster): Remove unused cluster commands
  • Feature 11765 (Cluster): Only activate HARunOnce objects once there's a cluster connection
  • Feature 11768 (Documentation): Add the category to the generated changelog

Bugfixes

  • Bug 9989 (Configuration): Service apply without name possible
  • Bug 10426 (libicinga): Icinga crashes with a segfault on receiving a lot of check results for nonexisting hosts/services
  • Bug 10717 (Configuration): Comments and downtimes of deleted checkable objects are not deleted
  • Bug 11046 (Cluster): Icinga2 agent gets stuck after disconnect and won't relay messages
  • Bug 11112 (Compat): Empty author/text attribute for comment/downtimes external commands causing crash
  • Bug 11147 (libicinga): "day -X" time specifications are parsed incorrectly
  • Bug 11158 (libicinga): Crash with empty ScheduledDowntime 'ranges' attribute
  • Bug 11374 (API): Icinga2 API: deleting service with cascade=1 does not delete dependant notification
  • Bug 11390 (Compat): Command pipe overloaded: Can't send external Icinga command to the local command file
  • Bug 11396 (API): inconsistent API /v1/objects/* response for PUT requests
  • Bug 11589 (libicinga): notification sent out during flexible downtime
  • Bug 11645 (Documentation): Incorrect chapter headings for Object#to_string and Object#type
  • Bug 11646 (Configuration): Wrong log severity causes segfault
  • Bug 11686 (API): Icinga Crash with the workflow Create_Host-> Downtime for the Host -> Delete Downtime -> Remove Host
  • Bug 11711 (libicinga): Expired downtimes are not removed
  • Bug 11714 (libbase): Crash in UnameHelper
  • Bug 11742 (Documentation): Missing documentation for event commands w/ execution bridge
  • Bug 11757 (API): API: Missing error handling for invalid JSON request body
  • Bug 11767 (DB IDO): Ensure that program status updates are immediately updated in DB IDO
  • Bug 11779 (API): Incorrect variable names for joined fields in filters

What's New in Version 2.4.7

Bugfixes

  • Bug 11639: Crash in IdoMysqlConnection::ExecuteMultipleQueries

What's New in Version 2.4.6

Feature

  • Feature 11638: Update RELEASE.md

Bugfixes

  • Bug 11628: Docs: Zone attribute 'endpoints' is an array
  • Bug 11634: Icinga 2 fails to build on Ubuntu Xenial
  • Bug 11635: Failed assertion in IdoPgsqlConnection::FieldToEscapedString

What's New in Version 2.4.5

Changes

  • Windows Installer changed from NSIS to MSI
  • New configuration attribute for hosts and services: check_timeout (overrides the CheckCommand's timeout when set)
  • ITL updates
  • Lots of bugfixes

Feature

  • Feature 9283: Implement support for overriding check command timeout
  • Feature 9618: Add Windows setup wizard screenshots
  • Feature 11098: Add --method parameter for check_{oracle,mysql,mssql}_health CheckCommands
  • Feature 11194: Add --units, --rate and --rate-multiplier support for the snmpv3 check command
  • Feature 11399: Update .mailmap for Markus Frosch
  • Feature 11437: Add silent install / reference to NSClient++ to documentation
  • Feature 11449: Build 64-bit packages for Windows
  • Feature 11473: Update NSClient++ to version 0.4.4.19
  • Feature 11474: Install 64-bit version of NSClient++ on 64-bit versions of Windows
  • Feature 11585: Make sure to update the agent wizard banner
  • Feature 11587: Update chocolatey uninstall script for the MSI package

Bugfixes

  • Bug 9249: logrotate fails since the "su" directive was removed
  • Bug 10624: Add application manifest for the Windows agent wizard
  • Bug 10843: DB IDO: downtime is not in effect after restart
  • Bug 11106: Too many assign where filters cause stack overflow
  • Bug 11224: Socket Exceptions (Operation not permitted) while reading from API
  • Bug 11227: Downtimes and Comments are not synced to child zones
  • Bug 11258: Incorrect base URL in the icinga-rpm-release packages for Fedora
  • Bug 11336: Use retry_interval instead of check_interval for first OK -> NOT-OK state change
  • Bug 11347: Symlink subfolders not followed/considered for config files
  • Bug 11382: Downtimes are not always activated/expired on restart
  • Bug 11384: Remove dependency for .NET 3.5 from the chocolatey package
  • Bug 11387: IDO: historical contact notifications table column notification_id is off-by-one
  • Bug 11402: Explain how to use functions for wildcard matches for arrays and/or dictionaries in assign where expressions
  • Bug 11407: Docs: Remove the migration script chapter
  • Bug 11434: Config validation for Notification objects should check whether the state filters are valid
  • Bug 11435: Icinga 2 Windows Agent does not honor install path during upgrade
  • Bug 11438: Remove semi-colons in the auto-generated configs
  • Bug 11439: Update the CentOS installation documentation
  • Bug 11440: Docs: Cluster manual SSL generation formatting is broken
  • Bug 11455: ConfigSync broken from 2.4.3. to 2.4.4 under Windows
  • Bug 11462: Error compiling icinga2 targeted for x64 on Windows
  • Bug 11475: FatalError() returns when called before Application.Run
  • Bug 11482: API User gets wrongly authenticated (client_cn and no password)
  • Bug 11484: Overwriting global type variables causes crash in ConfigItem::Commit()
  • Bug 11494: Update documentation URL for Icinga Web 2
  • Bug 11522: Make the socket event engine configurable
  • Bug 11534: DowntimesExpireTimerHandler crashes Icinga2 with
  • Bug 11542: make install overwrites configuration files
  • Bug 11559: Segfault during config validation if host exists, service does not exist any longer and downtime expires
  • Bug 11564: Incorrect link in the documentation
  • Bug 11567: Navigation attributes are missing in /v1/objects/
  • Bug 11574: Package fails to build on *NIX
  • Bug 11577: Compiler warning in NotifyActive
  • Bug 11582: icinga2 crashes when a command_endpoint is set, but the api feature is not active
  • Bug 11586: icinga2-installer.exe doesn't wait until NSIS uninstall.exe exits
  • Bug 11592: Remove instance_name from Ido*Connection example
  • Bug 11610: Windows installer does not copy "features-enabled" on upgrade
  • Bug 11617: Vim Syntax Highlighting does not work with assign where

What's New in Version 2.4.4

Feature

  • Feature 10358: ITL: Allow to enforce specific SSL versions using the http check command
  • Feature 11205: Add "query" option to check_postgres command.

Bugfixes

  • Bug 9642: Flapping notifications are sent for hosts/services which are in a downtime
  • Bug 9969: Problem notifications while Flapping is active
  • Bug 10225: Host notification type is PROBLEM but should be RECOVERY
  • Bug 10231: MkDirP not working on Windows
  • Bug 10766: DB IDO: User notification type filters are incorrect
  • Bug 10770: Status code 200 even if an object could not be deleted.
  • Bug 10795: http check's URI is really just Path
  • Bug 10976: Explain how to join hosts/services for /v1/objects/comments
  • Bug 11107: ITL: Missing documentation for nwc_health "mode" parameter
  • Bug 11159: Common name in node wizard isn't case sensitive
  • Bug 11208: CMake does not find MySQL libraries on Windows
  • Bug 11209: Wrong log message for trusted cert in node setup command
  • Bug 11240: DEL_DOWNTIME_BY_HOST_NAME does not accept optional arguments
  • Bug 11248: Active checks are executed even though passive results are submitted
  • Bug 11257: Incorrect check interval when passive check results are used
  • Bug 11273: Services status updated multiple times within check_interval even though no retry was triggered
  • Bug 11289: epoll_ctl might cause oops on Ubuntu trusty
  • Bug 11320: Volatile transitions from HARD NOT-OK->NOT-OK do not trigger notifications
  • Bug 11328: Typo in API docs
  • Bug 11331: Update build requirements for SLES 11 SP4
  • Bug 11349: 'icinga2 feature list' fails when all features are disabled
  • Bug 11350: Docs: Add API examples for creating services and check commands
  • Bug 11352: Segmentation fault during 'icinga2 daemon -C'
  • Bug 11369: Chocolatey package is missing uninstall function
  • Bug 11385: Update development docs to use 'thread apply all bt full'

What's New in Version 2.4.3

Bugfixes

  • Bug 11211: Permission problem after running icinga2 node wizard
  • Bug 11212: Wrong permissions for files in /var/cache/icinga2/*

What's New in Version 2.4.2

Changes

  • ITL
    • Additional arguments for check_disk
    • Fix incorrect path for the check_hpasm plugin
    • New command: check_iostat
    • Fix incorrect variable names for the check_impi plugin
  • Cluster
    • Improve cluster performance
    • Fix connection handling problems (multiple connections for the same endpoint)
  • Performance improvements for the DB IDO modules
  • Lots and lots of various other bugfixes
  • Documentation updates

Feature

  • Feature 10660: Add CMake flag for disabling the unit tests
  • Feature 10777: Add check_iostat to ITL
  • Feature 10787: Add "-x" parameter in command definition for disk-windows CheckCommand
  • Feature 10807: Raise a config error for "Checkable" objects in global zones
  • Feature 10857: DB IDO: Add a log message when the connection handling is completed
  • Feature 10860: Log DB IDO query queue stats
  • Feature 10880: "setting up check plugins" section should be enhanced with package manager examples
  • Feature 10920: Add Timeout parameter to snmpv3 check
  • Feature 10947: Add example how to use custom functions in attributes
  • Feature 10964: Troubleshooting: Explain how to fetch the executed command
  • Feature 10988: Support TLSv1.1 and TLSv1.2 for the cluster transport encryption
  • Feature 11037: Add String#trim
  • Feature 11138: Checkcommand Disk : Option Freespace-ignore-reserved

Bugfixes

  • Bug 7287: Re-checks scheduling w/ retry_interval
  • Bug 8714: Add priority queue for disconnect/programstatus update events
  • Bug 8976: DB IDO: notification_id for contact notifications is out of range
  • Bug 10226: Icinga2 reload timeout results in killing old and new process because of systemd
  • Bug 10449: Livestatus log query - filter "class" yields empty results
  • Bug 10458: Incorrect SQL command for creating the user of the PostgreSQL DB for the IDO
  • Bug 10460: A PgSQL DB for the IDO can't be created w/ UTF8
  • Bug 10497: check_memory and check_swap plugins do unit conversion and rounding before percentage calculations resulting in imprecise percentages
  • Bug 10544: check_network performance data in invalid format
  • Bug 10554: Non-UTF8 characters from plugins causes IDO to fail
  • Bug 10655: API queries cause memory leaks
  • Bug 10700: Crash in ExternalCommandListener
  • Bug 10711: Zone::CanAccessObject is very expensive
  • Bug 10713: ApiListener::ReplayLog can block with a lot of clients
  • Bug 10714: API is not working on wheezy
  • Bug 10724: Remove the local zone name question in node wizard
  • Bug 10728: node wizard does not remember user defined port
  • Bug 10736: Missing num_hosts_pending in /v1/status/CIB
  • Bug 10739: Crash on startup with incorrect directory permissions
  • Bug 10744: build of icinga2 with gcc 4.4.7 segfaulting with ido
  • Bug 10745: ITL check command possibly mistyped variable names
  • Bug 10748: Missing path in mkdir() exceptions
  • Bug 10760: Disallow lambda expressions where side-effect-free expressions are not allowed
  • Bug 10765: Avoid duplicate config and status updates on startup
  • Bug 10773: chcon partial context error in safe-reload prevents reload
  • Bug 10779: Wrong postgresql-setup initdb command for RHEL7
  • Bug 10780: The hpasm check command is using the PluginDir constant
  • Bug 10784: Incorrect information in --version on Linux
  • Bug 10806: Missing SUSE repository for monitoring plugins documentation
  • Bug 10817: Failed IDO query for icinga_downtimehistory
  • Bug 10818: Use NodeName in null and random checks
  • Bug 10819: Cluster config sync ignores zones.d from API packages
  • Bug 10824: Windows build fails with latest git master
  • Bug 10825: Missing documentation for API packages zones.d config sync
  • Bug 10826: Build error with older CMake versions on VERSION_LESS compare
  • Bug 10828: Relative path in include_zones does not work
  • Bug 10829: IDO breaks when writing to icinga_programstatus with latest snapshots
  • Bug 10830: Config validation doesn't fail when templates are used as object names
  • Bug 10852: Formatting problem in "Advanced Filter" chapter
  • Bug 10855: Implement support for re-ordering groups of IDO queries
  • Bug 10862: Evaluate if CanExecuteQuery/FieldToEscapedString lead to exceptions on !m_Connected
  • Bug 10867: "repository add" cli command writes invalid "type" attribute
  • Bug 10883: Icinga2 crashes in IDO when removing a comment
  • Bug 10890: Remove superfluous #ifdef
  • Bug 10891: is_active in IDO is only re-enabled on "every second" restart
  • Bug 10908: Typos in the "troubleshooting" section of the documentation
  • Bug 10923: API actions: Decide whether fixed: false is the right default
  • Bug 10931: Exception stack trace on icinga2 client when the master reloads the configuration
  • Bug 10932: Cluster config sync: Ensure that /var/lib/icinga2/api/zones/* exists
  • Bug 10935: Logrotate on systemd distros should use systemctl not service
  • Bug 10948: Icinga state file corruption with temporary file creation
  • Bug 10956: Compiler warnings in lib/remote/base64.cpp
  • Bug 10959: Better explaination for array values in "disk" CheckCommand docs
  • Bug 10963: high load and memory consumption on icinga2 agent v2.4.1
  • Bug 10968: Race condition when using systemd unit file
  • Bug 10974: Modified attributes do not work for the IcingaApplication object w/ external commands
  • Bug 10979: Mistake in mongodb command definition (mongodb_replicaset)
  • Bug 10981: Incorrect name in AUTHORS
  • Bug 10989: Escaped sequences not properly generated with 'node update-config'
  • Bug 10991: Stream buffer size is 512 bytes, could be raised
  • Bug 10998: Incorrect IdoPgSqlConnection Example in Documentation
  • Bug 11006: Segfault in ApiListener::ConfigUpdateObjectAPIHandler
  • Bug 11014: Check event duplication with parallel connections involved
  • Bug 11019: next_check noise in the IDO
  • Bug 11020: Master reloads with agents generate false alarms
  • Bug 11065: Deleting an object via API does not disable it in DB IDO
  • Bug 11074: Partially missing escaping in doc/7-icinga-template-library.md
  • Bug 11075: Outdated link to icingaweb2-module-nagvis
  • Bug 11083: Ensure that config sync updates are always sent on reconnect
  • Bug 11085: Crash in ConfigItem::RunWithActivationContext
  • Bug 11088: API queries on non-existant objects cause exception
  • Bug 11096: Windows build fails on InterlockedIncrement type
  • Bug 11103: Problem with hostgroup_members table cleanup
  • Bug 11111: Clean up unused variables a bit
  • Bug 11118: Cluster WQ thread dies after fork()
  • Bug 11122: Connections are not cleaned up properly
  • Bug 11132: YYYY-MM-DD time specs are parsed incorrectly
  • Bug 11178: Documentation: Unescaped pipe character in tables
  • Bug 11179: CentOS 5 doesn't support epoll_create1
  • Bug 11204: "node setup" tries to chown() files before they're created

What's New in Version 2.4.1

Changes

  • ITL
    • Add running_kernel_use_sudo option for the running_kernel check
  • Configuration
    • Add global constants: PlatformName. PlatformVersion, PlatformKernel and PlatformKernelVersion
  • CLI
    • Use NodeName and ZoneName constants for 'node setup' and 'node wizard'

Feature

  • Feature 10622: Add by_ssh_options argument for the check_by_ssh plugin
  • Feature 10693: Add running_kernel_use_sudo option for the running_kernel check
  • Feature 10716: Use NodeName and ZoneName constants for 'node setup' and 'node wizard'

Bugfixes

  • Bug 10528: Documentation example in "Access Object Attributes at Runtime" doesn't work correctly
  • Bug 10615: Build fails on SLES 11 SP3 with GCC 4.8
  • Bug 10632: "node wizard" does not ask user to verify SSL certificate
  • Bug 10641: API setup command incorrectly overwrites existing certificates
  • Bug 10643: Icinga 2 crashes when ScheduledDowntime objects are used
  • Bug 10645: Documentation for schedule-downtime is missing required paremeters
  • Bug 10648: lib/base/process.cpp SIGSEGV on Debian squeeze / RHEL 6
  • Bug 10661: Incorrect web inject URL in documentation
  • Bug 10663: Incorrect redirect for stderr in /usr/lib/icinga2/prepare-dirs
  • Bug 10667: Indentation in command-plugins.conf
  • Bug 10677: node wizard checks for /var/lib/icinga2/ca directory but not the files
  • Bug 10690: CLI command 'repository add' doesn't work
  • Bug 10692: Fix typos in the documentation
  • Bug 10708: Windows setup wizard crashes when InstallDir registry key is not set
  • Bug 10710: Incorrect path for icinga2 binary in development documentation
  • Bug 10720: Remove --master_zone from --help because it is currently not implemented

What's New in Version 2.4.0

Changes

  • API
    • RESTful API with basic auth or client certificates
    • Filters, types, permissions
    • configuration package management
    • query/create/modify/delete config objects at runtime
    • status queries for global stats
    • actions (e.g. acknowledge all service problems)
    • event streams
  • ITL and Plugin Check Command definitions
    • The 'running_kernel' check command was moved to the plugins-contrib section. You have to update your config to include 'plugins-contrib'
  • Configuration
    • The global constants Enable* and Vars have been removed. Use the IcingaApplication object attributes instead.
  • Features
    • New Graphite tree. Please check the documentation how enable the legacy schema.
    • IcingaStatusWriter feature has been deprecated and will be removed in future versions.
    • Modified attributes are not exposed as bit mask to external interfaces anymore (api related changes). External commands like CHANGE_*_MODATTR have been removed.

Feature

  • Feature 7709: Validators should be implemented in (auto-generated) native code
  • Feature 8093: Add icinga, cluster, cluster-zone check information to the ApiListener status handler
  • Feature 8149: graphite writer should pass "-" in host names and "." in perf data
  • Feature 8666: Allow some of the Array and Dictionary methods to be inlined by the compiler
  • Feature 8688: Add embedded DB IDO version health check
  • Feature 8689: Add support for current and current-1 db ido schema version
  • Feature 8690: 'icinga2 console' should serialize temporary attributes (rather than just config + state)
  • Feature 8738: Implement support for CLIENT_MULTI_STATEMENTS
  • Feature 8741: Deprecate IcingaStatusWriter feature
  • Feature 8775: Move the base command templates into libmethods
  • Feature 8776: Implement support for libedit
  • Feature 8791: Refactor the startup process
  • Feature 8832: Implement constructor-style casts
  • Feature 8842: Add support for the C++11 keyword 'override'
  • Feature 8867: Use DebugHint information when reporting validation errors
  • Feature 8890: Move implementation code from thpp files into separate files
  • Feature 8922: Avoid unnecessary dictionary lookups
  • Feature 9044: Remove the ScopeCurrent constant
  • Feature 9068: Implement sandbox mode for the config parser
  • Feature 9074: Basic API framework
  • Feature 9076: Reflection support for the API
  • Feature 9077: Implement filters for the API
  • Feature 9078: Event stream support for the API
  • Feature 9079: Implement status queries for the API
  • Feature 9080: Add commands (actions) for the API
  • Feature 9081: Add modified attribute support for the API
  • Feature 9082: Runtime configuration for the API
  • Feature 9083: Configuration file management for the API
  • Feature 9084: Enable the ApiListener by default
  • Feature 9085: Certificate-based authentication for the API
  • Feature 9086: Password-based authentication for the API
  • Feature 9087: Create default administrative user
  • Feature 9088: API permissions
  • Feature 9091: API status queries
  • Feature 9093: Changelog for modified attributes
  • Feature 9095: Disallow changes for certain config attributes at runtime
  • Feature 9096: Dependency tracking for objects
  • Feature 9098: Update modules to support adding and removing objects at runtime
  • Feature 9099: Implement support for writing configuration files
  • Feature 9100: Multiple sources for zone configuration tree
  • Feature 9101: Commands for adding and removing objects
  • Feature 9102: Support validating configuration changes
  • Feature 9103: Staging for configuration validation
  • Feature 9104: Implement config file management commands
  • Feature 9105: API Documentation
  • Feature 9175: Move 'running_kernel' check command to plugins-contrib 'operating system' section
  • Feature 9286: DB IDO/Livestatus: Add zone object table w/ endpoint members
  • Feature 9414: "-Wno-deprecated-register" compiler option breaks builds on SLES 11
  • Feature 9447: Implement support for HTTP
  • Feature 9448: Define RESTful url schema
  • Feature 9461: New Graphite schema
  • Feature 9470: Implement URL parser
  • Feature 9471: Implement ApiUser type
  • Feature 9594: Implement base64 de- and encoder
  • Feature 9614: Register ServiceOK, ServiceWarning, HostUp, etc. as constants
  • Feature 9647: Move url to /lib/remote from /lib/base
  • Feature 9689: Add exceptions for Utility::MkDir{,P}
  • Feature 9693: Add Array::FromVector() method
  • Feature 9698: Implement support for X-HTTP-Method-Override
  • Feature 9704: String::Trim() should return a new string rather than modifying the current string
  • Feature 9705: Add real path sanity checks to provided file paths
  • Feature 9723: Documentation for config management API
  • Feature 9768: Update the url parsers behaviour
  • Feature 9777: Make Comments and Downtime types available as ConfigObject type in the API
  • Feature 9794: Setting global variables with i2tcl doesn't work
  • Feature 9849: Validation for modified attributes
  • Feature 9850: Re-implement events for attribute changes
  • Feature 9851: Remove GetModifiedAttributes/SetModifiedAttributes
  • Feature 9852: Implement support for . in modify_attribute
  • Feature 9859: Implement global modified attributes
  • Feature 9866: Implement support for attaching GDB to the Icinga process on crash
  • Feature 9914: Rename DynamicObject/DynamicType to ConfigObject/ConfigType
  • Feature 9919: Allow comments when parsing JSON
  • Feature 9921: Implement the 'base' field for the Type class
  • Feature 9926: Ensure that runtime config objects are persisted on disk
  • Feature 9927: Figure out how to sync dynamically created objects inside the cluster
  • Feature 9929: Add override keyword for all relevant methods
  • Feature 9930: Document Object#clone
  • Feature 9931: Implement Object#clone and rename Array/Dictionary#clone to shallow_clone
  • Feature 9933: Implement support for indexers in ConfigObject::RestoreAttribute
  • Feature 9935: Implement support for restoring modified attributes
  • Feature 9937: Add package attribute for ConfigObject and set its origin
  • Feature 9940: Implement support for filter_vars
  • Feature 9944: Add String::ToLower/ToUpper
  • Feature 9946: Remove debug messages in HttpRequest class
  • Feature 9953: Rename config/modules to config/packages
  • Feature 9960: Implement ignore_on_error keyword
  • Feature 10017: Use an AST node for the 'library' keyword
  • Feature 10038: Add plural_name field to /v1/types
  • Feature 10039: URL class improvements
  • Feature 10042: Implement a demo API client: Icinga Studio
  • Feature 10060: Implement joins for status queries
  • Feature 10116: Add global status handler for the API
  • Feature 10186: Make ConfigObject::{G,S}etField() method public
  • Feature 10194: Sanitize error status codes and messages
  • Feature 10202: Add documentation for api-users.conf and app.conf
  • Feature 10209: Rename statusqueryhandler to objectqueryhandler
  • Feature 10212: Move /v1/ to /v1/objects/
  • Feature 10243: Provide keywords to retrieve the current file name at parse time
  • Feature 10257: Change object version to timestamps for diff updates on config sync
  • Feature 10329: Pretty-print arrays and dictionaries when converting them to strings
  • Feature 10368: Document that modified attributes require accept_config for cluster/clients
  • Feature 10374: Add check command nginx_status
  • Feature 10383: DB IDO should provide its connected state via /v1/status
  • Feature 10385: Add 'support' tracker to changelog.py
  • Feature 10387: Use the API for "icinga2 console"
  • Feature 10388: Log a warning message on unauthorized http request
  • Feature 10392: Original attributes list in IDO
  • Feature 10393: Hide internal attributes
  • Feature 10394: Add getter for endpoint 'connected' attribute
  • Feature 10407: Remove api.cpp, api.hpp
  • Feature 10409: Add documentation for apply+for in the language reference chapter
  • Feature 10423: Ability to set port on SNMP Checks
  • Feature 10431: Add the name for comments/downtimes next to legacy_id to DB IDO
  • Feature 10441: Rewrite man page
  • Feature 10479: Use ZoneName variable for parent_zone in node update-config
  • Feature 10482: Documentation: Reorganize Livestatus and alternative frontends
  • Feature 10503: Missing parameters for check jmx4perl
  • Feature 10507: Add check command negate
  • Feature 10509: Change GetLastStateUp/Down to host attributes
  • Feature 10511: Add check command mysql
  • Feature 10513: Add ipv4/ipv6 only to tcp and http CheckCommand
  • Feature 10522: Change output format for 'icinga2 console'
  • Feature 10547: Icinga 2 script debugger
  • Feature 10548: Implement CSRF protection for the API
  • Feature 10549: Change 'api setup' into a manual step while configuring the API
  • Feature 10551: Change object query result set
  • Feature 10566: Enhance programmatic examples for the API docs
  • Feature 10574: Mention wxWidget (optional) requirement in INSTALL.md
  • Feature 10575: Documentation for /v1/console
  • Feature 10576: Explain variable names for joined objects in filter expressions
  • Feature 10577: Documentation for the script debugger
  • Feature 10591: Explain DELETE for config stages/packages
  • Feature 10630: Update wxWidgets documentation for Icinga Studio

Bugfixes

  • Bug 8822: Update OpenSSL for the Windows builds
  • Bug 8823: Don't allow users to instantiate the StreamLogger class
  • Bug 8830: Make default notifications include users from host.vars.notification.mail.users
  • Bug 8865: Failed assertion in IdoMysqlConnection::FieldToEscapedString
  • Bug 8907: Validation fails even though field is not required
  • Bug 8924: Specify pidfile for status_of_proc in the init script
  • Bug 8952: Crash in VMOps::FunctionCall
  • Bug 8989: pgsql driver does not have latest mysql changes synced
  • Bug 9015: Compiler warnings with latest HEAD 5ac5f98
  • Bug 9027: PostgreSQL schema sets default timestamps w/o time zone
  • Bug 9053: icinga demo module can not be built
  • Bug 9188: Remove incorrect 'ignore where' expression from 'ssh' apply example
  • Bug 9455: Fix incorrect datatype for the check_source column in icinga_statehistory table
  • Bug 9547: Wrong vars changed handler in api events
  • Bug 9576: Overflow in freshness_threshold column (smallint) w/ DB IDO MySQL
  • Bug 9590: 'node wizard/setup' should always generate new CN certificates
  • Bug 9703: Problem with child nodes in http url registry
  • Bug 9735: Broken cluster config sync w/o include_zones
  • Bug 9778: Accessing field ID 0 ("prototype") fails
  • Bug 9793: Operator - should not work with "" and numbers
  • Bug 9795: ScriptFrame's 'Self' attribute gets corrupted when an expression throws an exception
  • Bug 9813: win32 build: S_ISDIR is undefined
  • Bug 9843: console autocompletion should take into account parent classes' prototypes
  • Bug 9868: Crash in ScriptFrame::~ScriptFrame
  • Bug 9872: Color codes in console prompt break line editing
  • Bug 9876: Crash during cluster log replay
  • Bug 9879: Missing conf.d or zones.d cause parse failure
  • Bug 9911: Do not let API users create objects with invalid names
  • Bug 9966: Fix formatting in mkclass
  • Bug 9968: Implement support for '.' when persisting modified attributes
  • Bug 9987: Crash in ConfigCompiler::RegisterZoneDir
  • Bug 10008: Don't parse config files for branches not taken
  • Bug 10012: Unused variable 'dobj' in configobject.tcpp
  • Bug 10024: HTTP keep-alive does not work with .NET WebClient
  • Bug 10027: Filtering by name doesn't work
  • Bug 10034: Unused variable console_type in consolecommand.cpp
  • Bug 10041: build failure: demo module
  • Bug 10048: Error handling in HttpClient/icinga-studio
  • Bug 10110: Add object_id where clause for icinga_downtimehistory
  • Bug 10180: API actions do not follow REST guidelines
  • Bug 10198: Detect infinite recursion in user scripts
  • Bug 10210: Move the Collection status handler to /v1/status
  • Bug 10211: PerfdataValue is not properly serialised in status queries
  • Bug 10224: URL parser is cutting off last character
  • Bug 10234: ASCII NULs don't work in string values
  • Bug 10238: Use a temporary file for modified-attributes.conf updates
  • Bug 10241: Properly encode URLs in Icinga Studio
  • Bug 10249: Config Sync shouldn't send updates for objects the client doesn't have access to
  • Bug 10253: /v1/objects/ returns an HTTP error when there are no objects of that type
  • Bug 10255: Config sync does not set endpoint syncing and plays disconnect-sync ping-pong
  • Bug 10256: ConfigWriter::EmitValue should format floating point values properly
  • Bug 10326: icinga2 repository host add does not work
  • Bug 10350: Remove duplicated text in section "Apply Notifications to Hosts and Services"
  • Bug 10355: Version updates are not working properly
  • Bug 10360: Icinga2 API performance regression
  • Bug 10371: Ensure that modified attributes work with clients with local config and no zone attribute
  • Bug 10386: restore_attribute does not work in clusters
  • Bug 10403: Escaping $ not documented
  • Bug 10406: Misleading wording in generated zones.conf
  • Bug 10410: OpenBSD: hang during ConfigItem::ActivateItems() in daemon startup
  • Bug 10417: 'which' isn't available in a minimal CentOS container
  • Bug 10422: Changing a group's attributes causes duplicate rows in the icinga_*group_members table
  • Bug 10433: 'dig_lookup' custom attribute for the 'dig' check command isn't optional
  • Bug 10436: Custom variables aren't removed from the IDO database
  • Bug 10439: "Command options" is empty when executing icinga2 without any argument.
  • Bug 10440: Improve --help output for the --log-level option
  • Bug 10455: Improve error handling during log replay
  • Bug 10456: Incorrect attribute name in the documentation
  • Bug 10457: Don't allow scripts to access FANoUserView attributes in sandbox mode
  • Bug 10461: Line continuation is broken in 'icinga2 console'
  • Bug 10466: Crash in IndexerExpression::GetReference when attempting to set an attribute on an object other than the current one
  • Bug 10473: IDO tries to execute empty UPDATE queries
  • Bug 10491: Unique constraint violation with multiple comment inserts in DB IDO
  • Bug 10495: Incorrect JSON-RPC message causes Icinga 2 to crash
  • Bug 10498: IcingaStudio: Accessing non-ConfigObjects causes ugly exception
  • Bug 10501: Plural name rule not treating edge case correcly
  • Bug 10504: Increase the default timeout for OS checks
  • Bug 10508: Figure out whether we need the Checkable attributes state_raw, last_state_raw, hard_state_raw
  • Bug 10510: CreatePipeOverlapped is not thread-safe
  • Bug 10512: Mismatch on {comment,downtime}_id vs internal name in the API
  • Bug 10517: Circular reference between *Connection and TlsStream objects
  • Bug 10518: Crash in ConfigWriter::GetKeywords
  • Bug 10527: Fix indentation for Dictionary::ToString
  • Bug 10529: Change session_token to integer timestamp
  • Bug 10535: Spaces do not work in command arguments
  • Bug 10538: Crash in ConfigWriter::EmitIdentifier
  • Bug 10539: Don't validate custom attributes that aren't strings
  • Bug 10540: Async mysql queries aren't logged in the debug log
  • Bug 10545: Broken build - unresolved external symbol "public: void __thiscall icinga::ApiClient::ExecuteScript...
  • Bug 10555: Don't try to use --gc-sections on Solaris
  • Bug 10556: Update OpenSSL for the Windows builds
  • Bug 10558: There's a variable called 'string' in filter expressions
  • Bug 10559: Autocompletion doesn't work in the debugger
  • Bug 10560: 'api setup' should create a user even when api feature is already enabled
  • Bug 10561: 'remove-comment' action does not support filters
  • Bug 10562: Documentation should not reference real host names
  • Bug 10563: /v1/console should only use a single permission
  • Bug 10568: Improve location information for errors in API filters
  • Bug 10569: Icinga 2 API Docs
  • Bug 10578: API call doesn't fail when trying to use a template that doesn't exist
  • Bug 10580: Detailed error message is missing when object creation via API fails
  • Bug 10583: modify_attribute: object cannot be cloned
  • Bug 10588: Documentation for /v1/types
  • Bug 10596: Deadlock in MacroProcessor::EvaluateFunction
  • Bug 10601: Don't allow users to set state attributes via PUT
  • Bug 10602: API overwrites (and then deletes) config file when trying to create an object that already exists
  • Bug 10604: Group memberships are not updated for runtime created objects
  • Bug 10629: Download URL for NSClient++ is incorrect
  • Bug 10637: Utility::FormatErrorNumber fails when error message uses arguments