Help Server Metrics Service and Process Monitoring

Service and Process Monitoring

Monitor the important services and processes running on your Windows and Linux servers and the Windows services developed in the .NET platform.

Why monitor services and processes? 

Just monitoring the CPU, disk, memory usage is not sufficient for a complete server health check. To monitor the performance of each and every service and process running on the server is equally critical to completely analyze the load on the system resources. 

Read our blog to understand the importance of service and process monitoring.

How is process and service monitoring done by Site24x7?

Process monitoring is done based on the process name, path, and process command line arguments. If there is a change in these values, it would be considered as a new process.

Note: If the arguments are changed, then you can delete the process and add them again for monitoring by discovering it from the server.

Prerequisites

  • Sufficient licensing. Refer this article to know how many processes/services can be added per server monitor.
  • Ensure the service/process is present in the respective server. Only then, it will be listed in the Discover Services and Processes window.
  • Ensure the service/process is running. Only active services/processes will be discovered.

Check out this article to see troubleshooting steps when a service/process is not added for monitoring in Site24x7.

Add a Service and Process for Monitoring

A service and process can be added in one of the following ways:

  • Configuration Rules: Create configuration rules to be applied once a Windows/Linux server monitor is added. This can be done manually by adding the name of the Linux process/Windows service that you wish to monitor (Add Processes/Add Services). Alternatively, you can set the auto-discover option (Auto Discover Services, Auto Discover Processes) to True, that the agent automatically matches the services/processes running in your server with our default list and auto-adds them for monitoring.  
  • Manual addition: Click on the Discover Services and Processes/Discover Processes button in the Services and Processes tab (Windows)/Processes tab (Linux). Select the services/processes that you wish to monitor and add them for monitoring.

Management Actions

In the Services and Processes/Processes tab, click on the hamburger icon under Action to perform these start, stop, and delete actions.

User Permissions: Only a Site24x7 Super Admin and a Site24x7 Admin can perform these actions.

  • Start/stop a service (Only for Windows):
    You can also perform this action from Server Tools.
    Tip: Automate the start, stop, and restart of a Windows service using IT Automation Templates.   
  • Delete a service/process:
    Remove a service/process from monitoring. This will only remove them from monitoring, not from your server.
    Ensure the server monitor is UP to delete a service/process.
  • Bulk add/delete a particular service/process to other server(s):
    Use the Add to other Server Monitors or Delete from other Server Monitors buttons to add/delete services/processes respectively to/from other server monitors. Know how.
    Ensure the server monitor is Up to delete a service/process.

Performance Metrics

Parameter Description
Status Get to know if a service/process is Up or Down
CPU (%) Percentage of CPU used by a process
Memory (%) Percentage of memory used by a process
Instances The number of times that particular instance has occurred
Thread Count The number of threads running in the process 
Handle Count The number of object handles in the process' object table 
Only for Linux Processes:
User The user role that initiated the process
Priority View processes based on their priority value. The value ranges from -20 to 19 for Linux and 0 to 31 for Windows. Processes with a higher priority value will get more CPU time than lower priority processes.

Note: In Windows, the process associated with a particular service is listed and the CPU and memory usage for that process is shown under Services and Processes. 

How are the metrics calculated? 

The performance metrics, CPU and memory utilization of a process, is calculated using the "ps" command.

For eg., to get the CPU and memory percentage of a process named 'sshd', execute the following command:

/bin/ps -eo pid,pri,fname,pcpu,pmem,nlwp,command,args | grep -i 'sshd' | grep -v grep

Note: fourth index value (pcpu) represents the process CPU, and the fifth index value (pmem) represents the process memory.

The CPU value obtained from the "ps" command can be more than 100% if the number of cores present in the server is more than 1. So, the CPU percentage of a process is calculated on a per core basis as follows:

Process CPU = (CPU value) / (Number of Cores)

Eg: If the CPU value of a process obtained from the "ps" command is 200 for a 8 core processor,

Process CPU = (200) / 8

Thus, Process CPU = 25%

Set Thresholds

Thresholds can be set:

  • For an individual service/process - Click on the hamburger icon under Action beside the corresponding process/service under the Services and Processes/Processes tab and set thresholds for CPU usage, memory usage, instance count, thread count, and handle count.  
  • For all services/processes (at the global level) -  Hover on the hamburger icon beside the server name and click on Edit. In the Edit Server Monitor page, click on the pencil icon beside Threshold and Availability. Define threshold values for metrics including CPU usage, memory usage, thread and handle count. 

Based on the threshold setting (individual and global), alerts will be triggered. 

Alerting

To get alerted when a service/process goes Down, enable the option Notify when process/service is Down in the Edit Threshold Profile window of that particular service/process under Action. And while enabling this option, you can choose the alert type to be Trouble or Down. This setting can also be done for the entire server monitor in the Edit Threshold Profile window of that server monitor's threshold profile (Edit Server Monitor > Threshold and Availability > pencil icon).

  • If the service/process is not active/running when being added to Site24x7, the service/process will be added with Down status. In that case, no alerts will be triggered.
  • If the service/process is active/running during the addition, the service/process will be added with the Up status. In that case, when the service/process goes Down in the monitor later, a Down alert will be triggered.
Tip: Associate IT Automation Templates to automatically resolve the issue at both the threshold levels. If you don't have an IT Automation yet, add one

Use of Regular Expressions (RegEx) for Service and Process Monitoring:

Enable the Use RegEx option (Processes/Services and Processes tab > ProcessesAction > hamburger icon) to describe process arguments with the help of regular expressions. That way, you don't have to delete and re-add a process every time its restarted. By default, it is set as No.

Once RegEx is enabled, the Linux/Windows monitoring agent will match the running process/service arguments with the configured RegEx and determine the status of the process/service. Read a use case on this.

For Windows, ensure agent version is 19.5.0 and above to enable RegEx.

Performance Reports

View services and processes for two or more servers across your Site24x7 account with the Services and Processes report. Go to Reports > Server Monitor > Server - Services Report/Server - Processes Report

Security

Services and processes are monitored based on the service/process name, path, and process command line arguments. The command line arguments and path are encrypted and stored in Site24x7. Read more about the agent security.

Licensing

Know how many services and processes you can monitor per server monitor. The licensing varies if you have any application associated with it. Read more

Related Articles:

Was this document helpful?
Thanks for taking the time to share your feedback. We’ll use your feedback to improve our online help resources.

Help Server Metrics Service and Process Monitoring