{"id":1428,"date":"2019-04-15T00:00:00","date_gmt":"2019-04-15T00:00:00","guid":{"rendered":"https:\/\/azure.microsoft.com\/blog\/deploying-grafana-for-production-deployments-on-azure"},"modified":"2025-06-20T06:03:27","modified_gmt":"2025-06-20T13:03:27","slug":"deploying-grafana-for-production-deployments-on-azure","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/","title":{"rendered":"Deploying Grafana for production deployments on Azure"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>This blog is co-authored by Nick Lopez, Technical Advisor at Microsoft.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/grafana.com\/\">Grafana<\/a> is one of the popular and leading open source tools for visualizing time series metrics. Grafana has quickly become the preferred visualization tool of choice for developers and operations teams for monitoring server and application metrics. Grafana dashboards enable operation teams to quickly monitor and react to performance, availability, and overall health of the service. You can now also use it to monitor Azure services and applications by leveraging the <a href=\"https:\/\/grafana.com\/plugins\/grafana-azure-monitor-datasource\">Azure Monitor data source plugin<\/a>, built by Grafana Labs. This plugin enables you to include all metrics from Azure Monitor and Application Insights in your Grafana dashboards. If you would like to quickly setup and test Grafana with Azure Monitor and Application Insights metrics, we recommend you refer to the <a href=\"https:\/\/aka.ms\/grafanawalkthrough\">Azure Monitor Documentation<\/a><em>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image has-custom-border\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/04\/a5713634-55bf-49be-9fd4-79d44a0288d2.webp\" alt=\"Grafana dashboard using Azure Monitor as a data source to display metrics for Contoso dev environment.\" style=\"border-radius:0px\" title=\"321-1\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/azuremarketplace.microsoft.com\/en-us\/marketplace\/apps\/grafana-labs.grafana_oss\">Grafana server image in Azure Marketplace<\/a> provides a great QuickStart deployment experience. The image provisions a virtual machine (VM) with a pre-installed Grafana dashboard server, SQLite database&nbsp; and the Azure plugin. The default setup with a single VM deployment is great for a proof of concept study and testing. For high availability of monitoring dashboards for your critical applications and services, it\u2019s essential to think of high availability of Grafana deployments on Azure. The following is the proposed and proven architecture to setup Grafana for high availability and security on Azure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"setting-up-grafana-for-production-deployments\">Setting up Grafana for production deployments<\/h2>\n\n\n\n<figure class=\"wp-block-image has-custom-border\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/04\/1191ae82-3c98-4787-85b9-433970769724.webp\" alt=\"Grafana high availability deployment architecture on Azure.\" style=\"border-radius:0px\" title=\"321 2\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Grafana Labs recommends setting up a separate highly available shared MySQL server for setting up <a href=\"https:\/\/docs.grafana.org\/tutorials\/ha_setup\/\">Grafana for high availability<\/a>. The Azure Database for MySQL and MariaDB are managed relational database services based on the community edition of MySQL and the MariaDB database engine. The service provides high availability at no additional cost, predictable performance, elastic scalability, automated backups and enterprise grade security with secure sockets layer (SSL) support, encryption at rest, advanced threat protection, and VNet service endpoint support. Utilizing a remote configuration database with Azure Database for MySQL or Azure Database for MariaDB service allows for horizontal scalability and high availability of Grafana instances required for enterprise production deployments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"leveraging-bitnami-multi-tier-grafana-templates-for-production-deployments\">Leveraging Bitnami Multi-Tier Grafana templates for production deployments<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bitnami lets you deploy a multi-node, production ready Grafana solution from the Azure Marketplace with just a few clicks. This solution uses several Grafana nodes with a pre-configured load balancer and Azure Database for MariaDB for data storage. The number of nodes can be chosen at deployment time depending on your requirements. Communication between the nodes and the Azure Database for MariaDB service is also encrypted with SSL to ensure security.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A key feature of Bitnami&#8217;s Grafana solution is that it comes pre-configured to provide a fault-tolerant deployment. Requests are handled by the load balancer, which continuously tests nodes to check if they are alive and automatically reroutes requests if a node fails. Data (including session data) is stored in the Azure Database for MariaDB and not on the individual nodes. This approach improves performance and protects against data loss due to node failure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For new deployments, you can launch <a href=\"https:\/\/azuremarketplace.microsoft.com\/en-us\/marketplace\/apps\/bitnami.multi-tier-manageddb-grafana?tab=Overview\">Bitnami Grafana Multi-Tier<\/a> through the Azure Marketplace!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"configuring-existing-installations-of-grafana-to-use-azure-database-for-mysql-service\">Configuring existing installations of Grafana to use Azure Database for MySQL service<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you have an existing installation of Grafana that you would like to configure for high availability, you can use the following steps that demonstrate configuring Grafana instance to use Azure Database for MySQL server as the backend configuration database. In this walkthrough, we will be using an example of <a href=\"https:\/\/docs.grafana.org\/installation\/debian\/\">Ubuntu with Grafana installed<\/a> and configure Azure Database for MySQL as a remote database for Grafana setup.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Create an Azure Database for MySQL server with the General Purpose tier which is recommended for production deployments. If you are not familiar with the database server creation, you can read the <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/mysql\/quickstart-create-mysql-server-database-using-azure-portal\">QuickStart tutorial<\/a> to familiarize yourself with the workflow. If you are using Azure CLI, you can simply set it up using <a href=\"https:\/\/docs.microsoft.com\/en-us\/cli\/azure\/ext\/db-up\/mysql?view=azure-cli-latest#ext-db-up-az-mysql-up\">az mysql up<\/a>.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">If you have already <a href=\"https:\/\/docs.grafana.org\/installation\/debian\/\">installed Grafana<\/a> on the Ubuntu server, you\u2019ll need to edit the grafana.ini file to add the Azure Database for MySQL parameters. As per the <a href=\"https:\/\/docs.grafana.org\/installation\/configuration\/\">Grafana documentation on the Database settings<\/a>, we will focus on the database parameters noted in the documentation. <b>Please note<\/b>: The username must be in the format <em>user@server<\/em> due to the server identification method of Azure Database for MySQL. Other formats will cause connections to fail.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Azure Database for MySQL supports SSL connections. For enterprise production deployments, it is recommended to always enforce SSL. Additional information around setting up SSL with Azure Database for MySQL can be found in the <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/mysql\/howto-configure-ssl\">Azure Database for MySQL documentation<\/a>. Most modern installations of Ubuntu will have the necessary Baltimore Cyber Trust CA certificate already installed in your \/etc\/ssl\/certs location. If needed, you can download the SSL Certificate CA used for Azure Database for MySQL from\u00a0 <a href=\"https:\/\/www.digicert.com\/CACerts\/BaltimoreCyberTrustRoot.crt.pem\">this location<\/a>. The SSL mode can be provided in two forms, <i>skip-verify<\/i> and <i>true<\/i>. With <i>skip-verify<\/i> we will not validate the certificate provided but the connection is still encrypted. With<i> true<\/i> we are going to ensure that the certificate provided is validated\u00a0\u00a0 by the Baltimore CA. This is useful for preventing \u201cman in the middle\u201d attacks. Note that in both situations, Grafana expects the certificate authority (CA) path to be provided.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Next, you have the option to store the sessions of users in the Azure DB for MySQL in the table session. This is configured in the same grafana.ini under the session section. This is beneficial for instance in situations where you have load balanced environments to maintain sessions for users accessing Grafana. In the provider_config parameter, we need to include the user@server, password, full server and the TLS\/SSL method. In this manner, this can be true or ssl-verify. Note that this is the go-sql-driver\/mysql driver where more <a href=\"https:\/\/github.com\/Go-SQL-Driver\/mysql\">documentation is available<\/a>.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">After this is all set, you should be able to start Grafana and verify the status with the commands below:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">systemctl start grafana-server<\/li>\n\n\n\n<li class=\"wp-block-list-item\">systemctl status grafana-server<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If you see any errors or issues, the default path for logging is \/var\/log\/grafana\/<i> <\/i>where you can confirm what is preventing the startup. The following is a sample error where the username was not provided as user@server but rather just <i>user.<\/i><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">lvl=eror msg=&#8221;Server shutdown&#8221; logger=server reason=&#8221;Service init failed: Migration failed err: Error 9999: An internal error has occurred. Please retry or report your issues.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Otherwise you should see the service in an <em>Ok<\/em> status and the initial startup will build all the necessary tables in the Azure DB for MySQL database.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"key-takeaways\">Key takeaways<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">The single VM setup for Grafana is great for quick start, testing and a proof of concept study but it may not be suitable for production deployments.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">For enterprise production deployments of Grafana, separating the configuration database to the dedicated server enables high availability and scalability.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">The <a href=\"https:\/\/azuremarketplace.microsoft.com\/en-us\/marketplace\/apps\/bitnami.multi-tier-manageddb-grafana?tab=Overview\">Bitnami Grafana Multi-Tier<\/a> template provides production ready template leveraging the scale out design and security to provision Grafana with a few clicks with no extra cost.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Using managed database services like Azure Database for MySQL for production deployments provides built-in high availability, scalability, and enterprise security for the database repository.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"additional-resources\">Additional resources<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.bitnami.com\/azure-templates\/get-started\/\">Get started with Bitnami Multi-Tier Solutions on Microsoft Azure<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/monitor-azure-services-and-applications-using-grafana\/\">Monitor Azure services and applications using Grafana<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-monitor\/platform\/grafana-plugin\">Monitor your Azure services in Grafana<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.grafana.org\/tutorials\/ha_setup\/\">Setting up Grafana for high availability<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/mysql\/\">Azure Database for MySQL documentation<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"acknowledgments\">Acknowledgments<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Special thanks to Shau Phang, Diana Putnam, Anitah Cantele and Bitnami team for their contributions to the blog post.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Grafana is one of the popular and leading open source tools for visualizing time series metrics.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","footnotes":"","msx_community_cta_settings":[]},"categories":[1456,1482],"tags":[36],"audience":[3055,3056],"content-type":[1511],"product":[1533],"tech-community":[],"topic":[],"coauthors":[528],"class_list":["post-1428","post","type-post","status-publish","format-standard","hentry","category-devops","category-management-and-governance","tag-azure-marketplace","audience-developers","audience-it-implementors","content-type-best-practices","product-azure-monitor","review-flag-1680286581-295","review-flag-alway-1680286580-106","review-flag-man-1680286580-833","review-flag-new-1680286579-546","review-flag-vm-1680286585-143"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Deploying Grafana for production deployments on Azure | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"Grafana is one of the popular and leading open source tools for visualizing time series metrics.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deploying Grafana for production deployments on Azure | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"Grafana is one of the popular and leading open source tools for visualizing time series metrics.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Azure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/microsoftazure\" \/>\n<meta property=\"article:published_time\" content=\"2019-04-15T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-20T13:03:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/04\/a5713634-55bf-49be-9fd4-79d44a0288d2.webp\" \/>\n<meta name=\"author\" content=\"Parikshit Savjani\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@azure\" \/>\n<meta name=\"twitter:site\" content=\"@azure\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Parikshit Savjani\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/parikshit-savjani\/\",\"@type\":\"Person\",\"@name\":\"Parikshit Savjani\"}],\"headline\":\"Deploying Grafana for production deployments on Azure\",\"datePublished\":\"2019-04-15T00:00:00+00:00\",\"dateModified\":\"2025-06-20T13:03:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/\"},\"wordCount\":1248,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/04\/a5713634-55bf-49be-9fd4-79d44a0288d2.webp\",\"keywords\":[\"Azure Marketplace\"],\"articleSection\":[\"DevOps\",\"Management and governance\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/\",\"name\":\"Deploying Grafana for production deployments on Azure | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/04\/a5713634-55bf-49be-9fd4-79d44a0288d2.webp\",\"datePublished\":\"2019-04-15T00:00:00+00:00\",\"dateModified\":\"2025-06-20T13:03:27+00:00\",\"description\":\"Grafana is one of the popular and leading open source tools for visualizing time series metrics.\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#primaryimage\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/04\/a5713634-55bf-49be-9fd4-79d44a0288d2.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/04\/a5713634-55bf-49be-9fd4-79d44a0288d2.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DevOps\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/devops\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Deploying Grafana for production deployments on Azure\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"name\":\"Microsoft Azure Blog\",\"description\":\"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.\",\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\",\"name\":\"Microsoft Azure Blog\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"width\":512,\"height\":512,\"caption\":\"Microsoft Azure Blog\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/microsoftazure\",\"https:\/\/x.com\/azure\",\"https:\/\/www.instagram.com\/microsoftdeveloper\/\",\"https:\/\/www.linkedin.com\/company\/16188386\",\"https:\/\/www.youtube.com\/user\/windowsazure\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117\",\"name\":\"shakir\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"caption\":\"shakir\"},\"sameAs\":[\"https:\/\/azure.microsoft.com\"],\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Deploying Grafana for production deployments on Azure | Microsoft Azure Blog","description":"Grafana is one of the popular and leading open source tools for visualizing time series metrics.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/","og_locale":"en_US","og_type":"article","og_title":"Deploying Grafana for production deployments on Azure | Microsoft Azure Blog","og_description":"Grafana is one of the popular and leading open source tools for visualizing time series metrics.","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2019-04-15T00:00:00+00:00","article_modified_time":"2025-06-20T13:03:27+00:00","og_image":[{"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/04\/a5713634-55bf-49be-9fd4-79d44a0288d2.webp","type":"","width":"","height":""}],"author":"Parikshit Savjani","twitter_card":"summary_large_image","twitter_creator":"@azure","twitter_site":"@azure","twitter_misc":{"Written by":"Parikshit Savjani","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/parikshit-savjani\/","@type":"Person","@name":"Parikshit Savjani"}],"headline":"Deploying Grafana for production deployments on Azure","datePublished":"2019-04-15T00:00:00+00:00","dateModified":"2025-06-20T13:03:27+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/"},"wordCount":1248,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/04\/a5713634-55bf-49be-9fd4-79d44a0288d2.webp","keywords":["Azure Marketplace"],"articleSection":["DevOps","Management and governance"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/","name":"Deploying Grafana for production deployments on Azure | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#primaryimage"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/04\/a5713634-55bf-49be-9fd4-79d44a0288d2.webp","datePublished":"2019-04-15T00:00:00+00:00","dateModified":"2025-06-20T13:03:27+00:00","description":"Grafana is one of the popular and leading open source tools for visualizing time series metrics.","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#primaryimage","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/04\/a5713634-55bf-49be-9fd4-79d44a0288d2.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/04\/a5713634-55bf-49be-9fd4-79d44a0288d2.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/deploying-grafana-for-production-deployments-on-azure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"DevOps","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/devops\/"},{"@type":"ListItem","position":3,"name":"Deploying Grafana for production deployments on Azure"}]},{"@type":"WebSite","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","name":"Microsoft Azure Blog","description":"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.","publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization","name":"Microsoft Azure Blog","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","width":512,"height":512,"caption":"Microsoft Azure Blog"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/microsoftazure","https:\/\/x.com\/azure","https:\/\/www.instagram.com\/microsoftdeveloper\/","https:\/\/www.linkedin.com\/company\/16188386","https:\/\/www.youtube.com\/user\/windowsazure"]},{"@type":"Person","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117","name":"shakir","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4","url":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","caption":"shakir"},"sameAs":["https:\/\/azure.microsoft.com"],"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/"}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Azure Blog","distributor_original_site_url":"https:\/\/azure.microsoft.com\/en-us\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/comments?post=1428"}],"version-history":[{"count":1,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1428\/revisions"}],"predecessor-version":[{"id":42665,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1428\/revisions\/42665"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=1428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=1428"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=1428"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=1428"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=1428"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=1428"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=1428"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=1428"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=1428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}