Back to projects
Get it on Google Play

Join discord

aNag logoaNag - An Icinga / Thruk / Nagios client for Android

Doc / F.A.Q.

For any questions, comments or feedbacks, feel free to send me a mail at damien at removeme.degois.info (of course remove the "removeme." part of the domain) with [aNag] in the subject :)
Pre-SDK 26 release: aNag v6.1.5 (31 oct 2016)
Latest release: aNag v6.2.5 (build 0191 on 2020-03-10 19:03:00 +0100)
Don't forget to take a look on the Settings tree you could find more complete descriptions.
You can also take a look on user reviews, some are commented and might be interesting if you're facing same troubles.

aNag's Privacy Policytop

aNag doesn't communicate any information to any one (except to your Nagios/Icinga servers of course :D).
I think I can't be more clear :)

Icinga Cross Site Request Forgery (CSRF) protectiontop

Icinga CSRF protection (CVE-2013-7107) requires the CGI URL to match the defined compilation constant (DEFAULT_URL_CGIBIN_PATH).
By default, on Debian, it's /cgi-bin/icinga/ which means you have to use the exact same path in aNag configuration.
An alternative is to disable the CSRF protection by setting disable_cmd_cgi_csrf_protection=1 in cgi.cfg
Please note that CSRF protection is properly handled by aNag version 2.4.14 and later.

Configuration instruction: Find CGI Directory URLtop

Nagios / Icinga

Where to find proper URL on Nagios Where to find proper URL on Icinga
  1. Put your cursor over Services (on Nagios) and over Service Detail (on Icinga)
  2. Look at the link's destination and remove status.cgi and its arguments (see screenshots)

Opsview

Where to find proper URL on Opsview
  1. Go to Monitoring => Status detail => Services
  2. Put your cursor over any Host or Service name
  3. Look at the link's destination and remove extinfo.cgi and its arguments (see screenshots)
    Don't forget to add the proper protocol scheme if missing (http:// or https://)

Client certificate authenticationtop

Requirement: Your key and certificate in a PKCS12 archive (.p12), preferably in <storage>/aNag/ directory.
In instance configuration, scroll to "Client certificate (PKCS12)" section:

Recommended settingstop

Sanity check: To be sure, you can uncheck "Fetch only faulty service" and perform a manual update to see if your device have enought memory in the case where all your hosts and services are in troubles.

URL schemetop

aNag handles several custom url scheme to interract with: anag://, aNag://, http://anag.invalid/ and https://anag.invalid/
Several parameters can be provided to customize the action or the view to open

Notify My Android integration (update on notification)top

You can trigger an aNag update by sending a NotifyMyAndroid push with the given URL parameter: anag://open?updateonreceive=true.
In a more general way, clicking a link like anag://open will open aNag if installed.

Auto update seems not worktop

First, be sure you're not in quiet hours.
Second, check background data status (you can see it in About / exit menu)
Some reported me that it worked after re-installing aNag.

What is "Quick basic auth" option ?top

In aNag, http authentication is delegated to the CredentialProvider.
This make the HTTP request being performed in two steps.
The first one, performed without credential, makes the server answer 401 (authorization required) and then, a second is performed with credentials and make the server return 200 (Ok).
If the authentication on your server is configured as Basic (which is most likely the default), those credentials can be sent directly with the first request and thus save a request (or several).
This is the "Quick basic auth" option.
It's not enabled by default because some can use challenge response authentication which is perfectly handled by the CredentialProvider but doesn't work if the Authentication header is overridden.

What does icon color mean ? top

The Notification icon is separated in two parts:

What does vibration patterns mean and when are they triggered ? top

Vibration appends (according your settings) with the following order (worst to less critical):
  1. LONG - SHORT - SHORT - SHORT
    There is at least one critical state service AND
    the service notification criteria is set to critical, warning and over or unknown and over (any except never)

    -- OR --

    A server is down AND the host notification is down or down and unreachable


  2. LONG - SHORT - SHORT
    There is at least one warning state service AND
    the notification criteria is set to warning and over or unknown and over

    -- OR --

    A server is unreachable AND the host notification is down and unreachable


  3. LONG - SHORT
    There is at least one unknown state service AND
    the notification criteria is set to unknown and over

  4. SHORT - SHORT
    None of the above matches but there is an instance update witch failed to update AND
    you have chosen to be notified on this case ("Notify update failure" checked)

    -- OR --

    None of the above matches AND update previously failed AND current update succeeded AND
    you have been choosed to be notified on this case ("Notify update success after failure" checked)


I have "No information available" when I click on instance detail. top

This can have multiple origin:
1. You have no problem and you have "Fetch only faulty services" checked in Settings => Display filters
2. There is a problem while parsing, and aNag is unable to retrieve information (you should contact me in this case :D )

If you have "Fetch only faulty services" you will only be able to see services having problems because aNag ask to the CGI an already filtered list.
With this checked (as it is per default), you limit the amount of data transferred, the parsing time taken and the memory to store it (so globally, economy of battery, CPU and memory) BUT you don't have access anything else than the problems

I have a "No Activity to handle this protocol" while I'm trying to access a server using SSH or Telnet.

To use SSH or Telnet you must have ConnectBot installed.
aNag doesn't handle the connection, it delegate it to ConnectBot :)