Configuration
All configuration resides in /etc/allmon3
. The stock configuration
files are always available at /usr/share/doc/allmon3/
for recovery
and documentation.
After changing any configuration file, the service allmon3
must be
restarted using systemctl restart allmon3
.
Node Configuration
Allmon3's node connections are configured in /etc/allmon3/allmon3.ini
. The
allmon3.ini
file is a standard INI-formatted file. Each stanza in
the file is a node number. Each node stanza then can take the following
options:
Option | Req'd / Opt | Default | Description |
---|---|---|---|
host | Req'd | - | DNS name or IP address of the Asterisk/ASL node |
port | Opt | 5038 | Port of the Asterisk manager |
user | Req'd | - | username of the Asterisk monitor, most commonly 'admin' |
pass | Req'd | - | password of the monitor user |
multinodes | Opt | - | this node is a server hosting multiple nodes and this is the "primary" record for the host. |
voters | Opt | n[,n,...] | List voters on this server, comma separate. No value disabled voters |
pollinterval | Opt | 1 | polling interval to asterisk in default is 1. this value can be expressed as a decimal fraction of a second - e.g., .5 is 500ms, .375 is 375ms, etc. |
vpollinterval | Opt | 1 | Broadcast interval of voter data in seconds default is 1. this value can be expressed as a decimal fraction of a second - e.g., .5 is 500ms, .375 is 375ms, etc. |
retryinterval | Opt | 15 | Seconds between retries if initial connection to asterisk is lost (optional, default 15) |
retrycount | Opt | "Infinite" | number of times to retry a lost asterisk connection before ending (default infinite) |
An example minimal node configuration would be:
[12345]
host = 127.0.0.1
user = admin
pass = Passw0rd
An example of a server with multiple nodes on it:
[12345]
host = 127.0.0.1
user = admin
pass = Passw0rd
multinodes = 12345, 23456
Here's an example for monitoring three ASL Nodes:
[50815]
host=172.17.16.36
user=admin
pass=password
[460180]
host=172.17.16.217
user=admin
pass=password
[48496]
host=192.2.0.145
user=admin
pass=password
voters=48496
NOTE: Adding a voters
option does not automatically make the VOTER status show up in Allmon3. You will need to manually configure the voter instance in menu.ini
, see below.
Server Customization
Allmon3 has multiple configuration files to consider:
-
/etc/allmon3/web.ini
- This is the customization interface for the Allmon3 web interface. I -
/etc/allmon3/custom.css
- Certain CSS customizations to change colors in the application. Follows standard CSS rules and syntax. -
/etc/allmon3/menu.ini
- Allows for the customization of the Allmon3 web menu. By default, the menu is a list of all nodes found inallmon3.ini
. Customized menus can be configured as described inmenu.ini.example
.
web.ini
The web.ini
file has four configuration sections -
web, syscmds, node-overrides, and voter-titles.
[web]
The web section has the basic customizations for the Allmon3 site. Each item in this section is documented in the file.
[syscmds]
The syscmds section defines the templates in the "system commands" menu. This stanza lists commands that are templates for the systems command modal dialog. The format is:
[syscmds]
command text = Command Label
command text = Command Label
command text = Command Label
...
rpt status @ = Show Node Status
It is possible to create optional stanzas named in the format
[syscmds-NODE]
(e.g. [syscmds-1999]
) and have those commands
templates appear only for the given NODE listed. Example:
[syscmds-1999]
rpt cmd @ cop 999 xxx = Execute function 999
[node-overrides]
The node-overrides section can be used to override information from the ASL database. Using this section, the AllStarLink DB labels for a node may be replaces with custom text. The format is:
[node-overrides]
NODE1 = TEXT HERE
NODE2 = TEXT HERE 2
[node-overrides]
1999 = My special private node
2010 = Wild Party Node
[voter-titles]
The voter-titles section is used to set display names for voters.
This functions identically to [node-overrides]
. For any
voter not named here, voters will have an auto-generated
name of "Voter NODE".
[voter-titles]
;1999 = My special private node
48496 = VHF VOTER System
menu.ini
If this file is present in the api/ subdirectory of Allmon3's web interface
and named menu.ini
, this file will override the default behavior of the
web interface simply listing the configured nodes in the left navbar.
If this file is not present, all nodes in allmon3.ini/allmon3.ini.php
will display singly in configured order.
NOTE: Not listing a node in the menu WILL NOT cause the node to go un-polled if it is already configured in allmon3.ini. This allows the system administrator to have "hidden" nodes. If you want to completely stop polling an Asterisk/ASL node, the node must be removed from allmon3.ini.
The format for this file is as follows:
[ TITLE ] :: The stanza header is the label
:: for this menu item
type = ( menu | single ) :: If type = menu, the item is interpreted as a dropdown
:: menu with each LABEL item displaying. If the
:: type = single, then only a the first LABEL = TARGET
:: will be displayed as a non-dropdown. In the case of
:: type = single, the [ TITLE ] is ignored completely
LABEL = TARGET :: Each [ TITLE ] displays one or more LABELS
LABEL = TARGET :: with a link to TARGET. When TARGET is all numbers
LABEL = TARGET :: then TARGET is assumed to be a ASL node and
:: the link will filter down to the TARGET node
:: specified. Any other pattern will be interpreted
:: as a full or partial URL/URI.
::
:: Of special node, creating a menu item of
:: multiple nodes to display, TARGET and simply be
:: #NODE,NODE,NODE - e.g. #1999,1998,1997
An example custom menu may look like:
[ W8WKY ]
type = menu
W8WKY = 43211
48496 = 48496
45839 = 45839
[ N8XPK ]
type = menu
N8XPK = 42993
43118 = 43118
47987 = 47987
[ VHF VOTER ]
type = single
VOTER = voter.html#48496
[ Test ]
type = single
AllStarLink = https://www.allstarlink.org
VOTER instances are not automatically displayed. You will need to manually add them to menu.ini
in order to create a navigation button to access them.
NOTE: Adding a VOTER instance will require creating a menu.ini
. As noted previously, the presence of this file will mean that the default behaviour of Allmon3 to automatically display all configured nodes will be changed. As a result, in additon to configuring your VOTER instance, you will also need to manually configure all the rest of your nodes, so that they will be displayed.
The format is the same as other buttons, the critical part is the target (right side of the link). That must point to voter.html#NODE
, where NODE
is the node number you defined in allmon3.ini
. The target can also be a FQDN, if you are pointing to a remote system (properly configured).
[ LOCAL VOTER ] ; ignored for single menu items
type = single
BUTTON_NAME = voter.html#NODE
[ REMOTE VOTER ]
type = single
Remote_VOTER = http://somesite.org/allmon3/voter.html#1999
Using Nginx instead of Apache
Nginx can be used instead of Apache. Instead of using the apache2
package, install nginx
using the above directions. After configuring
nginx, edit /etc/nginx/sites-available/default
(or your preferred site
configuration) and add an include
directive within the appropriate
server { }
configuration block. For example:
server {
listen 80 default_server;
[... other stuff ...]
include /etc/allmon3/nginx.conf;
[... other stuff ...]
}