No Dashboard after automatic Installation

  • Hey guys,

    Im working on a bash script for a full automatic installation of icinga2 with icingaweb2.

    I followed the instructions on https://www.icinga.com/docs/ic…tallation-of-icinga-web-2


    And it works good.

    But after the Login to icingaweb, there is no dashboard available. I hope it would be at least the default dashboard of an manual installation.



    How is it possible o get a Dashboard with the default views?


    Thank you

  • That happens when your current user have no permissions in icingaweb2.

    Is this your user you created while the web-setup?


    The permissions of your initial admin should look like this:


    Greetings

    starflighter

  • Code
    1. root@debicinga:/home/user# cat /etc/icingaweb2/roles.ini
    2. [Administratoren]
    3. users = "admin"
    4. persmissions = "*"
    5. groups = "Administratoren"

    The user was created like this:

    Code
    1. sudo mysql --batch --user=root --password=${DBPASSWORD} -e "USE icingaweb2; INSERT INTO icingaweb_user (name, active, password_hash) VALUES ('admin', 1, '${DBPASSWORDHASH}');
    2. sudo /bin/su -c 'echo "[Administratoren]" > /etc/icingaweb2/roles.ini'
    3. sudo /bin/su -c 'echo "users = \"admin\"" >> /etc/icingaweb2/roles.ini'
    4. sudo /bin/su -c 'echo "persmissions = \"*\"" >> /etc/icingaweb2/roles.ini'
    5. sudo /bin/su -c 'echo "groups = \"Administratoren\"" >> /etc/icingaweb2/roles.ini'

    So i guess the user admin has all permissions?

  • Seems the monitoring module is not enabled.

    How can i enable it?

    Now it is enabled in the script with:


    Code
    1. sudo mkdir -p /etc/icingaweb2/modules/monitoring/
    2. sudo mkdir -p /etc/icingaweb2/enabledModules/
    3. sudo ln -s /usr/share/icingaweb2/modules/monitoring/ /etc/icingaweb2/enabledModules/

    I also tried to change the user, because the folders are created as root but its not helping:


  • Code
    1. icingacli module enable monitoring

    creates the symlink /etc/icingaweb2/enabledModules/monitoring -> /usr/share/icingaweb2/modules/monitoring


    But /etc/icingaweb2/modules/monitoring/ is not created.

    So im creating the folder manually and fill it with my configuration via

    Code
    1. sudo /bin/su -c 'echo "[icinga]" > /etc/icingaweb2/modules/monitoring/backends.ini'
    2. ...

    But the Dashboard still looks the same.

  • /etc/icingaweb2/modules/monitoring is populated from either the setup wizard or if modifying it from the web interface afterwards.


    You probably want to deploy the configuration files manually. A list is given here: https://www.icinga.com/docs/ic…tallation-of-icinga-web-2

  • /etc/icingaweb2/modules/monitoring is populated from either the setup wizard or if modifying it from the web interface afterwards.


    You probably want to deploy the configuration files manually. A list is given here: https://www.icinga.com/docs/ic…tallation-of-icinga-web-2

    I can't find an option to modify these monitoring config files from the web interface after the installation.

    But yes, they have to be configured automaticly.

    This is my full script:


  • Your script doesn't have any error handling. Piping output to /dev/null might be sufficient, but not checking the exit code of each command might lead into unwanted behaviour.


    The setup wizard routine mentioned here is what I am referring to: https://www.icinga.com/docs/ic…paring-icinga-web-2-setup


    I wouldn't recommend to write such automated installation scripts either. I'm a friend of modern management tools for this kind of thing, like Puppet or Ansible.

  • Yeah while installing icingaweb2 via the web setup everythings works fine. But i cant understand the difference between web setup and manual setup through the command line.


    All config files are equal. I have two virtual boxes, one with a working instance and one with the mentioned problem.

    I tried to create the dashboard with the example of the working instance and get the error:



    Code
    1. No permission for module/monitoring
    2. #0 /usr/share/php/Icinga/Web/Controller/ModuleActionController.php(31): Icinga\Web\Controller\ActionController->assertPermission('module/monitori...')
    3. #1 /usr/share/php/Icinga/Web/Controller/ActionController.php(138): Icinga\Web\Controller\ModuleActionController->prepareInit()
    4. #2 /usr/share/php/Icinga/Web/Controller/Dispatcher.php(59): Icinga\Web\Controller\ActionController->__construct(Object(Icinga\Web\Request), Object(Icinga\Web\Response), Array)
    5. #3 /usr/share/icingaweb2/library/vendor/Zend/Controller/Front.php(937): Icinga\Web\Controller\Dispatcher->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
    6. #4 /usr/share/php/Icinga/Application/Web.php(389): Zend_Controller_Front->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
    7. #5 /usr/share/php/Icinga/Application/webrouter.php(109): Icinga\Application\Web->dispatch()
    8. #6 /usr/share/icingaweb2/public/index.php(4): require_once('/usr/share/php/...')
    9. #7 {main}



    It seems like the module is not working propably.


    I also tried to remove and install the module again but i get the error:


    Code
    1. root@monitoring-klon:/home/user# icingacli module install monitoring
    2. ERROR: Icinga\Exception\IcingaException in /usr/share/php/Icinga/Cli/Command.php:141 with message: Not implemented yet 

    I even dumped the sql database of icingaweb2 from the working instance to the non working to see if the problem is related to the databases but its not.

  • Your authenticated user does not have permission for the monitoring module, just as the error message says: "No permission for module/monitoring".


    Verify the logged in user and check it against the permissions and assigned roles.

  • yeah, the script is fine. It was just a type error...


    Thanks for your help