ManageEngine Application Manager Best Practices
ManageEngine Application Manager Best Practices
Performance of Applications Manager depends considerably on the CPU and memory of the system. The
following table describes the configuration of the system required for various deployments. We strongly
recommend having a dedicated server for Applications Manager when going into production. Each deployment
of Applications Manager can have 250 to 500 monitors.
The hardware configuration (dedicated resource) for Stand Alone and Enterprise Edition setup is mentioned
below.
250 - 1000 monitors - Enterprise Edition Setup (One Admin & 2-3 Managed Servers)
*The above mentioned memory does not include memory used by OS which should account for another 4 GB
*If the number of Managed Servers is high, 16 GB RAM for the Admin Server is recommended.
Performance of Applications Manager is also influenced by the other factors such as type of monitors configured,
polling interval set and network speed. When you are going for large deployments we recommend adding the
monitors in the range of 25 – 50 at a time and determine the performance before adding more monitors. When
the threshold is reached and when you find that Applications Manager system is slow to handle requests, then
you may need to add the remaining monitors to another Managed Server.
Windows 7, Windows 8, Windows 10, Windows Server 2008, 2012, 2012 R2, 2016 both 32 and 64 bit.
Enterprise Linux 2.1 and above, Debian, Suse, Ubuntu, Mandriva, CentOS, Oracle Enterprise Linux, RHEL 6
and above, Fedora Core both 32 and 64 bit.
Applications Manager supports PostgreSQL and MS SQL database backends for storing all the configuration
information and data collected. PostgreSQL comes bundled with your download of Applications Manager from
Build 11000.
The supported MS SQL database versions that you may use are:
MS SQL Servers 2005 / 2008 / 2012 / 2016 ( SQL Standard / Enterprise Edition )
SQL Server Collation: Any case-insensitive collation. For Chinese Installation use Chinese_PRC_CI_AS
Supported Browsers:
Each installation of Applications Manager can normally support monitoring up to 500 monitors (servers and
applications on a 1 CPU, 1.8 GHz, 2 GB RAM, RH Linux). This could go higher based on the hardware configuration
of the server on which Applications Manager is deployed and based on the load of the monitored server.
When you need to monitor more number of monitors than 500, for the above given system configuration, then it
is recommended to move to distributed setup supported through Applications Manager Enterprise Edition setup.
It works by supporting an Admin Server and Managed Server environment.
• https://www.manageengine.com/products/applications_manager/enterprise-edition.html
• https://apm.manageengine.com/Enterprise-Edition-1.html
Table gives the number of Managed Servers required for given number of monitors.
500 1
750 2
1000 3
2000 4
*Better numbers are possible with better hardware supporting over 750 monitors per server.
Applications Manager uses a separate thread for every data collection of monitor; the default number of threads
used is controlled by the respective schedulers specified under
Applications Manager -> Admin Tab -> Server Settings (Under Product Settings
column) ->Threads Configuration Tab
Note : Setting the schedulers from the web-client in the Admin Server will affect all its respective Managed
Servers. Increase in the 'Data Collection' thread will lead to slight increase in CPU usage.
Similarly, when the number of URLMonitor Thread is large in the range of 100, you can increase the URL
monitoring thread count by editing the 'URL Monitor' attribute to 20 – 25.
Main Thread- The default value is 4 and used by JMX/SNMP Dashboard, JMX Applications, Anomaly, Alert
Summary mailer etc...
URLMonitor Thread – The default value is 5. Monitors like HTTP(s) URLs,HTTP(s)-URL Sequence,SAP-CCMS uses
this thread for data collection.
KeyValueMonitor Thread – The Default value is 10 and used by Active Directory, Amazon, Azure Role Instance,
Cassandra, DNS Monitor, EC2 Instance, File & Directory, FTP/SFTP Monitor, GlassFish, Hyper-V Virtual Machine,
Hyper-V-Serv- er, JBoss Server, LDAP Server, Mail Server, Memcached, Microsoft MQ (MSMQ), MongoDB, MS
Office SharePoint, Nginx, Oracle, Oracle EBS, Ping Monitor, PostgreSQL, RabbitMQ, Redis, Script monitor, Service
Monitoring, Siebel Server, Silver Stream, SSL Certificate Monitor, Telnet, Tomcat Server, VMWare ESX/ESXi,
WebSphere Server, Windows Azure, WMI, XenServer
RBMMonitor Thread- The default value is 1 and Real Browser Monitoring uses this thread for data collection.
DataCollection Thread – The default value is 12 and used by Apache, DB2, Exchange, IIS Server, Java Runtime,
Microsoft .NET, MS SQL, MySQL, Oracle Application Server, PHP, SAP Server, Servers, WebLogic.
CustomMonitor Thread – The default value is 4. This thread used for dataCollection of Custom Attributes for
monitors like RMI,WEBLOGIC-server,JBOSS-server,WebSphere-server,JMX1.2-MX4J-RMI.
You can configure the no.of non-transaction connections to be established with the database under
Applications Manager -> Admin Tab -> Server Settings (Under Product Settings column) ->Database Params
Configurations
When the number of monitors is greater than 100, connection pool can be increased by editing the No.of
Database Connections. The default value of 6 can be set to 90 percent of the number of data collection threads.
Alternative Method
When the number of monitors is greater than 100, connection pool can be increased by editing the
NON_TRANS_CONNECTIONS field in
AppManager_Home/working/conf/database_params.conf
Note :
Increase in the 'Data Collection' thread will lead to slight increase in CPU usage.
Setting the Number of Database Connections in the Admin Server will affect all its respective Managed
Servers.
Poll Intervals:
When performance polling is set only the availability and health check will happen at every polling event while
other performance data will be collected only at the end of scheduled number of polls. This will reduce the load
on the system when you want to monitor only health and availability.
This option is available under ‘Admin’ - ‘Performance Polling’ where you can set the number of polls before
collecting performance data for server monitors. We recommend having a Poll Interval of 10 minutes for every
monitor and a performance poll value of 3.
Note:
This script should to be executed in Applications Manager’s database (AMDB).
Note:
The Postgresql.conf and Postgres_ext.conf files can be found under the
APM_HOME/working/pgsql/data/amdb folder.
To reindex/reduce size:
EXEC sp_MSforeachtable @command1="print '?' DBCC DBREINDEX ('?', ' ', 80)";
EXEC sp_updatestats;
Note:
This script should to be executed in Applications Manager’s database (AMDB), preferably through SQL
Server Management Studio (SSMS)
Set the Space Allocated size for both the log and the data file to be much larger than the initial database. Consider
how much the database can grow over of a year. Ideally, the log and data files are allocated in a contiguous extent
so that data does not end up fragmented all over the disk.
Processor settings
Modify the processor settings and, most importantly, select the Boost SQL Server Priority On Windows check box
so that the server uses as many cycles as possible. The Use NT Fibers setting is less important, but you may want to
select it too.
Database settings
The most important setting is Recovery Interval, which specifies the maximum amount of time to wait for recovery
after a crash. The default setting is one minute. Using a larger value, from 5 to 15 minutes, improves performance
because it gives the server more time to write changes from the database log back into the database files.
Note: This setting does not compromise the transactional behavior because it changes only the length of the log file replay that must
be done on startup.
Alternative Method
Applications Manager JVM heap size can be increased according to your environment by editing the -Xms and
-Xmx parameters in the files:
ApplicationsManager_Home/startApplicationsManager.sh for Linux
ApplicationsManager_Home/startApplicationsManager.bat for Windows
ApplicationsManager_Home/working/conf
Installation configuration
Have a dedicated OS User (System) account for installing Applications Manager. This OS user account needs full
permissions on all folders and sub-folders in the installation root of Applications Manager only. Also make sure this
OS User account is fully secure. It is NOT necessary to install Applications Manager in a root (in Linux) or
administrator (windows) OS User account. But make sure the whole installation is done using the same OS user
account. Do not install using root and try to run using an OS user account. That will fail.
User configuration
1. Make sure you change the password for the default ‘admin’ Web
Client User within Applications Manager.
2. If you want to give full ‘Read-Only’ privileges to certain Web Client Users in your
organization, and then make sure you create a client login with ‘USER’ role.
3. If you want to give restricted ‘Read-Only’ privileges to certain Web Client Users in
your organization, and then make sure you create a client login with ‘Operator’ role.
‘Operator’ can view only servers that they own.
By default, uploading binaries, MIBs, scripts are allowed in Applications Manager. This may be required in the initial
stages while using Applications Manager for uploading MIBs, action scripts etc.
4. Fault Management
These sections list the steps to prevent false alarms that are generated in Applications Manager due to
overloaded network.
Socket Timeout
Increasing the socket timeout values AppManager_Home/conf/AMServer.properties by changing the
'am.sockettest.timeout' value from 5 to 10 will help to eradicate false alerts generated.
When the Applications Manager is out of the network or is not connected to the network, the status of all the Moni-
tors that are currently been monitored will be shown as 'Down'. You can avoid this by enabling the 'Check for
When this option is enabled, Applications Manager will generate alerts for the unavailability of resources only if the
specified host is reachable in the network. For example, let us assume that the system/host which runs the
Applications Manager has been isolated from the network. Enable this option and specify a hostname in the
network (preferably not the hostname where Applications Manager runs). Now, Applications Manager tries to
ping that machine for its availability in the network. If not available, alerts are not generated and resources are not
shown as down.
You can also specify the IP of your routers, gateways, etc., to check the system/host which runs the Applications
Manager is present in the network.
When the Applications Manager is out of the network or if external proxy settings are not configured, the status of
all the URLs that are currently been monitored will be shown as 'Down'. You can avoid this by enabling the 'Check
URL Availability' option.
When this option is enabled, Applications Manager will generate alerts for the unavailability of URL only if the other
specified URL is down. For example, let us assume that the system/host which runs the Applications Manager has
been isolated from the network. Enable this option and specify another URL which is expected to be up always.
Now, Applications Manager tries to monitor URL for its availability. If not available, alerts are not generated and URL
is not shown as down. Further a mail is sent to the configured mail address intimating the same.
You can use this option to determine the number of consecutive polls the error exists before reporting the error to
system. Consecutive polls count in 'Admin' - Action / Alert Settings can be increased from default value of 1 to 2. So
that alerts will be generated after two consecutive polls which would eradicate false alarms.
Default size and number for log file rotation can be changed in the file
AppManager_Home/working/conf/logging_parameters.conf
Log folder available under AppManager_Home can be moved/deleted to different location every fortnight.
It is very important to takeabackup of theApplications Manager data in database every fortnight, so that data is not
lost in case of any disaster. Refer the following link on how to takeabackup of the data:
http://help.appmanager.com/data-backup
Under 'Admin'-'Global Settings’, 'Restart the product in case of serious server error' checkbox is provided to
automatically restart Applications Manager in case of any serious errors. Make sure that the option is checked so
that Applications Manager can recover automatically on error.
Refer the Security/Firewall Requirements documents given in below link to understand what changes are
required in the firewall.
http://help.appmanager.com/secure-configuration
You can install Applications Manager as a Windows Service or configure a cron job on Linux to start on server
start up. Refer the below link for more information:
http://help.appmanager.com/starting-applications-manager
If you are planning to use the Enterprise Edition, fully understand the EE architecture
http://help.appmanager.com/enterprise-edition
To change the default HTTP port used by Applications Manager, refer the Server Settings document given in the
following link:
http://help.appmanager.com/server-settings
It is recommended to use SNMP or WMI mode for monitoring Windows machine and SSH or
Telnet for monitoring UNIX machines.
ApplicationsManager_Home refers to the directory in which you have installed the Applications Manager
product. This directory location is specified by you when you install the product.
For example, let us assume that you have installed Applications Manager under the default Program Files directory
of C drive in your system. In this case,
ApplicationsManager_Home d e n o t e s
C:\Program Files\ManageEngine\AppManager13