Cloud Monitoring agent overview

The Cloud Monitoring agent is a collectd-based daemon that gathers system and application metrics from virtual machine instances and sends them to Monitoring. By default, the Monitoring agent collects disk, CPU, network, and process metrics. You can configure the Monitoring agent to monitor third-party applications to get the full list of agent metrics.

To install the Monitoring agent, see Installing the Monitoring agent.

Purpose

Using the Monitoring agent is optional but recommended. Monitoring can access some instance metrics without the Monitoring agent, including CPU utilization, some disk traffic metrics, network traffic, and uptime information. Monitoring uses the Monitoring agent to access additional system resources and application services in virtual machine (VM) instances. If you want these additional capabilities, you should install the Monitoring agent.

After installing the Monitoring agent, you can monitor supported third-party applications by adding application-specific collectd configurations. See Monitoring third-party applications for details.

For a complete list of the built-in metrics you can get with the Monitoring agent, see Agent metrics.

To send any custom metric to Monitoring using the agent, see Monitoring custom applications. If you have access to the source code of your application, it may be more convenient to instrument it with OpenCensus.

Supported configurations

The Monitoring agent is compatible with the following environments.

Virtual machine instances

You can install the Monitoring agent on the following kinds of VM instances:

The following types of VM instances use special Monitoring support. Don't try to manually install or configure the Monitoring agent on them:

  • App Engine standard has built-in Monitoring support. Agents are not needed.

  • App Engine flexible environment has pre-installed agents with special configurations.

  • Google Kubernetes Engine node instances. You can enable Kubernetes Engine Monitoring, an integrated monitoring and logging solution, for your new or existing container clusters.

  • For instances running on GKE On-Prem, the agent collects system metrics but doesn't collect application metrics.

Operating systems

The Monitoring agent supports the following operating systems on compatible VM instances.

Linux operating systems

The Monitoring agent supports the following Linux operating systems:

Operating system Agent version 5.5.2 and lower Agent version 6.0.0 and higher
Amazon AMI
CentOS 6
CentOS 7
CentOS 8
RHEL 6
RHEL 7:
rhel-7, rhel-7-6-sap-ha, rhel-7-4-sap
RHEL 8: rhel-8
Debian 9 (Stretch)
Debian 10 (Buster)
SLES 12:
sles-12, sles-12-sp1-sap, sles-12-sp2-sap, sles-12-sp3-sap, sles-12-sp4-sap, sles-12-sp5-sap
SLES 15:
sles-15, sles-15-sp1-sap, sles-15-sap
Ubuntu 16.04 (Xenial):
ubuntu-1604-lts, ubuntu-minimal-1604-lts
Ubuntu 18.04 (Bionic):
ubuntu-1804-lts, ubuntu-minimal-1804-lts
Ubuntu 19.10 (Eoan):
ubuntu-1910-lts, ubuntu-minimal-1910-lts

The Monitoring agent does not presently support the Container-Optimized OS that is the default in Google Kubernetes Engine clusters.

Windows operating systems:

All version of the Monitoring agent support the following Windows operating systems:

  • Windows Server 2019
  • Windows Server Core 2019
  • Windows Server Core, version 1909
  • Windows Server Core, version 1903
  • Windows Server Core, version 1809
  • Windows Server 2016
  • Windows Server Core 2016
  • Windows Server 2012 R2
  • Windows Server Core 2012 R2

The Monitoring agent does not presently support Windows Server Core 2019 for containers.

Supported applications

You can configure Monitoring to monitor a variety of popular open source software applications. Configuration is only possible for agents running on Linux. Agents running on Windows can monitor IIS and MS SQL applications, but they are not configurable for other applications.

For more information, see Monitoring third-party applications.

Agent access requirements

Running the agent requires access to the following DNS names:

  • OAuth2 token server: www.googleapis.com (full URL: https://www.googleapis.com/oauth2/v3/token)

  • Monitoring APIs: monitoring.googleapis.com

Installing the agent requires access to the following DNS names:

  • (Linux) Google Cloud package repository: packages.cloud.google.com

  • (Windows) Google download server: dl.google.com

Getting the Monitoring agent source code

The source code for the Monitoring agent is available for only the Linux-hosted Monitoring agent. The Windows-hosted Monitoring agent is not open source.

The Monitoring agent is installed by a script described in the installation instructions. You do not need the information in this section unless you want to understand the source code or you have other special needs.

The Monitoring agent, stackdriver-agent, is based on the original collectd system statistics collection daemon. stackdriver-agent source code is available at Stackdriver/collectd. The build and packaging scripts for the Monitoring agent are available at Stackdriver/agent-packaging. The configuration files for third-party applications are in the agent's GitHub configuration repository.

The software package for stackdriver-agent contains:

  • The collectd daemon.
  • The plugin shared libraries, including the Cloud Monitoring API output plugin.
  • The top-level configuration files for the Monitoring agent.

Deprecation policy

The Monitoring agent is subject to the Agents deprecation policy.

What's next

  • See Quickstart to monitor a VM instance running an Apache web server. The quickstart includes installing the agent.
  • See Installing monitoring agents to install the agent on Compute Engine or Amazon EC2 VM instances.