Service Discovery with VMware vRealize Operations
In the last blog we discussed Windows Service monitoring with the Telegraf Agent, but there is another lighter-weight option for monitoring Windows Services and Linux Processes, vROps Service Discovery.
Originally released in vROps 6.6, Service Discovery has morphed over the years and is currently offered as a native management pack. It is agent-less and as of vROps 8.4 can be done without credentials. Credential-less Service Discovery is discussed in great detail here by VMware Staff Technical Marketing Manager Matt Bradford: https://blogs.vmware.com/management/2020/10/credential-less-service-discovery-with-vrealize-operations.html
Let's turn it on! First, confirm that Service Discovery is Activated.
Next, configure the vSphere adapter to discover services via the Service Discovery tab.
Select the Service Discovery tab and enable Service Discovery with the toggle.
Provide credentials such that the Service Discovery adapter can access each VM, which is done via VMware Tools: https://kb.vmware.com/s/article/78216
Comprehensive Service Discovery documentation can be found here: https://docs.vmware.com/en/VMware-vRealize-Operations-Cloud/services/config-guide/GUID-E02AF39E-748F-406B-9464-84DE826C82AC.html
If you'd like to configure Credential-less Service Discovery you can do so by selecting the Service Discovery Adapter Instance under your vSphere Adapter Instance.
Select the ellipses (three dots) to the left of the Service Discovery Adapter Instance and enable Credential-less service discovery via Advanced Settings.
vROps Service Discovery will discover 39 different services. Beyond just the up/down status of these services, Service Discovery has the ability to capture additional metrics:
Service Performance Metrics: https://docs.vmware.com/en/VMware-vRealize-Operations-Cloud/services/config-guide/GUID-02B449F1-E2A5-4D81-85D6-794A86FD0191.html. These require Service Monitoring to be enabled.
Within the vROps UI, it will look like this. Go to Administration - Inventory - Manage Services.
Lots of good information here, including three important columns.
Services Discovered - displays the names of discovered services or None, if services are not discovered on the VM.
Service Monitoring - displays the current value of the VM's service monitoring setting. If set, service performance metrics are collected every 5 minutes.
Authentication Status - displays the status of the attempted authentication, those showing as failed likely don't meet the requirements for VMware Tools.
Documentation around the services discovered and general Service Discovery can be found here: https://docs.vmware.com/en/VMware-vRealize-Operations-Cloud/services/config-guide/GUID-CC683117-D936-432C-B30B-CCCA08E863FB.html
To see all services Service Discovery has found go to Home - Manage Applications - Discover Services.
It shows which of the 39 different services/processes have been discovered, how many VMs they've been discovered on, and a link to those machines. You can tell vROps to look for additional services/processes via the Configure Allowed List tile.
Let's look at one of the services vROps has discovered. If I click on the link in the Active Directory service tile I'm taken here.
There are a couple things to note here:
No green check circle in the Service Monitoring column. This means the service has been discovered via Service Discovery (runs ever 24 hours), but service monitoring (performance metrics) are not being collected. Click the Enable Service Monitoring icon to start collecting service performance metrics (runs every five minutes).
2. Service Discovery also gives you the ability to take additional actions against the VM. Selecting the gears icon provides the list.
Here you'll see the out-of-the-box actions, things like Power Off VM, Set CPU Count, etc. You'll also see two additional actions made available by Service Discovery: Execute Script and Get Top Processes.
a. Execute Script allows the user to execute a script and/or upload a file to the VM.
b. Get Top Processes captures the top 10 (default) services/processes in terms of CPU and Memory being used by each. You must provide credentials for this.
Now that we've discovered services (and enabled performance monitoring where you want), what do they look like? Services will be child objects of the VMs. Here, I'm showing the discovered services on my vROps master node.
As you can see, I've enabled service performance monitoring, so I'm capturing CPU, Memory, and Disk IO metrics for each service. You can now create Alert/Symptom combinations for any of the discovered services and/or their performance. In our next blog we'll explore application monitoring with vROps!