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. Watch a quick video on how to add services and processes.
- Why monitor services and processes?
- How is process and service monitoring done by Site24x7
- Prerequisites
- Add a service and process for monitoring
- Management actions
- Performance metrics | How are the metrics calculated
- Set thresholds
- Alerting
- Performance reports
- Enable Regular Expressions (RegEx)
- Security
- Licensing
- Troubleshooting with the Top Process chart
Video
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.NoteTip: 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.NoteEnsure 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.NoteEnsure 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 > Processes > Action > 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.
Troubleshooting with the Top Process chart
Gain insight into the top 5 processes that consume your CPU and memory with the exclusive Top Process chart.
Benefits
To examine trends and identify server performance degradation issues, Site24x7 provides performance data insights in easy-to-understand reports and dashboards. The Top Process chart renders an exhaustive view of the top 5 processes that might affect your server health and performance and helps you stay on top of outages anytime.
The chart takes into account all the processes running on your server for the last hour, including the processes that are not added as a monitor. With the help of this Stacked Bar chart, you can effortlessly identify and track the processes that have the most CPU and memory utilization.
How it works
Site24x7's server monitoring agent fetches the CPU and the memory usage values of all the running processes for the last hour. Based on the average of all the process usage values, the first 5 processes with high utilization are considered the top 5 processes.
Steps to view the Top Process chart
To view the Top Process chart:
- Log in to Site24x7 and navigate to the Server tab in the left pane.
- Select Servers from the Server Monitor drop-down.
- Select the server monitor for which you want to analyze the top 5 processes.
- Select the Services and Processes tab if you have Windows OS or the Processes tab if you have Linux OS.
You can now view the Top Process chart with the data of all the top 5 processes. You can also toggle between CPU or Memory Usage based on your preference using the toggle button just above the chart.
Related Articles:
- Automate for Windows services
- Add a server monitor: Windows | Linux | FreeBSD | OS X
- Server monitoring architecture
- Server performance metrics: Windows | Linux | FreeBSD | OS X