I2Mobile: Difference between revisions
No edit summary |
No edit summary |
||
Line 7: | Line 7: | ||
'''Features''' | '''Features''' | ||
*Using the Icinga2 API to retrieve the status, no more status.cgi | *Using the Icinga2 API to retrieve the status, no more status.cgi | ||
*Fast and | *Fast and bandwidth friendly (less data) | ||
*Display hosts and services with the state of error, warning and ok | *Display hosts and services with the state of error, warning and ok | ||
*Hide hosts and services | *Hide hosts and services whenever they have been confirmed as acknowledged | ||
*Additional hide host and services by custom attributes | *Hide hosts and services which state is unknown | ||
*Additional hide host and services within i2Mobile by custom attributes | |||
<br> | <br> | ||
=Requirements= | =Requirements= | ||
<br> | <br> | ||
* Linux, Apache and Perl | * Linux, Apache and Perl | ||
* Access to the Icinga2 API Host | * Access to the already existing Icinga2 API Host | ||
<br> | <br> | ||
=Screenshots= | =Screenshots= |
Revision as of 18:33, 30 June 2016
i2Mobile (beta) is a lightweight web interface for Icinga2, designed for mobile clients, running on Apache, it is based on the API (Rest) interface of Icinga2.
The aim of this is to have a simple, easy and fast client for mobile phones.
Features
- Using the Icinga2 API to retrieve the status, no more status.cgi
- Fast and bandwidth friendly (less data)
- Display hosts and services with the state of error, warning and ok
- Hide hosts and services whenever they have been confirmed as acknowledged
- Hide hosts and services which state is unknown
- Additional hide host and services within i2Mobile by custom attributes
Requirements
- Linux, Apache and Perl
- Access to the already existing Icinga2 API Host
Screenshots
|
|
|
|
|
|
Installation
Note: The scripts has been tested on Debian 8 with Apache 2.4
- Get the tar file from the link below
- Unextract
- Copy the entire web directory to your www root, in this example /var/www/i2mobile
- Make your Apache user (eg www-data) owner of the new www directory and files
- Copy the configuration example to /etc/i2mobile.xml
- Copy the web config template to /etc/apache2/sites-available/i2mobile.domain.com.conf
- Configure and rename the web config to your requriements
- Setup Apache, enable the web site and switch on the cgi module, example:
a2ensite i2mobile.domain.com a2enmod cgi
- Install the required perl modules using MCPAN:
# perl -MCPAN -e 'install REST::Client' # perl -MCPAN -e 'install JSON' # perl -MCPAN -e 'install MIME::Base64' # perl -MCPAN -e 'install Data::Dumper' # perl -MCPAN -e 'install Data::GUID'
Configure i2Mobile
Configuration is done in /etc/i2mobile.xml. These are the minimum settings:
- IcingaHost=URL and Port to the Icinga2 Host
- Password=The password
- CookieAuthentication=Optional authentication using a session cookie
- Contact=Optional contact information
- URL==Optional Site URL
Example:
<?xml version="1.0" encoding="UTF-8"?> <CONFIG> <System IcingaHost="https://your.ip.here:5665" Password="user:123456789" CookieAuthentication="0" Contact="you@domain.com" URL="http://i2mobile.domain.com"></System> </CONFIG>
Thats it, setup is finsihed.
Display options
Services and hosts can be hided in i2Mobile, the idea is to show only important information and hide services and hosts which are not interested for the mobile user
- Service sample
apply Service "Something" { ... //this will hide the service from i2Mobile vars.is_ignore = "1" }
- Host sample
apply Host "Something" { ... //this will hide the host from i2Mobile vars.is_ignore = "1" }
Authentication options
Authentication can be established using the Apache htaccess options, however, there is the alternative option to work with session cookies which is less secure
but allows the i2Mobile user to access the web quickly with no authentication prompt. The idea of session cookies is to create a GUID, keep it local in i2mobile.xml
and use it as reference.
A helper page is available to add the session cookie on the client mobile browser.
Sample
- CookieID="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
- Link to add the session cookie to the client browser:
- http://i2mobile.domain.com/setsessioncookie.pl?id=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
- Client can now access the page without additional authentication
Full configuration sample
- i2mobile.xml
<Authentication Enabled="1" CookieID="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" Name="John Public" MailTo="jp@domain.com" Expire="20180701" </Authentication>
From the above sample it is possible to immediate disable the web access by setting Enabled to 0 or set the Expire to yesterday.
You may also use a small tool called addsc.pl which is available within the web directory, this will add the record to the configuration.
Debugging
A status page is available to obtain the validly of the session cookie
Download
|
Feedbacks or comments are very welcome, no matter which direction. Please send to postmaster at coolscript.org