The Stackdriver 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.
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
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.
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:
Compute Engine instances. The Monitoring agent sends monitoring information to each instance's associated project.
For instances without external IP addresses, you must enable Private Google Access to allow the Monitoring agent to send metrics.
To create a Compute Engine instance, see Compute Engine getting started guide.
Amazon Elastic Compute Cloud (EC2) instances. The Monitoring agent sends monitoring information to the AWS connector project for your Workspace. Stackdriver creates this project for you when you connect your AWS account to a Workspace.
For the Monitoring agent to function correctly, the Amazon EC2 instance it runs on must be able to communicate with Google Cloud APIs, particularly the Monitoring API. This requires either an external IP address or a VPC internet gateway.
To create an Amazon EC2 instance, see Amazon EC2 Getting Started Guide.
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 provides an option to install two versions of Stackdriver support on clusters and nodes. The option is presented when creating or updating clusters using either the GKE console or using the
gcloud containerscommand. For more information, see:
The Monitoring agent supports the following operating systems on compatible VM instances:
- Amazon Linux AMI
- CentOS 6 and 7
- Debian 9 "Stretch"
- Red Hat Enterprise Linux 6 and 7
- Ubuntu LTS 16.04 "Xenial", LTS 18.04 "Bionic" (only LTS releases are supported)
- SUSE Linux Enterprise Server 12 SP3, 12 SP2 for SAP, and 12 SP3 for SAP
- Microsoft Windows Server 2008, 2012, 2016, and 2019
The Monitoring agent does not presently support the Container-Optimized OS that is the default in Kubernetes Engine clusters.
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:
Installing the agent requires access to the following DNS names:
(Linux) Google Cloud package repository:
(Windows) Google download server:
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
stackdriver-agent source code is available at
The build and packaging scripts for the Monitoring agent are available at
The configuration files for third-party applications are in the agent's
GitHub configuration repository.
The software package for
- The collectd daemon.
- The plugin shared libraries, including the Stackdriver Monitoring API output plugin.
- The top-level configuration files for the Monitoring agent.
The Monitoring agent is subject to the Stackdriver agents deprecation policy.