Problems to deploy dashing-icinga2

Hello friends.

I am trying to deploy the dashboard for Icinga2 called “dashing-icinga2” and I am encountering a lot of problems that I don’t know how to solve, I have followed the steps indicated in the installation manual:

https://github.com/mocdaniel/dashing-icinga2#proceed-with-bundling-for-all-systems-centos-ubuntu-debian-etc

But after the installation, I can’t start the service, it gives me error and I can’t solve it:

× dashing-icinga2.service - Dashing-Icinga2 host/service/network monitoring system
     Loaded: loaded (/lib/systemd/system/dashing-icinga2.service; disabled; preset: enabled)
     Active: failed (Result: exit-code) since Mon 2023-11-13 11:33:13 CET; 7s ago
    Process: 1116 ExecStart=/usr/local/bin/puma -p 8005 --pid /var/run/puma.pid (code=exited, status=1/FAILURE)
   Main PID: 1116 (code=exited, status=1/FAILURE)
        CPU: 1.271s

nov 13 11:33:13 Icinga-Server puma[1116]:         from /var/lib/gems/3.1.0/gems/puma-6.4.0/lib/puma/single.rb:44:in `run'
nov 13 11:33:13 Icinga-Server puma[1116]:         from /var/lib/gems/3.1.0/gems/puma-6.4.0/lib/puma/launcher.rb:194:in `run'
nov 13 11:33:13 Icinga-Server puma[1116]:         from /var/lib/gems/3.1.0/gems/puma-6.4.0/lib/puma/cli.rb:75:in `run'
nov 13 11:33:13 Icinga-Server puma[1116]:         from /var/lib/gems/3.1.0/gems/puma-6.4.0/bin/puma:10:in `<top (required)>'
nov 13 11:33:13 Icinga-Server puma[1116]:         from /usr/local/bin/puma:25:in `load'
nov 13 11:33:13 Icinga-Server puma[1116]:         from /usr/local/bin/puma:25:in `<main>'
nov 13 11:33:13 Icinga-Server systemd[1]: dashing-icinga2.service: Main process exited, code=exited, status=1/FAILURE
nov 13 11:33:13 Icinga-Server systemd[1]: dashing-icinga2.service: Failed with result 'exit-code'.
nov 13 11:33:13 Icinga-Server systemd[1]: Failed to start dashing-icinga2.service - Dashing-Icinga2 host/service/network monitoring system.
nov 13 11:33:13 Icinga-Server systemd[1]: dashing-icinga2.service: Consumed 1.271s CPU time.

Would someone be so kind to help me in this task.
I am trying to implement Icinga2 with this nice dashboard in my IT department and it is causing me a lot of problems.

My OS is Debian 12

Thank you very much for your help.

Hello Antonio,

dashing-icinga maintainer here - I will look into your situation and get back to you here, I suspect it’s due to Debian12 being ‘too new’ for the software stack dashing-icinga2 is supposed to be run on.

Greetings,
Daniel

@Laison007 could you provide your bash_history or similar, outlining the steps you took when installing dashing-icinga2?

My initial tests show that dashing-icinga2 should work on Debian12 as expected.

Hello, thank you very much for your interest.

I did the installation together with a user called “administrator” and the root user, because to run the bundle command, the documentation recommended not to use the root user.

Below I attach the bash_history output of the administrator user and the root user.

Best regards.
commands_used_dashing_icinga2_user_administrador.txt (1.0 KB)
commands_used_dashing_icinga2.txt (10.9 KB)

Hello again.

I have done a parallel installation on another server, I have gone back to using Debian 12, because according to what you told me, there were no incompatibility problems.
I followed the steps and I am back to exactly the same point, when I run the command systemctl start dashing-icinga2.service I get exactly the same error.

If I run the program “puma” only, it returns the following message, I think it is related to the problem that is happening to me.

root@icinga-server:/usr/share/dashing-icinga2# puma
Puma starting in single mode...
* Puma version: 6.4.0 (ruby 3.1.2-p20) ("The Eagle of Durango")
*  Min threads: 0
*  Max threads: 5
*  Environment: development
*          PID: 32590
First trying to read environment variables
Environment variables not found, falling back to configuration file config/icinga2.json
Detecting local config file '/usr/share/dashing-icinga2/config/icinga2.local.json'.
Using config file '/usr/share/dashing-icinga2/config/icinga2.local.json'.
Reading config{"icinga2"=>{"api"=>{"host"=>"localhost", "port"=>5665, "user"=>"dashing", "password"=>"icinga2ondashingr0xx"}}, "icingaweb2"=>{"url"=>"http://localhost/icingaweb2"}, "dashboard"=>{"show_only_hard_state_problems"=>false, "timezone"=>"UTC", "url_prefix"=>""}}
/usr/share/dashing-icinga2/lib/icinga2.rb:213: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
First trying to read environment variables
Environment variables not found, falling back to configuration file config/icinga2.json
Detecting local config file '/usr/share/dashing-icinga2/config/icinga2.local.json'.
Using config file '/usr/share/dashing-icinga2/config/icinga2.local.json'.
Reading config{"icinga2"=>{"api"=>{"host"=>"localhost", "port"=>5665, "user"=>"dashing", "password"=>"icinga2ondashingr0xx"}}, "icingaweb2"=>{"url"=>"http://localhost/icingaweb2"}, "dashboard"=>{"show_only_hard_state_problems"=>false, "timezone"=>"UTC", "url_prefix"=>""}}
/usr/share/dashing-icinga2/lib/icinga2.rb:213: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
! Unable to load application: ArgumentError: paths need to start with /
/var/lib/gems/3.1.0/gems/rack-2.2.8/lib/rack/urlmap.rb:34:in `block in remap': paths need to start with / (ArgumentError)
        from /var/lib/gems/3.1.0/gems/rack-2.2.8/lib/rack/urlmap.rb:25:in `each'
        from /var/lib/gems/3.1.0/gems/rack-2.2.8/lib/rack/urlmap.rb:25:in `map'
        from /var/lib/gems/3.1.0/gems/rack-2.2.8/lib/rack/urlmap.rb:25:in `remap'
        from /var/lib/gems/3.1.0/gems/rack-2.2.8/lib/rack/urlmap.rb:20:in `initialize'
        from config.ru:59:in `new'
        from config.ru:59:in `block in <main>'
        from /var/lib/gems/3.1.0/gems/rack-2.2.8/lib/rack/builder.rb:116:in `eval'
        from /var/lib/gems/3.1.0/gems/rack-2.2.8/lib/rack/builder.rb:116:in `new_from_string'
        from /var/lib/gems/3.1.0/gems/rack-2.2.8/lib/rack/builder.rb:105:in `load_file'
        from /var/lib/gems/3.1.0/gems/rack-2.2.8/lib/rack/builder.rb:66:in `parse_file'
        from /var/lib/gems/3.1.0/gems/puma-6.4.0/lib/puma/configuration.rb:368:in `load_rackup'
        from /var/lib/gems/3.1.0/gems/puma-6.4.0/lib/puma/configuration.rb:290:in `app'
        from /var/lib/gems/3.1.0/gems/puma-6.4.0/lib/puma/runner.rb:162:in `load_and_bind'
        from /var/lib/gems/3.1.0/gems/puma-6.4.0/lib/puma/single.rb:44:in `run'
        from /var/lib/gems/3.1.0/gems/puma-6.4.0/lib/puma/launcher.rb:194:in `run'
        from /var/lib/gems/3.1.0/gems/puma-6.4.0/lib/puma/cli.rb:75:in `run'
        from /var/lib/gems/3.1.0/gems/puma-6.4.0/bin/puma:10:in `<top (required)>'
        from /usr/local/bin/puma:25:in `load'
        from /usr/local/bin/puma:25:in `<main>'

Has this problem occurred to anyone?

Thank you very much

Thank you for the additional bit of information. This behaviour is most peculiar, I duplicated your exact configuration, judging by the output you posted, and can’t replicate the stacktrace given by rack.

Would you mind sharing your icinga2.local.json and icinga2.json configuration files?

Hi Daniel.

Yes, of course, I attach the requested files.

Best regards and thank you very much.

PS.
I will also test the installation on a Debian 11 distribution, in case it is a problem of a “too modern” version of Debian.

Icinga2_json_files.zip (668 Bytes)

This is very strange. The configuration is fine, as well. Can you give me the output of gem list, too? You can just paste it into your answer, I want to check if for some reason you end up with different gem versions, compared to me.

Hello.

This is the list of gems with the root user:

root gems

root@Icinga-Server:~# list of gems.

*** LOCAL GEMS ***

abbrev (default: 0.1.0)
base64 (default: 0.1.1)
benchmark (default: 0.2.0)
bigdecimal (default: 3.1.1)
bundler (2.4.22, 2.3.15, default: 2.3.7)
cgi (default: 0.3.5)
coffee-script (2.4.1)
coffee-script-source (1.12.2)
concurrent-ruby (1.2.2)
csv (default: 3.2.2)
daemons (1.4.1)
date (default: 3.2.2)
debug (1.4.0)
delegate (default: 0.2.0)
did_you_mean (default: 1.6.1)
digest (default: 3.1.0)
domain_name (0.5.20190701)
drb (default: 2.1.0)
english (default: 0.7.1)
erb (default: 2.2.3)
error_highlight (default: 0.3.0)
et-orbi (1.2.7)
etc (default: 1.3.0)
eventmachine (1.2.7)
execjs (2.9.1)
fcntl (default: 1.0.1)
ffi (1.16.3)
fiddle (default: 1.1.0)
fileutils (default: 1.6.0)
find (default: 0.1.1)
forwardable (default: 1.3.2)
fugit (default: 1.9.0)
getoptlong (default: 0.1.1)
http-accept (1.7.0)
http-cookie (1.0.5)
io-console (default: 0.5.11)
io-nonblock (default: 0.1.0)
io-wait (default: 0.2.1)
ipaddr (default: 1.2.4)
irb (default: 1.4.1)
json (2.6.3, default: 2.6.1)
logger (default: 1.5.0)
matrix (0.4.2)
mime-types (3.5.1)
mime-types-data (3.2023.1003)
minitest (5.15.0)
multi_json (1.15.0)
mustermann (2.0.2)
mutex_m (default: 0.1.1)
net-ftp (0.1.3)
net-http (default: 0.2.0)
net-imap (0.2.3)
net-pop (0.1.1)
net-protocol (default: 0.1.2)
net-smtp (0.3.1)
net-telnet (0.2.0)
netrc (0.11.0)
nio4r (2.5.9)
nkf (default: 0.1.1)
observer (default: 0.1.1)
open-uri (default: 0.2.0)
open3 (default: 0.1.1)
openssl (default: 3.0.1)
optparse (default: 0.2.0)
ostruct (default: 0.5.2)
pathname (default: 0.2.0)
power_assert (2.0.1)
pp (default: 0.3.0)
prettyprint (default: 0.1.1)
prime (0.1.2)
pstore (default: 0.1.1)
psych (default: 4.0.3)
puma (6.4.0)
raabro (1.4.0)
racc (default: 1.6.0)
rack (2.2.8)
rack-protection (2.2.4)
rack-test (0.7.0)
rake (13.0.6)
rbs (2.1.0)
rdoc (default: 6.4.0)
readline (default: 0.0.3)
readline-ext (default: 0.1.4)
reline (default: 0.3.0)
resolv (default: 0.2.1)
resolv-replace (default: 0.1.0)
rest-client (2.1.0)
rexml (3.2.5)
rinda (default: 0.1.1)
rss (0.2.9)
ruby2_keywords (default: 0.0.5)
rubygems-update (3.3.15)
rufus-scheduler (3.9.1)
sassc (2.1.0 x86_64-linux)
sd_notify (0.1.1)
sdbm (1.0.0)
securerandom (default: 0.1.1)
set (default: 1.0.2)
shellwords (default: 0.1.0)
sinatra (2.2.4)
sinatra-contrib (2.2.4)
singleton (default: 0.1.1)
smashing (1.3.6)
sprockets (4.2.1)
stringio (default: 3.0.1)
strscan (default: 3.0.1)
syslog (default: 0.1.0)
tempfile (default: 0.1.2)
test-unit (3.5.3)
thin (1.8.2)
thor (1.3.0)
tilt (2.3.0)
time (default: 0.2.0)
timeout (default: 0.2.0)
tmpdir (default: 0.1.2)
tsort (default: 0.1.0)
typeprof (0.21.2)
tzinfo (2.0.6)
un (default: 0.2.0)
unf (0.1.4)
unf_ext (0.0.8.2)
uri (default: 0.11.0)
weakref (default: 0.1.1)
webrick (1.8.1)
xmlrpc (0.3.2)
yaml (default: 0.2.0)
zlib (default: 2.1.1)

With the administrator user (not root):

non-root gems

administrador@Icinga-Server:/root$ gem list

*** LOCAL GEMS ***

abbrev (default: 0.1.0)
base64 (default: 0.1.1)
benchmark (default: 0.2.0)
bigdecimal (default: 3.1.1)
bundler (2.4.22, 2.3.15, default: 2.3.7)
cgi (default: 0.3.5)
coffee-script (2.4.1)
coffee-script-source (1.12.2)
concurrent-ruby (1.2.2)
csv (default: 3.2.2)
daemons (1.4.1)
date (default: 3.2.2)
debug (1.4.0)
delegate (default: 0.2.0)
did_you_mean (default: 1.6.1)
digest (default: 3.1.0)
domain_name (0.5.20190701)
drb (default: 2.1.0)
english (default: 0.7.1)
erb (default: 2.2.3)
error_highlight (default: 0.3.0)
et-orbi (1.2.7)
etc (default: 1.3.0)
eventmachine (1.2.7)
execjs (2.9.1)
fcntl (default: 1.0.1)
ffi (1.16.3)
fiddle (default: 1.1.0)
fileutils (default: 1.6.0)
find (default: 0.1.1)
forwardable (default: 1.3.2)
fugit (1.9.0)
getoptlong (default: 0.1.1)
http-accept (1.7.0)
http-cookie (1.0.5)
io-console (default: 0.5.11)
io-nonblock (default: 0.1.0)
io-wait (default: 0.2.1)
ipaddr (default: 1.2.4)
irb (default: 1.4.1)
json (2.6.3, default: 2.6.1)
logger (default: 1.5.0)
matrix (0.4.2)
mime-types (3.5.1)
mime-types-data (3.2023.1003)
minitest (5.15.0)
multi_json (1.15.0)
mustermann (2.0.2)
mutex_m (default: 0.1.1)
net-ftp (0.1.3)
net-http (default: 0.2.0)
net-imap (0.2.3)
net-pop (0.1.1)
net-protocol (default: 0.1.2)
net-smtp (0.3.1)
net-telnet (0.2.0)
netrc (0.11.0)
nio4r (2.5.9)
nkf (default: 0.1.1)
observer (default: 0.1.1)
open-uri (default: 0.2.0)
open3 (default: 0.1.1)
openssl (default: 3.0.1)
optparse (default: 0.2.0)
ostruct (default: 0.5.2)
pathname (default: 0.2.0)
power_assert (2.0.1)
pp (default: 0.3.0)
prettyprint (default: 0.1.1)
prime (0.1.2)
pstore (default: 0.1.1)
psych (default: 4.0.3)
puma (6.4.0)
raabro (1.4.0)
racc (default: 1.6.0)
rack (2.2.8)
rack-protection (2.2.4)
rack-test (0.7.0)
rake (13.0.6)
rbs (2.1.0)
rdoc (default: 6.4.0)
readline (default: 0.0.3)
readline-ext (default: 0.1.4)
reline (default: 0.3.0)
resolv (default: 0.2.1)
resolv-replace (default: 0.1.0)
rest-client (2.1.0)
rexml (3.2.5)
rinda (default: 0.1.1)
rss (0.2.9)
ruby2_keywords (default: 0.0.5)
rubygems-update (3.3.15)
rufus-scheduler (3.9.1)
sassc (2.1.0 x86_64-linux)
sd_notify (0.1.1)
sdbm (1.0.0)
securerandom (default: 0.1.1)
set (default: 1.0.2)
shellwords (default: 0.1.0)
sinatra (2.2.4)
sinatra-contrib (2.2.4)
singleton (default: 0.1.1)
smashing (1.3.6)
sprockets (4.2.1)
stringio (default: 3.0.1)
strscan (default: 3.0.1)
syslog (default: 0.1.0)
tempfile (default: 0.1.2)
test-unit (3.5.3)
thin (1.8.2)
thor (1.3.0)
tilt (2.3.0)
time (default: 0.2.0)
timeout (default: 0.2.0)
tmpdir (default: 0.1.2)
tsort (default: 0.1.0)
typeprof (0.21.2)
tzinfo (2.0.6)
un (default: 0.2.0)
unf (0.1.4)
unf_ext (0.0.8.2)
uri (default: 0.11.0)
weakref (default: 0.1.1)
webrick (1.8.1)
xmlrpc (0.3.2)
yaml (default: 0.2.0)
zlib (default: 2.1.1)

Greetings.

Hello

I have tried again, this time with Debian 11, specifically version 11.8 and again it fails at exactly the same point. I am working on virtualized machines with VMware, could that be the cause?

Also, I use the “Git clone” option for the dashing-icinga2 download, could some file or component be missing in the repository that breaks the installation?
Do you use Tarball for downloading?

Another thing that has happened to me in the 3 attempts, when I run the “bundle” command from the non-root user is that I am missing lots and lots of gems that I have to install manually, for example:

“An error occurred while installing rack (2.2.8), and Bundler cannot
continue.”

From another terminal, with the root user, I install the gem and run bundle again from the non-root terminal, so with more than 15 dependencies, until bundle finishes correctly. does this happen to you too?

At the point of environment variables and api, what configuration do you do? Here I have doubts about how to do it and maybe this is the problem.
I have executed this:

ICINGA2_API_HOST=localhost ICINGA2_API_PORT=5665 ICINGA2_API_USERNAME=root ICINGA2_API_PASSWORD=MY_ICINGA2_API_PASSWORD puma config.ru -p 8005

But it returns the following error:

root@icinga-server:/usr/share/dashing-icinga2# ICINGA2_API_HOST=localhost ICINGA2_API_PORT=5665 ICINGA2_API_USERNAME=root ICINGA2_API_PASSWORD=0dba942d408d5e19 puma config.ru -p 8005
Puma starting in single mode…

  • Puma version: 6.4.0 (ruby 2.7.4-p191) (“The Eagle of Durango”)
  • Min threads: 0
  • Max threads: 5
  • Environment: development
  •      PID: 35256
    

First trying to read environment variables
Using environment variable configuration on ‘localhost:5665’.
First trying to read environment variables
Using environment variable configuration on ‘localhost:5665’.
! Unable to load application: TypeError: no implicit conversion of nil into String
Traceback (most recent call last):
17: from /usr/local/bin/puma:23:in <main>' 16: from /usr/local/bin/puma:23:in load’
15: from /var/lib/gems/2.7.0/gems/puma-6.4.0/bin/puma:10:in <top (required)>' 14: from /var/lib/gems/2.7.0/gems/puma-6.4.0/lib/puma/cli.rb:75:in run’
13: from /var/lib/gems/2.7.0/gems/puma-6.4.0/lib/puma/launcher.rb:194:in run' 12: from /var/lib/gems/2.7.0/gems/puma-6.4.0/lib/puma/single.rb:44:in run’
11: from /var/lib/gems/2.7.0/gems/puma-6.4.0/lib/puma/runner.rb:162:in load_and_bind' 10: from /var/lib/gems/2.7.0/gems/puma-6.4.0/lib/puma/configuration.rb:290:in app’
9: from /var/lib/gems/2.7.0/gems/puma-6.4.0/lib/puma/configuration.rb:368:in load_rackup' 8: from /var/lib/gems/2.7.0/gems/rack-2.2.8/lib/rack/builder.rb:66:in parse_file’
7: from /var/lib/gems/2.7.0/gems/rack-2.2.8/lib/rack/builder.rb:105:in load_file' 6: from /var/lib/gems/2.7.0/gems/rack-2.2.8/lib/rack/builder.rb:116:in new_from_string’
5: from /var/lib/gems/2.7.0/gems/rack-2.2.8/lib/rack/builder.rb:116:in eval' 4: from config.ru:8:in block in ’
3: from /var/lib/gems/2.7.0/gems/sinatra-2.2.4/lib/sinatra/base.rb:1970:in block (2 levels) in delegate' 2: from /var/lib/gems/2.7.0/gems/sinatra-2.2.4/lib/sinatra/base.rb:1486:in configure’
1: from config.ru:10:in block (2 levels) in <main>' config.ru:10:in prepend’: no implicit conversion of nil into String (TypeError)

I am waiting for your help, thank you very much.

Hello

I update the information on what I have been finding out.

  • I have tested the installation with Ubuntu Server with identical result.
  • I have only been able to advance using a previous version of “dashing-icinga2”, specifically version 3.0, with this version, the dashing-icinga2 service starts correctly, it also does it with releases 3.1.0 and 3.2.0, it is in the last release(3.3.0), where they introduce puma where everything “breaks”.

Here is the dashing-icinga2 service running correctly:

root@icingaserver:/usr/share/dashing-icinga2# systemctl daemon-reload
root@icingaserver:/usr/share/dashing-icinga2# systemctl start dashing-icinga2
root@icingaserver:/usr/share/dashing-icinga2# systemctl status dashing-icinga2
● dashing-icinga2.service - Dashing-Icinga2 host/service/network monitoring system
Loaded: loaded (/lib/systemd/system/dashing-icinga2.service; disabled; vendor preset: enabled)
Active: active (exited) since Thu 2023-11-16 21:37:23 UTC; 5s ago
Process: 30229 ExecStart=/usr/local/bin/dashing start -d -p 8005 --pid /var/run/thin.pid (code=exited, status=0/SUCCESS)
Main PID: 30229 (code=exited, status=0/SUCCESS)
Tasks: 5 (limit: 6970)
Memory: 53.6M
CPU: 1.364s
CGroup: /system.slice/dashing-icinga2.service
└─30232 “thin server (0.0.0.0:8005)” “” “” “” “” “” “” “” “” “” “” “” “” “” “” “” “” “” “” “” “” “” “” “” “” “” “” ">

nov 16 21:37:22 icingaserver systemd[1]: Starting Dashing-Icinga2 host/service/network monitoring system…
nov 16 21:37:23 icingaserver systemd[1]: Finished Dashing-Icinga2 host/service/network monitoring system.

But not everything is solved, when I try to run the script ./restart-dashing I have problems again, if I run it with the non-root user it returns errors:

administrador@icingaserver:/usr/share/dashing-icinga2$ ./restart-dashing
bundler: failed to load command: thin (/usr/local/bin/thin)
/usr/lib/ruby/3.0.0/fileutils.rb:253:in mkdir': Permission denied @ dir_s_mkdir - tmp (Errno::EACCES) from /usr/lib/ruby/3.0.0/fileutils.rb:253:in fu_mkdir’
from /usr/lib/ruby/3.0.0/fileutils.rb:231:in block (2 levels) in mkdir_ p' from /usr/lib/ruby/3.0.0/fileutils.rb:229:in reverse_each’
from /usr/lib/ruby/3.0.0/fileutils.rb:229:in block in mkdir_p' from /usr/lib/ruby/3.0.0/fileutils.rb:211:in each’
from /usr/lib/ruby/3.0.0/fileutils.rb:211:in mkdir_p' from /var/lib/gems/3.0.0/gems/thin-1.6.4/lib/thin/daemonizing.rb:49:in daemonize’
from /var/lib/gems/3.0.0/gems/thin-1.6.4/lib/thin/controllers/controller .rb:62:in start' from /var/lib/gems/3.0.0/gems/thin-1.6.4/lib/thin/runner.rb:200:in run_ command’
from /var/lib/gems/3.0.0/gems/thin-1.6.4/lib/thin/runner.rb:156:in run! ' from /var/lib/gems/3.0.0/gems/thin-1.6.4/bin/thin:6:in <top (required)> ’
from /usr/local/bin/thin:25:in load' from /usr/local/bin/thin:25:in <top (required)>’
from /var/lib/gems/3.0.0/gems/bundler-2.4.22/lib/bundler/cli/exec.rb:58: in load' from /var/lib/gems/3.0.0/gems/bundler-2.4.22/lib/bundler/cli/exec.rb:58: in kernel_load’
from /var/lib/gems/3.0.0/gems/bundler-2.4.22/lib/bundler/cli/exec.rb:23: in run' from /var/lib/gems/3.0.0/gems/bundler-2.4.22/lib/bundler/cli.rb:492:in exec’
from /var/lib/gems/3.0.0/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib /thor/command.rb:28:in run' from /var/lib/gems/3.0.0/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib /thor/invocation.rb:127:in invoke_command’
from /var/lib/gems/3.0.0/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib /thor.rb:527:in dispatch' from /var/lib/gems/3.0.0/gems/bundler-2.4.22/lib/bundler/cli.rb:34:in d ispatch’
from /var/lib/gems/3.0.0/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib /thor/base.rb:584:in start' from /var/lib/gems/3.0.0/gems/bundler-2.4.22/lib/bundler/cli.rb:28:in s tart’
from /var/lib/gems/3.0.0/gems/bundler-2.4.22/exe/bundle:37:in block in <top (required)>' from /var/lib/gems/3.0.0/gems/bundler-2.4.22/lib/bundler/friendly_errors .rb:117:in with_friendly_errors’
from /var/lib/gems/3.0.0/gems/bundler-2.4.22/exe/bundle:29:in <top (req uired)>' from /usr/local/bin/bundle:25:in load’
from /usr/local/bin/bundle:25:in `’
Restarted Dashing with PID 30441 listening on port 8005.
administrador@icingaserver:/usr/share/dashing-icinga2$

And if I run it with the root user, it doesn’t return anything, it stays as it is.

root@icingaserver:/usr/share/dashing-icinga2# ./restart-dashing

But well, I think I’m close, because I entered in the browser the url localhost:8005/icinga2/dashboard and it returns the following screenshot:

The command .restart-dashing as I have to run it as root or as non-root?

thank you very much

Sorry for getting back to you just now, work got in the way.

That’s a lot of information to unpack:

  1. Checking out one of the tagged versions is the way to go, it’s what I’ve been doing, too. Still, it’s strange that v3.3.0 isn’t working for you, as it’s working for me in a similar environment. The observation regarding Puma is interesting.
  2. The last screenshot looks promising - this normally means that you’re trying to access an incorrect Path on your browser. Could you try hitting the following endpoints:
  3. Maybe restart-dashing is broken, does restarting the service using systemctl restart dashing-icinga2 yield any results (as root)?
  4. Virtualization is definitely not the cause for this whole mess - I’ve been running my experiments over the last few days in virtualized and emulated environments, too.

One final question - would you be able to run the whole thing inside of a Docker container? Because that would be a lot simpler at this point, I reckon.

Hello.
Don’t worry about the delay, I greatly appreciate this help you are giving me.

  1. I think I’m going to focus on the version that seems to work well for me, version 3.0.0.

  2. I have tried the routes you indicate:
    2.1 http://localhost:8005/icinga2
    I get the message “Internal server error”.

2.2 http://localhost:8005/icinga2/
It shows me the message of the screenshot I showed you in my previous post.

2.3 http://localhost:8005/
I get the message “Internal server error”.

  1. If I restart the service with systemctl restart dashing-icinga2 the service starts correctly and starts dashing-icinga2.

Final question: I don’t know how to use Docker container, I wouldn’t know how to deploy icinga in that environment.

I am not finding the way to display the dashboard, I don’t know where the files are and how to link them to my Icinga2 installation.
I can’t find anything related in the installation instructions.
Is it supposed to show the dashboard once you start the service?

Thank you very much.

PS.
Pufff I didn’t imagine this dashboard would be so tremendously complicated to implement… hehe

Hello again.

I am finding that without your help I will not be able to deploy this dashboard, I search and search for information, videos on youtube and I can’t find anything that can help me at this point. In general there is very little info about dashboard (or I have not found it).

I see several installation manuals and I see that I have followed all the steps, but in the end it does not work for me.

I don’t know how to connect my Icinga2 installation with the dashboard, I can’t find the Apache2 path to the dashboard in my system either, I can only find the default index.html, I am totally lost in this matter and I can’t leave it, I offered to deploy it in my company and not doing it would be a failure for me. At first it seemed easy to deploy, but it is getting complicated in a way that I would have never imagined.

I hope you can help me.

Thank you.

The dashboard files get installed with the repository - they are located in the subfolder dashboards. Check if the files icinga2.erb and layout.erb exist in there. If they do, the URL of dashing-icinga2 in your browser should be http://<address>:8005/icinga2.

Apache2 got nothing to do with Dashing, it’s getting hosted on port 8005 by puma directly and serves said dashboards from /dashboards.

Hi Daniel.
The icinga2.erb and layout.erb files exist in the dashboards directory, but despite this, nothing is displayed when entering the url http://“address”/icinga2.

On the other hand, as I had problems with Puma, I installed an earlier version of the dashboard, specifically version 3.0.0.0 which uses the Thin web server, I just upgraded to version 3.2.0, which is the last version before the switch to Puma and the problem persists.

Here is the output of the Thin log file in case you can help me.

root@Icinga-Server:/usr/share/dashing-icinga2/log# nano thin.log
GNU nano 7.2 thin.log
/var/lib/gems/3.1.0/gems/sinatra-1.4.8/lib/sinatra/show_exceptions.rb:34:in rescue in call' /var/lib/gems/3.1.0/gems/sinatra-1.4.8/lib/sinatra/show_exceptions.rb:24:in call’
/var/lib/gems/3.1.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:182:in call' /var/lib/gems/3.1.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:2013:in call’
/var/lib/gems/3.1.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1487:in block in call' /var/lib/gems/3.1.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1787:in synchronize’
/var/lib/gems/3.1.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1487:in call' /var/lib/gems/3.1.0/gems/rack-1.5.5/lib/rack/urlmap.rb:65:in block in call’
/var/lib/gems/3.1.0/gems/rack-1.5.5/lib/rack/urlmap.rb:50:in each' /var/lib/gems/3.1.0/gems/rack-1.5.5/lib/rack/urlmap.rb:50:in call’
/var/lib/gems/3.1.0/gems/thin-1.6.4/lib/thin/connection.rb:86:in block in pre_process' /var/lib/gems/3.1.0/gems/thin-1.6.4/lib/thin/connection.rb:84:in catch’
/var/lib/gems/3.1.0/gems/thin-1.6.4/lib/thin/connection.rb:84:in pre_process' /var/lib/gems/3.1.0/gems/thin-1.6.4/lib/thin/connection.rb:53:in process’
/var/lib/gems/3.1.0/gems/thin-1.6.4/lib/thin/connection.rb:39:in receive_data' /var/lib/gems/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in run_machine’
/var/lib/gems/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in run' /var/lib/gems/3.1.0/gems/thin-1.6.4/lib/thin/backends/base.rb:73:in start’
/var/lib/gems/3.1.0/gems/thin-1.6.4/lib/thin/server.rb:162:in start' /var/lib/gems/3.1.0/gems/thin-1.6.4/lib/thin/controllers/controller.rb:87:in start’
/var/lib/gems/3.1.0/gems/thin-1.6.4/lib/thin/runner.rb:200:in run_command' /var/lib/gems/3.1.0/gems/thin-1.6.4/lib/thin/runner.rb:156:in run!’
/var/lib/gems/3.1.0/gems/thin-1.6.4/bin/thin:6:in <top (required)>' /usr/local/bin/thin:25:in load’
/usr/local/bin/thin:25:in <top (required)>' /var/lib/gems/3.1.0/gems/bundler-2.4.22/lib/bundler/cli/exec.rb:58:in load’
/var/lib/gems/3.1.0/gems/bundler-2.4.22/lib/bundler/cli/exec.rb:58:in kernel_load' /var/lib/gems/3.1.0/gems/bundler-2.4.22/lib/bundler/cli/exec.rb:23:in run’
/var/lib/gems/3.1.0/gems/bundler-2.4.22/lib/bundler/cli.rb:492:in exec' /var/lib/gems/3.1.0/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib/thor/command.rb:28:in run’
/var/lib/gems/3.1.0/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in invoke_command' /var/lib/gems/3.1.0/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib/thor.rb:527:in dispatch’
/var/lib/gems/3.1.0/gems/bundler-2.4.22/lib/bundler/cli.rb:34:in dispatch' /var/lib/gems/3.1.0/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib/thor/base.rb:584:in start’
/var/lib/gems/3.1.0/gems/bundler-2.4.22/lib/bundler/cli.rb:28:in start' /var/lib/gems/3.1.0/gems/bundler-2.4.22/exe/bundle:37:in block in <top (required)>’
/var/lib/gems/3.1.0/gems/bundler-2.4.22/lib/bundler/friendly_errors.rb:117:in with_friendly_errors' /var/lib/gems/3.1.0/gems/bundler-2.4.22/exe/bundle:29:in <top (required)>’
/usr/local/bin/bundle:25:in load' /usr/local/bin/bundle:25:in

Waiting for 1 connection(s) to finish, can take up to 30 sec, CTRL+C to stop now
Exiting!
Writing PID to /var/run/thin.pid
Doing require 'backports' is deprecated and will not load any backport in the next major release.
Require just the needed backports instead, or ‘backports/latest’.
First trying to read environment variables
Environment variables not found, falling back to configuration file config/icinga2.json
Detecting local config file ‘/usr/share/dashing-icinga2/config/icinga2.local.json’.
Using config file ‘/usr/share/dashing-icinga2/config/icinga2.local.json’.
Reading config{“icinga2”=>{“api”=>{“host”=>“localhost”, “port”=>5665, “user”=>“dashing”, “password”=>“icinga2ondashingr0xx”}}, “icingaweb2”=>{“url”=>“http://localhost/icingaweb2”}, “dashboard”=>{"show_only>
/usr/share/dashing-icinga2/lib/icinga2.rb:206: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
Thin web server (v1.6.4 codename Gob Bluth)
Maximum connections set to 1024
Listening on 0.0.0.0:8005, CTRL+C to stop

Hello.

I have finally succeeded, although I don’t quite understand how I did it because I didn’t understand what was going on for it not to work.
What I did was to take the directory /usr/share/dashing-icinga2 and replace it with the directory of version 3.3.0, I restarted the service and it worked.

Thank you very much for the help you have given me these days.

Best regards.

I’m glad it worked out for you in the end!

1 Like

Apologies for resurrecting this old thread, but I wanted to contribute in case others encounter a similar issue in the future. I faced the same challenge while deploying dashing-icinga2, and I managed to resolve it by making a simple adjustment in the config.ru file. Specifically, on the last line (line 59), I made the following alteration:

Original:

###run Rack::URLMap.new(icinga.url_prefix => Sinatra::Application)

Modified:

run Rack::URLMap.new("/#{icinga.url_prefix}" => Sinatra::Application)

After making this change, the deployment proceeded smoothly for me. Just to note, I’m using Ubuntu 23.04.

1 Like