Introducing Grafana on AWS
AWS can now manage your Grafana server directly, removing the need to create and manage your own. Learn how to leverage this great technology!
Join the DZone community and get the full member experience.Join For Free
Grafana is a data visualization service that gives observability into cloud services. Grafana provides developers and DevOps engineers the tools to query, visualize, and analyze logs, traces, and metrics.
Grafana on Amazon Web Services (AWS) is a managed service linking Grafana workspaces and features directly into AWS. Developers and stakeholders can use AWS credentials to sign into configured workspaces and see their system’s health at a glance.
Benefits of Grafana on AWS
Grafana’s service uses multiple plugins allowing users to visualize a complete data set when services spread over numerous cloud or open-source services. Grafana already exists independently with plugins for AWS services like Cloudwatch. The integration with AWS does provide new features for Grafana users.
Amazon Manages Your Grafana Servers
Setting up Grafana requires users to create and manage their Grafana servers. Server maintenance is a barrier to development for some companies lacking the resources for such management. Grafana on AWS provides an additional server-management service, handling provisioning, setup, scaling, versioning, and the Grafana servers’ security.
No IAM Role Management for Native Integrations
While Grafana does support integrations for any AWS service, AWS does not natively integrate all services with Grafana. The significant difference between these is the setup and security provisioning needed, with the handling of native integrations’ security by AWS. AWS takes the burden of security setup off developers who now don’t need to configure IAM roles. A list of natively-linked AWS services is under AWS Data Sources below.
Grafana Can Detect Resources Across Regions and Accounts
It is common for developers to have AWS services deployed in different regions as required services are available and suit their customer’s locations. It is also common to have multiple organizational units set up, at least for a development and production deployment, and perhaps more organizational units for testing. Grafana will automatically detect resources within all accounts and regions linked to your organization. This detection gives developers an easy method to compare and relate data from anywhere in their system, making troubleshooting and analytics more straightforward.
Simple User Configurations
Both developers and stakeholders may find the Grafana on AWS integration useful for understanding their system’s health. Using AWS Single Sign-On (SSO) and Grafana, it is easy to assign appropriate roles to each user, be it Administrator, Editor, or simply Viewer. AWS administrators can assign roles per Workspace or Dashboard, so users only access what they need.
Workspaces in Grafana on AWS
A workspace in Grafana is an isolated server dedicated to your data. Developers integrate their workspace with relevant data from multiple sources, making it simple to compare different data types in a single visualization. Developers can separate workspaces by AWS region and AWS account, allowing separation of production and development data. You can also combine this data into a single workspace if that suits your needs.
Panels in Grafana on AWS
Panels are the basic building block that make up your visualization. Panels are a collection of queries that will appear on a single visualization. Customizable visualizations include showing data as bar or line graphs, heatmaps, tables, or statistical values.
Queries Determine the Data Displayed in Panels
Queries use configured data sources to fill panel data. Grafana will show a query editor that is specific to the type of data and its source. Users configuring a panel will choose a data source, which region, namespace, and metric to collect data from, and what statistics Grafana should apply to the data. Developers may also transform data before displaying it in Grafana. Transformations can perform calculations on queried data, filter out data that is not required, or simply rename data before it is displayed.
Set Up Alerts Based on Queried or Transformed Data
Grafana on AWS sends alerts using AWS Simple Notification Service (SNS). After configuring queries or transformations, developers can set up alert rules. Rules include details like how often to evaluate the notification conditions, what conditions to review before notifying users, what message to send, and to whom to send the message.
Dashboards in Grafana on AWS
Dashboards show are a collection of one or more panels in the same view. Panels in a dashboard can share some common configurations, such as the time frame during which to show panels’ data, allowing for easy troubleshooting when the time of a failure or event is known.
Dashboards come with other convenient features like assigning variables for use throughout the dashboard, sharing a dashboard with other stakeholders, or tagging the dashboard for fast, searchable navigation.
What Features Are Available in Grafana on AWS
AWS Data Sources
Several AWS data sources link natively into Grafana. Since the service is relatively new, this list should grow over time to include more AWS services. Currently-available AWS data sources include:
- AWS Cloudwatch
- AWS Elasticsearch Service
- AWS IoT SiteWise
- AWS Managed Service for Prometheus
- AWS Timestream
- AWS X-Ray
Grafana on AWS also supports some external data sources, out of the box. These include Azure Monitor, MySQL, PostgreSQL, and others. You can see a complete list in the User Guide. Enterprise account holders can use Grafana plugins, enabling even more data sources such as MongoDB and Snowflake.
Plugin External Data Sources to Grafana
External solutions companies also provide plugins to Grafana through their endpoints. These include Coralogix’s metrics and monitoring solutions. See how to link Coralogix logs and analyses to Grafana using their plugin here.
How to Setup Grafana on AWS
Setup Users in AWS Single Sign-On
Amazon allows developers to choose which users will have access to workspaces using Single Sign-On (SSO). If you have not already used SSO, you will need your AWS organization administrator to turn this on in the root account. Create a new user for any developer or stakeholder who should have access to the Grafana workspace.
Amazon Provides Easy to Follow Setup Instructions
Amazon engineers have put together an easy to follow guide for linking your existing AWS account to Grafana. Their guide includes instructions on setting up SSO if you have not done so already. If Grafana is still in preview, you also need to request access to the pilot here.
Grafana is an existing service for visualizing logs and metrics from multiple data sources. AWS recently released a new managed service of Grafana, including native plugins to several AWS services such as CloudWatch.
Amazon manages Grafana servers for users as well as security settings, removing this burden from Grafana users. Developers can still integrate their Grafana workspace with outside sources such as Coralogix’s real-time metrics.
The AWS managed Grafana service is a welcome addition to the AWS family of services, filling a need in observability tools for cloud services. Better still, to make your Grafana deployment a stronger asset, use Coralogix as a data source for true observability.
Opinions expressed by DZone contributors are their own.