Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note: from command line interface, each command provides '--help' option that will print the usage of respective command.

Health Check

shinken-healthcheck

This tool is used to check the state of your Shinken Enterprise installation and configuration.

Usage:

shinken-healthcheck

Options:

NameDescription
--version
Show program's version number and exit.
-h, --help
Show this help message and exit.
-w, --write-output
Write output that can be send to the Shinken Solutions.

Sample Output

Code Block
languagebash
########################################
This tool is used to check the state of your Shinken Enterprise (2.03.02) installation and configuration
########################################
[ ....................................................................................................  ] 100%
Architecture
    OK:         [/etc/shinken/synchronizers/synchronizer-master.cfg:13] connection to daemon is
                OK
    OK:         [/etc/shinken/schedulers/scheduler-master.cfg:14] connection to daemon is OK
    OK:         [/etc/shinken/brokers/broker-master.cfg:15] connection to daemon is OK
    OK:         [/etc/shinken/receivers/receiver-master.cfg:7] connection to daemon is OK
    OK:         [/etc/shinken/reactionners/reactionner-master.cfg:9] connection to daemon is OK
    OK:         [/etc/shinken/pollers/poller-master.cfg:9] connection to daemon is OK
    OK:         [/etc/shinken/arbiters/arbiter-master.cfg:13] connection to daemon is OK
    AT RISK:    [/etc/shinken/synchronizers/synchronizer-master.cfg:13] is defined with
                localhost address, will be a problem in distributed mode. Please configure it
                with the LAN IP/FQDN address instead
    AT RISK:    [/etc/shinken/schedulers/scheduler-master.cfg:14] is defined with localhost
                address, will be a problem in distributed mode. Please configure it with the LAN
                IP/FQDN address instead
    AT RISK:    [/etc/shinken/brokers/broker-master.cfg:15] is defined with localhost address,
                will be a problem in distributed mode. Please configure it with the LAN IP/FQDN
                address instead
    AT RISK:    [/etc/shinken/receivers/receiver-master.cfg:7] is defined with localhost
                address, will be a problem in distributed mode. Please configure it with the LAN
                IP/FQDN address instead
    AT RISK:    [/etc/shinken/reactionners/reactionner-master.cfg:9] is defined with localhost
                address, will be a problem in distributed mode. Please configure it with the LAN
                IP/FQDN address instead
    AT RISK:    [/etc/shinken/pollers/poller-master.cfg:9] is defined with localhost address,
                will be a problem in distributed mode. Please configure it with the LAN IP/FQDN
                address instead
    AT RISK:    [/etc/shinken/arbiters/arbiter-master.cfg:13] is defined with localhost address,
                will be a problem in distributed mode. Please configure it with the LAN IP/FQDN
                address instead
Libs
    OK:         [lib check] pymongo is is available
    OK:         [lib check] pycurl is is available
    OK:         [lib check] gevent is is available
    OK:         [lib check] ldap is is available
    OK:         [lib check] gevent is is available
Licence key
    ERROR:      The licence key is invalid
    ERROR:      The key format is invalid.
    ERROR:      No licence key.
    ERROR:      The licence key is expired
Modules
    OK:         [Synchronizer] auth_secret is a custom variable
    OK:         [Synchronizer] master_key is a custom variable
    OK:         [WebUI] auth_secret is a custom variable
Storage
    OK:         [Synchronizer] mongodb server is available: mongodb://localhost/?safe=false
    OK:         [graphite] server localhost:2003 is available
    OK:         [webui::mongodb module /etc/shinken/modules/mongodb.cfg:5] mongodb server is
                available: mongodb://localhost/?safe=true
    OK:         [webui::graphite] server 127.0.0.1 is available with 10 top level elements

 

Output parts

The healthcheck output is separated into several parts:

  • Architecture: about your daemons configuration
  • Libs: about installed librairies need by Shinken Enterprise
  • Licence key: all about your licence key
  • Modules: information about UIs
  • Storage: information about the mongodb and graphite storage system

There are 3 level for output:

  • OK: all is valid
  • At Risk: it works, but something can go wrong in the future if you don't fix something
  • Error: this part is in error and must be fix now

Common issues and Error:

Outdated or invalid licence key

If you are using a invalid or an outdated licence key, you will have ERRORS on the Licence key part. You will also have a At Risk level near the end of the key validity date.

localhost address on the daemon configuration

The installation is installing the default daemons with the localhost address. If you are setuping for a distributed setup, you MUST set the IP/FQDN address instead.

The mongodb database is stopped

If you see such errors messages:

Code Block
ERROR: [Synchronizer] cannot connect to mongodb server: mongodb://localhost/?safe=false (could not connect to localhost:27017: [Errno 111] Connection refused)
ERROR: [webui::mongodb module /etc/shinken/modules/mongodb.cfg:5] cannot connect to mongodb server: mongodb://localhost/?safe=true (could not connect to localhost:27017: [Errno 111] Connection refused)

It means that the mongodb database is stopped. You an try to restart it with the command:

Code Block
languagebash
/etc/init.d/mongodb start

And if it stil fail, you can look at the mongodb database logs available in /var/log/mongodb/mongod.log

The Graphite servers are not available

If you see such errors:

Code Block
ERROR: [webui::graphite backend] cannot request graphite server at 127.0.0.1 (<urlopen error [Errno 111] Connection refused>)

It means that the Graphite services are stopped.

You can try to restart them:

Code Block
languagebash
/etc/init.d/httpd start
/etc/init.d/carbon-carche start

 

One of your Shinken daemon is stopped:

If you see such an error:

Code Block
ERROR: [/etc/shinken/synchronizers/synchronizer-master.cfg:13] cannot contact daemon (<urlopen error [Errno 111] Connection refused>)

It means that one of your Shinken daemons is stopped. You can try to restart it on its server:

Code Block
/etc/init.d/shinken start

Backup and restore

shinken-restore

Usage:

shinken-restore DIRECTORY-TO-RESTORE

 

shinken-backup

Usage:

shinken-backup  [--name BACKUP-NAME]

 

Daemons

shinken-receiver

Usage:

shinken-receiver [options]

Options: 

NameDescription
--version
Show program's version number and exit.
-h, --help
Show this help message and exit.
-c INI-CONFIG-FILE, --config=INI-CONFIG-FILE
Config file.
-d, --daemon
Run in daemon mode.
-r, --replace
Replace previous running receiver.
--debugfile=DEBUG_FILE
Debug file. Default: not used (why debug a bug free
program? :) ).

 

shinken-arbiter

Usage:

shinken-arbiter [options] -c configfile [-c additional_config_file]

Options:

NameDescription
--version
Show program's version number and exit.
-h, --help
Show this help message and exit.
-c CONFIG-FILE, --config=CONFIG-FILE
Config file (your nagios.cfg). Multiple -c can be used, it will be like if all files was just one.
-d, --daemon
Run in daemon mode.
-r, --replace
Replace previous running arbiter
--debugfile=DEBUG_FILE
Debug file. Default: not used (why debug a bug free
program? :) ).
-v, --verify-config
Verify config file and exit.
-p PROFILE, --profile=PROFILE
Dump a profile file. Need the python cProfile library
-a ANALYSE, --analyse=ANALYSE
Dump an analyse statistics file, for support.
-m MIGRATE, --migrate=MIGRATE
Migrate the raw configuration read from the arbiter to
another module. VERY EXPERIMENTAL!
-n ARB_NAME, --name=ARB_NAME
Give the arbiter name to use. Optional, will use the
host address if not provide to find it.

 

shinken-poller

Usage:

shinken-poller [options]

Options:

NameDescription
--version
Show program's version number and exit.
-h, --help
Show this help message and exit.
-c INI-CONFIG-FILE, --config=INI-CONFIG-FILE
Config file.
-d, --daemon
Run in daemon mode.
-r, --replace
Replace previous running poller.
--debugfile=DEBUG_FILE
Debug file. Default: not used (why debug a bug free program? :) ).
-p PROFILE, --profile=PROFILE
Dump a profile file. Need the python cProfile library.

 

shinken-scheduler

Usage:

shinken-scheduler [options]

Options:

NameDescription
--version
Show program's version number and exit.
-h, --help
Show this help message and exit.
-c INI-CONFIG-FILE, --config=INI-CONFIG-FILE
Config file.
-d, --daemon
Run in daemon mode.
-r, --replace
Replace previous running scheduler.
--debugfile=DEBUG_FILE
Debug file. Default: not used (why debug a bug free program? :) ).
-p PROFILE, --profile=PROFILE
Dump a profile file. Need the python cProfile library.

 

shinken-broker

Usage:

shinken-broker [options]

Options:

NameDescription
--version
Show program's version number and exit.
-h, --help
Show this help message and exit.
-c INI-CONFIG-FILE, --config=INI-CONFIG-FILE
Config file.
-d, --daemon
Run in daemon mode.
-r, --replace
Replace previous running broker.
--debugfile=DEBUG_FILE
Debug file. Default: not used (why debug a bug free program? :) ).
-p PROFILE, --profile=PROFILE
Dump a profile file. Need the python cProfile library.

 

shinken-reactionner

Usage:

shinken-reactionner [options]

Options:

NameDescription
--version
Show program's version number and exit.
-h, --help
Show this help message and exit.
-c INI-CONFIG-FILE, --config=INI-CONFIG-FILE
Config file.
-d, --daemon
Run in daemon mode.
-r, --replace
Replace previous running reactionner.
--debugfile=DEBUG_FILE
Debug file. Default: not used (why debug a bug free
program? :) ).
-p PROFILE, --profile=PROFILE
Dump a profile file. Need the python cProfile library.

 

shinken-synchronizer

Usage:

shinken-synchronizer [options] -c configfile [-c additional_config_file]

Options:

...

--version

...

-h, --help

...

-c CONFIG-FILE, --config=CONFIG-FILE

...

-d, --daemon

...

-r, --replace

...

--debugfile=DEBUG_FILE

...

 

...

-v, --verify-config

...