Deploy nmon
To install nmon and the Axibase sender script on multiple Linux machines use the nmon_deploy.sh script to automate the below tasks:
- Connect to the remote machine over SSH
 - Copy the 
nmonbinary file - Copy the ATSD sender script
 - Add a 
crontask to restart thenmondata collection on a schedule 
Download nmon_deploy.sh and sender script from the nmon repository: https://github.com/axibase/nmon
nmon_deploy.sh accepts the following arguments:
| Argument | Description | 
|---|---|
-c |  Set path to the deploy.properties file, that contains settings required by the nmon_deploy.sh script. | 
-n |  Does not modify cron. Updates only nmon binary file and ATSD sender script.Use it to update nmon or sender script to a new version. | 
-d |  Comments out all nmon cron tasks. Stops nmon data collection and delivery to ATSD | 
-i |  While nmon does not have any dependencies, the ATSD sender script has the following dependencies: crontab, telnet.With -i argument the script only checks and installs dependencies.Requires sudo credentials defined in the deploy.properties file.After installing the dependencies, run the script again without the -i argument to install the nmon and sender script. | 
The deploy.properties file contains the target machine parameters, user details, and paths to nmon and crontab settings:
Use # to uncomment optional parameters.
The following files must be located in the same directory as the nmon_deploy.sh script (path to files is set in the deploy.properties file):
nmonbinary file- Sender script
 - Target machine user SSH key
 atsdreadonlySSH key
| Setting | Description | 
|---|---|
nmon.s |  Pause between nmon snapshots. | 
nmon.c |  nmon snapshot count. | 
nmon.cron.hour |  cron task start hour. | 
nmon.cron.minute |  cron task start minute. | 
atsd.protocol |  Data transfer protocol. Possible values: telnet, SSH.  | 
atsd.port |  ATSD TCP port. | 
atsd.key |  Path to SSH key for readonly account.id_rsa_atsdreadonly by default.Optional parameter.  | 
atsd.user |  Read-only user account.atsdreadonly by default.Optional parameter.  | 
atsd.hostname |  ATSD server. | 
deploy.user |  User of target machines. | 
deploy.key |  Path to the SSH key to access target machines by the user set in deploy.user. | 
deploy.password |  Password of target machine user set in the deploy.user setting.Password takes priority over SSH key.  | 
deploy.sudo.user |  sudo user of target machines.Optional parameter.  | 
deploy.sudo.key |  Path to sudo users SSH key to access target machines.Optional parameter.  | 
deploy.sudo.password |  Password of target machine sudo user set in the deploy.sudo.user setting.Password takes priority over SSH key. Optional Parameter.  | 
deploy.nmon-binary |  Path to nmon binary file to be installed on target machines. | 
deploy.directory |  Directory used on target machines to install nmon and the sender script.The user must have write access to this directory.  | 
deploy.target |  Target server hostname or ip address and SSH connection port separated by :Can be set to multiple servers, one server per line.  | 
Example deploy.properties file:
nmon.s = 60
nmon.c = 1440
nmon.cron.hour = 12
nmon.cron.minute = 19
atsd.protocol = telnet
atsd.port = 8081
#atsd.key=./id_rsa_atsdreadonly
#atsd.user=atsdreadonly
atsd.hostname = atsd_hostname
deploy.user = nmonuser
deploy.key = ./id_dsa_nmonuser
deploy.password=secret
#deploy.sudo.user = root
#deploy.sudo.key = ./id_dsa_root
#deploy.sudo.password=secret
deploy.nmon-binary = nmon_x86_64_sles11
deploy.directory = /home/nmonuser/nmon
deploy.target = nurswgvml006:22
deploy.target = nurswgvml007:22
deploy.target = nurswgvml008:22
deploy.target = nurswgvml009:22
 Once the deploy.properties file is set up and paths to the required files are set, deploy nmon and the sender script to remote target machines:
./nmon_deploy.sh
 The script checks each machine for dependencies and shows installation progress/results in the console.