GithubHelp home page GithubHelp logo

Comments (2)

cytopia avatar cytopia commented on June 6, 2024

I didn't really understand the current problem without the delimiter.
What in this line is causing a problem for Icinga2?

$ ./check_php -c "memory_limit" "256M" "w" -c "opcache.enable" "1" "w"

from check_php.

MarioSteinitz avatar MarioSteinitz commented on June 6, 2024

The issue is, that with Icinga2 there is kind of a default check plugin wrapper with standardized (named or unnamed) configurable arguments that can be used to integrate custom check plugins. Composing the plugin call in the old-fashioned way (simply concatenating the command call manually) is possible, but highly discouraged.

The arguments of the check command can be named or unnamed, repeating, or single, and support one value each. But they do not support repeating named arguments with two or three associated values. So we could either make the e.g. three values of a config check one value by concatenating them, or we'd have to create a dirty workaround (custom functions/macros/manually creating the check call/...).

The suggested delimiter option avoids this. You can now just use the default check command wrapper of Icinga2 (or by omitting the delimiter argument, older Icinga/Nagios implementations).

Some more reading:
https://www.icinga.com/2015/10/28/understanding-commands-in-icinga-2/
https://www.icinga.com/docs/icinga2/latest/doc/09-object-types/#objecttype-checkcommand
The interesting part is the 'arguments'. Which - in case of module and config checks - are repeatable. You may also compare with our example Icinga2 config added to the README.md in our commit(s) for Issue #2. The service template of HOSTED-POWER will not work in any way for modules/blacklist/config checks without the delimiter. It only works for update and startup checks.

from check_php.

Related Issues (8)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.