{"id":46823,"date":"2025-01-31T00:00:00","date_gmt":"2025-01-31T08:00:00","guid":{"rendered":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/blog\/pairing-griddb-cloud-with-grafana-cloud\/"},"modified":"2025-11-13T12:57:13","modified_gmt":"2025-11-13T20:57:13","slug":"pairing-griddb-cloud-with-grafana-cloud","status":"publish","type":"post","link":"https:\/\/www.griddb.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/","title":{"rendered":"Pairing GridDB Cloud with Grafana Cloud"},"content":{"rendered":"<p>With the release of a completely free GridDB Cloud, we wanted to pair its free service with Grafana Cloud, another free Cloud-based service which can get you up and running in seconds. For this article, we will walk through the steps of how to display time-series data from your GridDB Cloud shared instance to Grafana Cloud.<\/p>\n<p>If you are unfamiliar with GridDB Cloud, you can read our quick start guide here: <a href=\"https:\/\/griddb.net\/en\/blog\/griddb-cloud-quick-start-guide\/\">GridDB Cloud Quick Start Guide<\/a> &#8212; that article will teach you how to sign up, how to begin using GridDB Cloud and more of the basics: who, what, when, where, why. If you are also unfamiliar with Grafana, you can read about its capabilities and strength from their docs: <a href=\"https:\/\/grafana.com\/docs\/grafana\/latest\/introduction\/\">https:\/\/grafana.com\/docs\/grafana\/latest\/introduction\/<\/a>.<\/p>\n<p>If you are curious as to how Grafana can enhance your GridDB experience, I will point you to a previous article we have written here: <a href=\"https:\/\/griddb.net\/en\/blog\/creating-heatmaps-grafana\/\">Creating Heatmaps of Geometry Data using Grafana &amp; GridDB<\/a>. Essentially, Grafana&#8217;s advanced visualization tools allow for some creative ways of analyzing and peering into your data.<\/p>\n<p>This article&#8217;s goal is simple: showcase how to use the cloud offerings from both vendors to display some GridDB Data in Grafana Cloud. We will go through this process step-by-step and explain any idiosyncrasies along the way. Let&#8217;s get started!<\/p>\n<h2>Implementation<\/h2>\n<p>First, here&#8217;s a link to the Grafana dashboard that we will be using for this article: <a href=\"https:\/\/imru.grafana.net\/public-dashboards\/8a9f9f8ed9d34582aecca867a50c9613\">https:\/\/imru.grafana.net\/public-dashboards\/8a9f9f8ed9d34582aecca867a50c9613<\/a>. Source code can be found here:<\/p>\n<p><code>$ git clone https:\/\/github.com\/griddbnet\/Blogs.git --branch 4_grafana_cloud<\/code><\/p>\n<h3>Prereqs<\/h3>\n<p>To follow along, you will need to have access to a free account of both <a href=\"https:\/\/form.ict-toshiba.jp\/download_form_griddb_cloud_freeplan_e?utm_source=griddbnet&amp;utm_medium=grafana-blog\">GridDB Cloud<\/a> and <a href=\"https:\/\/grafana.com\/products\/cloud\/\">Grafana Cloud<\/a>.<\/p>\n<h3>Technical Overview<\/h3>\n<p>To query our GridDB Cloud data from Grafana, we will be sending HTTP Requests directly from Grafana to our GridDB Cloud. And indeed, any sort of interactions we want to make with our free GridDB Cloud instance will be done via Web API interface; this topic is covered in the quick start linked above, as well as in this article: <a href=\"https:\/\/griddb.net\/en\/blog\/griddb-webapi\/\">GridDB WebAPI<\/a>. You can also of course check out the official docs: <a href=\"https:\/\/github.com\/griddb\/webapi\/blob\/master\/GridDB_Web_API_Reference.md\">GridDB_Web_API_Reference<\/a>.<\/p>\n<p>The specifics of how to form our query and how to create our allowlist to get around GridDB&#8217;s firewall will be the subject of our next few sections.<\/p>\n<h3>Adding Grafana&#8217;s IP Addresses to GridDB&#8217;s Allowlist<\/h3>\n<p>In order for our Grafana Cloud instance to send HTTP Requests which are accepted as &#8220;safe&#8221; by our GridDB Cloud, we need to be able to add all potential IP Addresses to our GridDB Cloud instance. Browsing through the Grafana documentation, we see that they have these lists readily available for these exact scenarios: <a href=\"https:\/\/grafana.com\/docs\/grafana-cloud\/account-management\/allow-list\/\">https:\/\/grafana.com\/docs\/grafana-cloud\/account-management\/allow-list\/<\/a>. The list we need is called <a href=\"https:\/\/grafana.com\/api\/hosted-grafana\/source-ips.txt\">&#8216;Hosted Grafana&#8217;<\/a>, and if you take a quick peek, you&#8217;ll see the list is easily over 100 lines, so then how do we efficiently add all of these to our GridDB Cloud management portal?<\/p>\n<p>Well, luckily we have already encountered this scenario in our previous article: <a href=\"https:\/\/griddb.net\/en\/blog\/iot-hub-azure-griddb-cloud\/\">Create a Serverless IoT Hub using GridDB Cloud and Microsoft Azure<\/a>. To solve the issue, we wrote a simple bash script which will take the <code>.txt<\/code> file as the input and add each ip address to the allowlist of GridDB Cloud&#8217;s online portal. Source code and instructions found in that blog in the <a href=\"https:\/\/griddb.net\/en\/blog\/iot-hub-azure-griddb-cloud\/#whitelist\">&#8220;#whitelist&#8221;<\/a> section. Here&#8217;s the script:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">#!\/bin\/bash\n\nfile=$1\n\n#EXAMPLE\n#runCurl() {\n#curl 'https:\/\/cloud57.griddb.com\/mfcloud57\/dbaas\/web-api\/contracts\/m01wc1a\/access-list' -X POST -H 'User-Agent: Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.15; rv:133.0) Gecko\/20100101 Firefox\/133.0' -H 'Accept: application\/json, text\/plain, *\/*' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Content-Type: application\/json;charset=utf-8' -H 'Access-Control-Allow-Origin: *' -H 'Authorization: Bearer eyJ0eXAiOiJBY2Nlc3MiLCJIUzI1NiJ9.eyJzdWIiOiJkMTg4NjlhZC1mYjUxLTQwMWMtOWQ0Yy03YzI3MGNkZTBmZDkiLCJleHAiOjE3MzEwMTEyMTMsInJvbGUiOiJBZG1pbiIsInN5c3RlbVR5cGUiOjF9.B1MsV9-Nu8m8mJbsp6dKABjJDBjQDdc9aRLffTlTcVM' -H 'Origin: https:\/\/cloud5197.griddb.com' -H 'Connection: keep-alive' -H 'Referer: https:\/\/cloud5197.griddb.com\/mfcloud5197\/portal\/' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: same-origin' -H 'Priority: u=0' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' --data-raw $1\n#}\n\nrunCurl() {\n    &lt;paste VALUE HERE> $1\n}\n\nwhile IFS= read -r line; do\n    for ip in ${line\/\/,\/ }; do\n        echo \"Whitelisting IP Address: $ip\"\n        runCurl $ip\n    done\ndone &lt; \"$file\"&lt;\/paste><\/code><\/pre>\n<\/div>\n<h3>Querying GridDB Cloud from Grafana Cloud<\/h3>\n<p>Out of the box, Grafana <em>does<\/em> have a method of sending HTTP Requests to your services, but from what I could tell, they&#8217;re geared towards specific services (ie. Prometheus) and are limited to HTTP GET Requests. In our case, all of our requests to GridDB Cloud require POST requests, so we needed to find a solution for this: enter the <a href=\"https:\/\/grafana.com\/grafana\/plugins\/yesoreyeram-infinity-datasource\/\">Infinity<\/a> plugin.<\/p>\n<p>Once installed, we will be able to add it as a datasource.<\/p>\n<h4>Using Infinity as a Data Source<\/h4>\n<p>From within your Grafana Cloud instance, select Connections &#8211;> Data Sources. If you installed the Infinity data source properly, it should show up in this section as an option &#8212; please select it. From here, we can add all of our pertinent GridDB Cloud information to forge our connection &#8212; we will need to add our basic authentication, and allow our portal&#8217;s hostname in the allowed hosts list.<\/p>\n<p>Once added, lastly click on the health check section and add your Web API + &#8220;\/checkConnection&#8221; (ie. <code>https:\/\/cloud5197.griddb.com:443\/griddb\/v2\/gs_clustermfcloud5197\/dbs\/ZV8YUlQ8\/checkConnection<\/code>) as a simple sanity check AND health check. Hit <code>Save &amp; Test<\/code>.<\/p>\n<p>We should be able to query our GridDB Cloud Database now!<\/p>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2025\/01\/adding-infinity.png\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2025\/01\/adding-infinity.png\" alt=\"\" width=\"2658\" height=\"2054\" class=\"aligncenter size-full wp-image-31342\" srcset=\"\/wp-content\/uploads\/2025\/01\/adding-infinity.png 2658w, \/wp-content\/uploads\/2025\/01\/adding-infinity-300x232.png 300w, \/wp-content\/uploads\/2025\/01\/adding-infinity-1024x791.png 1024w, \/wp-content\/uploads\/2025\/01\/adding-infinity-768x593.png 768w, \/wp-content\/uploads\/2025\/01\/adding-infinity-1536x1187.png 1536w, \/wp-content\/uploads\/2025\/01\/adding-infinity-2048x1583.png 2048w, \/wp-content\/uploads\/2025\/01\/adding-infinity-600x464.png 600w\" sizes=\"(max-width: 2658px) 100vw, 2658px\" \/><\/a><\/p>\n<h4>Ingesting Usable Time Series Data<\/h4>\n<p>Before we query our data, let&#8217;s first ensure that we have working data in our GridDB Cloud. If you are following along and have just now made a new account, you can follow our quick start guide to ingest an IoT sample data that can be found on Kaggle. Here is a direct link to the section in the guide: <a href=\"https:\/\/griddb.net\/en\/blog\/griddb-cloud-quick-start-guide\/#ingest\">https:\/\/griddb.net\/en\/blog\/griddb-cloud-quick-start-guide\/#ingest<\/a>. Here, we are ingesting a <code>csv<\/code> file and calling the container <code>device1<\/code>.<\/p>\n<h4>Forming Our HTTP Requests<\/h4>\n<p>Now that we can communicate between services, let&#8217;s get the data we want. From the Grafana Cloud menu, select Dashboards and then select &#8220;new&#8221; in the top right corner and then finally <code>Add visualization<\/code>.<\/p>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2025\/01\/create-dashboard.png\"><img decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2025\/01\/create-dashboard.png\" alt=\"\" width=\"3336\" height=\"1508\" class=\"aligncenter size-full wp-image-31340\" srcset=\"\/wp-content\/uploads\/2025\/01\/create-dashboard.png 3336w, \/wp-content\/uploads\/2025\/01\/create-dashboard-300x136.png 300w, \/wp-content\/uploads\/2025\/01\/create-dashboard-1024x463.png 1024w, \/wp-content\/uploads\/2025\/01\/create-dashboard-768x347.png 768w, \/wp-content\/uploads\/2025\/01\/create-dashboard-1536x694.png 1536w, \/wp-content\/uploads\/2025\/01\/create-dashboard-2048x926.png 2048w, \/wp-content\/uploads\/2025\/01\/create-dashboard-600x271.png 600w\" sizes=\"(max-width: 3336px) 100vw, 3336px\" \/><\/a><\/p>\n<p>From here, select Infinity and you will now have a blank graph and a place to put your query.<\/p>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2025\/01\/blank-infinity.png\"><img decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2025\/01\/blank-infinity.png\" alt=\"\" width=\"2400\" height=\"1756\" class=\"aligncenter size-full wp-image-31339\" srcset=\"\/wp-content\/uploads\/2025\/01\/blank-infinity.png 2400w, \/wp-content\/uploads\/2025\/01\/blank-infinity-300x220.png 300w, \/wp-content\/uploads\/2025\/01\/blank-infinity-1024x749.png 1024w, \/wp-content\/uploads\/2025\/01\/blank-infinity-768x562.png 768w, \/wp-content\/uploads\/2025\/01\/blank-infinity-1536x1124.png 1536w, \/wp-content\/uploads\/2025\/01\/blank-infinity-2048x1498.png 2048w, \/wp-content\/uploads\/2025\/01\/blank-infinity-600x439.png 600w\" sizes=\"(max-width: 2400px) 100vw, 2400px\" \/><\/a><\/p>\n<p>And now for some options:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">Type: JSON\nParser: Backend\nSource: URL\nFormat: Data Frame\nMethod: POST<\/code><\/pre>\n<\/div>\n<p>Note: Here is a screenshot of the entire query we will form in the ensuing lines of text (screenshot will be displayed again at the end once you can better understand what all of the words mean)<\/p>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2025\/01\/group-by-range.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2025\/01\/group-by-range.png\" alt=\"\" width=\"2126\" height=\"2296\" class=\"aligncenter size-full wp-image-31341\" srcset=\"\/wp-content\/uploads\/2025\/01\/group-by-range.png 2126w, \/wp-content\/uploads\/2025\/01\/group-by-range-278x300.png 278w, \/wp-content\/uploads\/2025\/01\/group-by-range-948x1024.png 948w, \/wp-content\/uploads\/2025\/01\/group-by-range-768x829.png 768w, \/wp-content\/uploads\/2025\/01\/group-by-range-1422x1536.png 1422w, \/wp-content\/uploads\/2025\/01\/group-by-range-1896x2048.png 1896w, \/wp-content\/uploads\/2025\/01\/group-by-range-600x648.png 600w\" sizes=\"(max-width: 2126px) 100vw, 2126px\" \/><\/a><\/p>\n<p>The parser and format being what they are allows for us to properly name and label the data being received from GridDB Cloud because of the unusual way in which responds to the requestor with data. Instead of sending back the rows of data in JSON format (which, to be fair, if you&#8217;ve got a thousand rows, it&#8217;s a lot of unnecessary bloat), GridDB Cloud sends back the information as a JSON file, but the actual rows of data are in array form, with the schema being listed under another JSON key name (<code>columns<\/code>).<\/p>\n<p>As for the URL, you can take a look at the links above about how to form your Web API Request, but here are two we will be using:<\/p>\n<ol>\n<li>SQL: <code>https:\/\/cloud5197.griddb.com\/griddb\/v2\/gs_clustermfcloud5197\/dbs\/ZV8YUlQ8\/sql\/dml\/query<\/code><\/li>\n<li>API: <code>https:\/\/cloud5197.griddb.com:443\/griddb\/v2\/gs_clustermfcloud5197\/dbs\/ZV8YUlQ8\/containers\/device1\/rows<\/code><\/li>\n<\/ol>\n<p>In each case, we will have different selectors for our returned data, as well as different body payloads that we will be sending off as a request. First, let&#8217;s take a look at the SQL Query.<\/p>\n<h5>Making a Simple SQL-Select Query<\/h5>\n<p>First, set your URL to match the query above. The format is as follows: <code>https:\/\/[cloud-portal-name].griddb.com\/griddb\/[clustername]\/dbs\/[database-name]\/sql\/dml\/query<\/code>. And then we form our SQL Query within the body of the request.<\/p>\n<p>To properly parse this, we set the format as data frame, and then under <code>parsing options &amp; Results fields<\/code>, we type in &#8220;results&#8221; in the <code>JSONata\/rows selector<\/code> box and then click <code>add columns<\/code>. To start, we simply want a couple of columns from our dataset, so we can se the columns like so:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">Selector: 0 #array index\nas: ts\nformat-as: Time<\/code><\/pre>\n<\/div>\n<p>And then we select the column we want to track in our graph, let&#8217;s take a look at <code>temperature<\/code><\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">Selector: 7 \nas: temperature\nformat-as: Number<\/code><\/pre>\n<\/div>\n<p>Lastly, because it&#8217;s a POST request, we <em>must<\/em> send off something within the body of our request, but in this case, it&#8217;s going to be a SQL query. Right under the Method dropdown menu, there&#8217;s a button that says <code>Headers, Body, Request Params<\/code>. Click this.<\/p>\n<p>Fro that sub menu, set the Body Type to Raw and set the Body Content Type to JSON. And in the large text box you can add your actual body &#8212; or in our case, our SQL query:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">[\n  {\"stmt\" : \"select * from device1 LIMIT 1000\"}\n]<\/code><\/pre>\n<\/div>\n<p>Note: I highly recommend using a limit on your query, otherwise Grafana may malfunction trying to show all of your data points.<\/p>\n<p>In the graph above, click &#8220;zoom in on data&#8221; if necessary and your data will be displayed! Cool!<\/p>\n<h5>More SQL Queries (Group By Range, Aggregations)<\/h5>\n<p>With the advent of GridDB 5.7, you can make some more complex SQL Queries as well and are not limited to <code>SELECT<\/code> statements. For example, we can use the SQL Group By Range which allows for us to perform a aggregation operations over a given time span. For example, this is what our query looks like: <code>select ts,temp from device1 WHERE ts BETWEEN TIMESTAMP('2020-07-12T01:00:25.984Z') AND TIMESTAMP('2020-07-12T01:22:29.050Z') GROUP BY RANGE (ts) EVERY (1, SECOND) FILL (LINEAR)<\/code>. So we can simply plug this in to our Infinity plugin and see the results (Hint: you may need to change your column selectors and refresh the graph).<\/p>\n<p>You can also do other SQL aggregation queries, really there is no limit; you can read more about that in the GridDB SQL docs: <a href=\"https:\/\/griddb.org\/docs-en\/manuals\/GridDB_SQL_Reference.html\">https:\/\/griddb.org\/docs-en\/manuals\/GridDB_SQL_Reference.html<\/a><\/p>\n<p>Using the Group By Range feature is excellent for creating dense graphs even if you don&#8217;t have a dense enough dataset!<\/p>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2025\/01\/group-by-range.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2025\/01\/group-by-range.png\" alt=\"\" width=\"2126\" height=\"2296\" class=\"aligncenter size-full wp-image-31341\" srcset=\"\/wp-content\/uploads\/2025\/01\/group-by-range.png 2126w, \/wp-content\/uploads\/2025\/01\/group-by-range-278x300.png 278w, \/wp-content\/uploads\/2025\/01\/group-by-range-948x1024.png 948w, \/wp-content\/uploads\/2025\/01\/group-by-range-768x829.png 768w, \/wp-content\/uploads\/2025\/01\/group-by-range-1422x1536.png 1422w, \/wp-content\/uploads\/2025\/01\/group-by-range-1896x2048.png 1896w, \/wp-content\/uploads\/2025\/01\/group-by-range-600x648.png 600w\" sizes=\"(max-width: 2126px) 100vw, 2126px\" \/><\/a><\/p>\n<h5>API Query<\/h5>\n<p>We can also skip SQL and just the API to make queries using simple JSON options in our body request. The URL will be built out as follows: <code>https:\/\/[cloud-portal-name].griddb.com\/griddb\/[clustername]\/dbs\/[database-name]\/containers\/[container-name]\/rows<\/code><\/p>\n<p>So enter in your URL and, set the Body Content Type to JSON, and the Body content to some combination of the following:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">{\n  \"offset\" : 0,\n  \"limit\"  : 100,\n  \"condition\" : \"temp >= 30\",\n  \"sort\" : \"temp desc\"\n}<\/code><\/pre>\n<\/div>\n<p>As you can see, you set the condition and sort options for your dataset. The column options remain the same, except the results of the data is now called &#8216;rows&#8217;, so change that option in the <code>Parsing Options &amp; Result Fields<\/code> section; you can keep the same column selectors as those stay the same.<\/p>\n<h2>Conclusion<\/h2>\n<p>Once you are done querying and adding in the data you like, you can of course save your dashboard for future use. And that&#8217;s all! If you have followed along, you have now been able to pair GridDB Cloud with Grafana Cloud to display your data.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With the release of a completely free GridDB Cloud, we wanted to pair its free service with Grafana Cloud, another free Cloud-based service which can get you up and running in seconds. For this article, we will walk through the steps of how to display time-series data from your GridDB Cloud shared instance to Grafana [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":31344,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[121],"tags":[],"class_list":["post-46823","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pairing GridDB Cloud with Grafana Cloud | GridDB: Open Source Time Series Database for IoT<\/title>\n<meta name=\"description\" content=\"With the release of a completely free GridDB Cloud, we wanted to pair its free service with Grafana Cloud, another free Cloud-based service which can get\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pairing GridDB Cloud with Grafana Cloud | GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"og:description\" content=\"With the release of a completely free GridDB Cloud, we wanted to pair its free service with Grafana Cloud, another free Cloud-based service which can get\" \/>\n<meta property=\"og:url\" content=\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/\" \/>\n<meta property=\"og:site_name\" content=\"GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/griddbcommunity\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-31T08:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-13T20:57:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.griddb.net\/wp-content\/uploads\/2025\/01\/griddb-grafana-clopud.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1160\" \/>\n\t<meta property=\"og:image:height\" content=\"653\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Israel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:site\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Israel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/\"},\"author\":{\"name\":\"Israel\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/c8a430e7156a9e10af73b1fbb46c2740\"},\"headline\":\"Pairing GridDB Cloud with Grafana Cloud\",\"datePublished\":\"2025-01-31T08:00:00+00:00\",\"dateModified\":\"2025-11-13T20:57:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/\"},\"wordCount\":1620,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2025\/01\/griddb-grafana-clopud.png\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/\",\"url\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/\",\"name\":\"Pairing GridDB Cloud with Grafana Cloud | GridDB: Open Source Time Series Database for IoT\",\"isPartOf\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2025\/01\/griddb-grafana-clopud.png\",\"datePublished\":\"2025-01-31T08:00:00+00:00\",\"dateModified\":\"2025-11-13T20:57:13+00:00\",\"description\":\"With the release of a completely free GridDB Cloud, we wanted to pair its free service with Grafana Cloud, another free Cloud-based service which can get\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2025\/01\/griddb-grafana-clopud.png\",\"contentUrl\":\"\/wp-content\/uploads\/2025\/01\/griddb-grafana-clopud.png\",\"width\":1160,\"height\":653},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#website\",\"url\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/\",\"name\":\"GridDB: Open Source Time Series Database for IoT\",\"description\":\"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL\",\"publisher\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization\",\"name\":\"Fixstars\",\"url\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"contentUrl\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"width\":200,\"height\":83,\"caption\":\"Fixstars\"},\"image\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/griddbcommunity\/\",\"https:\/\/x.com\/GridDBCommunity\",\"https:\/\/www.linkedin.com\/company\/griddb-by-toshiba\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/c8a430e7156a9e10af73b1fbb46c2740\",\"name\":\"Israel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4df8cfc155402a2928d11f80b0220037b8bd26c4f1b19c4598d826e0306e6307?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4df8cfc155402a2928d11f80b0220037b8bd26c4f1b19c4598d826e0306e6307?s=96&d=mm&r=g\",\"caption\":\"Israel\"},\"url\":\"https:\/\/www.griddb.net\/en\/author\/israel\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pairing GridDB Cloud with Grafana Cloud | GridDB: Open Source Time Series Database for IoT","description":"With the release of a completely free GridDB Cloud, we wanted to pair its free service with Grafana Cloud, another free Cloud-based service which can get","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:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/","og_locale":"en_US","og_type":"article","og_title":"Pairing GridDB Cloud with Grafana Cloud | GridDB: Open Source Time Series Database for IoT","og_description":"With the release of a completely free GridDB Cloud, we wanted to pair its free service with Grafana Cloud, another free Cloud-based service which can get","og_url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/","og_site_name":"GridDB: Open Source Time Series Database for IoT","article_publisher":"https:\/\/www.facebook.com\/griddbcommunity\/","article_published_time":"2025-01-31T08:00:00+00:00","article_modified_time":"2025-11-13T20:57:13+00:00","og_image":[{"width":1160,"height":653,"url":"https:\/\/www.griddb.net\/wp-content\/uploads\/2025\/01\/griddb-grafana-clopud.png","type":"image\/png"}],"author":"Israel","twitter_card":"summary_large_image","twitter_creator":"@GridDBCommunity","twitter_site":"@GridDBCommunity","twitter_misc":{"Written by":"Israel","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/#article","isPartOf":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/"},"author":{"name":"Israel","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/c8a430e7156a9e10af73b1fbb46c2740"},"headline":"Pairing GridDB Cloud with Grafana Cloud","datePublished":"2025-01-31T08:00:00+00:00","dateModified":"2025-11-13T20:57:13+00:00","mainEntityOfPage":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/"},"wordCount":1620,"commentCount":0,"publisher":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization"},"image":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2025\/01\/griddb-grafana-clopud.png","articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/","url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/","name":"Pairing GridDB Cloud with Grafana Cloud | GridDB: Open Source Time Series Database for IoT","isPartOf":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/#primaryimage"},"image":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2025\/01\/griddb-grafana-clopud.png","datePublished":"2025-01-31T08:00:00+00:00","dateModified":"2025-11-13T20:57:13+00:00","description":"With the release of a completely free GridDB Cloud, we wanted to pair its free service with Grafana Cloud, another free Cloud-based service which can get","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/pairing-griddb-cloud-with-grafana-cloud\/#primaryimage","url":"\/wp-content\/uploads\/2025\/01\/griddb-grafana-clopud.png","contentUrl":"\/wp-content\/uploads\/2025\/01\/griddb-grafana-clopud.png","width":1160,"height":653},{"@type":"WebSite","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#website","url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/","name":"GridDB: Open Source Time Series Database for IoT","description":"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL","publisher":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization","name":"Fixstars","url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/logo\/image\/","url":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","contentUrl":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","width":200,"height":83,"caption":"Fixstars"},"image":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/griddbcommunity\/","https:\/\/x.com\/GridDBCommunity","https:\/\/www.linkedin.com\/company\/griddb-by-toshiba"]},{"@type":"Person","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/c8a430e7156a9e10af73b1fbb46c2740","name":"Israel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4df8cfc155402a2928d11f80b0220037b8bd26c4f1b19c4598d826e0306e6307?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4df8cfc155402a2928d11f80b0220037b8bd26c4f1b19c4598d826e0306e6307?s=96&d=mm&r=g","caption":"Israel"},"url":"https:\/\/www.griddb.net\/en\/author\/israel\/"}]}},"_links":{"self":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/46823","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/comments?post=46823"}],"version-history":[{"count":1,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/46823\/revisions"}],"predecessor-version":[{"id":51481,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/46823\/revisions\/51481"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/media\/31344"}],"wp:attachment":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/media?parent=46823"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/categories?post=46823"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/tags?post=46823"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}