Google continues to update its Stackdriver application monitoring and debugging service, with additional features, UI enhancements and adjustments to its pricing model. These changes are frequent and sporadic, so it's often difficult to keep up.
To stay in the loop, here's a look at some recent updates to Google Stackdriver, and how they might affect your cloud deployment.
Extended features for alerts
Monitoring tools are only as good as their ability to automate critical tasks, such as sending alerts when metrics exceed predefined limits. Google Stackdriver always had basic alerting features but, recently, it added a programmatic interface to manage and automate alert policies. The Stackdriver Monitoring v3 API includes more than 900 Monitoring metrics that span both Google Cloud Platform (GCP) and AWS. Admins can use this API and metrics in three ways:
- via calls using client libraries for Java or C#;
- using the Gcloud command-line interface and the Google Cloud SDK.
Regardless of the technique, programmatic management of Stackdriver alerts can automate repetitive or error-prone tasks, such as cloning policies and notification channels from one project to another or across product, test and development environments. In addition, teams can use the API to create more detailed alert policies that are tailored to different parts of an application. This increases the accuracy and granularity of monitoring alerts, and also minimizes false positives and negatives.
Some Google Stackdriver users might not want to take the time to learn the monitoring API, or want to quickly experiment with alert conditions before they settle on the best set. These users might prefer the recently introduced UI, based on Stackdriver Metrics Explorer, which enables users to create and edit metric threshold conditions for alert policies without programming.
The UI includes an alert condition editor, with options based on metric conditions, as well as basic and advanced resource health. Each condition, such as Google Compute Engine VM CPU utilization, has a target selector that provides control over the metric limits that trigger an alert.
The alerting UI provides an interface that does the following:
- describes up to six conditions that will trigger an alert;
- edits metric threshold conditions, including those created via the API;
- sets up notification channels, such as SMS, Slack or the Google Cloud Console mobile app;
- adds documentation to assist with troubleshooting; and
- names the policy to simplify policy management in an account or project.
Container and app performance monitoring
In response to container adoption, Google Stackdriver now includes Kubernetes support. The feature aggregates logs and metrics from Kubernetes environments, including those on GCP, another cloud or a private cluster. It can also ingest metrics from Prometheus, an open source monitoring and alerting system, which is popular with container developers.
Google Stackdriver monitoring is now built into Google Kubernetes Engine (GKE), a containers-as-a-service product, and requires no additional user configuration. With support for Kubernetes implementation across multiple platforms, Stackdriver provides a unified dashboard of performance and usage metrics across multiple clusters. Kubernetes support also extends to other Stackdriver features, such as log management analysis and tracing.
Effect on non-GCP users
Before the Google acquisition, Stackdriver targeted AWS users. The tool, including its latest features, works with GCP, as well as other cloud and on-premises environments -- and there are no pricing differences. However, AWS users will likely generate data transfer costs for information sent to Stackdriver. To reduce these costs, AWS users that heavily employ Stackdriver, particularly for log management and analysis, might be compelled to use native GCP services, such as Google Cloud Storage and BigQuery, to archive and analyze log data.
For application performance monitoring, Google added Stackdriver Profiler, a tool that enables developers to see how code executes in production environments. The profiler continually samples CPU and memory usage metrics, and summarizes resource consumption by function, to help developers understand the execution paths that have performance bottlenecks or consume the most resources. The profiler also integrates with GitHub and the Stackdriver Debugger and, like other Stackdriver tools, it works with applications on any VM or container platform, GCP, other clouds and on-premises environments.
Updated pricing model and usage metrics
In June 2018, Google changed Stackdriver pricing to a consumption-based model that covers all of its features and eliminates the previous premium pricing tier. Pricing is generally based on data or API usage and includes a free tier for each feature.
Enterprises can also optimize cost management with new cost metrics and analysis tools, and view usage data via the GCP billing console, the Stackdriver console or via the API and Metrics Explorer. Admins can choose to report and summarize usage by user accounts or stock-keeping unit, or use the Metrics Explorer to filter by resource type, project or metric category.