{"_id":"5a8fae0368264c001f20cc18","category":{"_id":"5a8fae0368264c001f20cc06","version":"5a8fae0268264c001f20cc00","project":"5633ebff7e9e880d00af1a53","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-12-23T19:13:48.702Z","from_sync":false,"order":1,"slug":"quickstart-guides","title":"Bonsai Heroku Basics"},"project":"5633ebff7e9e880d00af1a53","parentDoc":null,"user":"5633ec9b35355017003ca3f2","version":{"_id":"5a8fae0268264c001f20cc00","project":"5633ebff7e9e880d00af1a53","__v":4,"createdAt":"2018-02-23T06:00:34.961Z","releaseDate":"2018-02-23T06:00:34.961Z","categories":["5a8fae0268264c001f20cc01","5a8fae0268264c001f20cc02","5a8fae0368264c001f20cc03","5a8fae0368264c001f20cc04","5a8fae0368264c001f20cc05","5a8fae0368264c001f20cc06","5a8fae0368264c001f20cc07","5a8fae0368264c001f20cc08","5a8fae0368264c001f20cc09","5abaa7eb72d6dc0028a07bf3","5b8ee7842790f8000333f9ba","5b8ee8f244a21a00034b5cd9"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"2.0.0","version":"2.0"},"githubsync":"","__v":0,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-12-30T17:30:47.965Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":1,"body":"When you add Bonsai Elasticsearch to your Heroku application, you also get a cluster dashboard with several tabs and features to help you make the most of out of your cluster. Below is an overview of all the most important pieces of the dashboard, what they mean, and how you use them. Each section header maps to a tab in the cluster dashboard.\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"body\": \"Bonsai clusters can be provisioned in a couple of different ways. These instructions are for Heroku users. If you have an account on Bonsai.io or via Manifold, then you will not need these instructions. Instead, check out:\\n\\n* [Getting Started With Bonsai.io](doc:getting-started-with-bonsaiio) \\n* [Getting Started With Manifold](doc:getting-started-with-manifold)\",\n  \"title\": \"Hold up!\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Getting To The Cluster Dashboard\"\n}\n[/block]\nThere are two primary ways of accessing your cluster dashboard: via the command line/terminal, and through the Heroku dashboard.\n\n### Using the Command Line\n\nTo open the cluster dashboard via the command line, use the `heroku addons:open` command like so:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"$ heroku addons:open bonsai\\nOpening bonsai for sharp-mountain-4005…\",\n      \"language\": \"shell\"\n    }\n  ]\n}\n[/block]\n### Using the Heroku Dashboard\n\nYou can also access your dashboard through your Heroku app dashboard. Simply log into Heroku and open your app with the installed Bonsai Add-on. In this example image, the app is called `mycoolelasticsearchapp`:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/61606b8-heroku-dashboard-1.png\",\n        \"heroku-dashboard-1.png\",\n        2436,\n        762,\n        \"#f0f7f9\"\n      ]\n    }\n  ]\n}\n[/block]\nThis will open up the application dashboard. You may see Bonsai listed as one of the installed addons. If so, simply click on it to SSO into your cluster dashboard:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/0f812fb-heroku-dashboard-2a.png\",\n        \"heroku-dashboard-2a.png\",\n        1298,\n        1218,\n        \"#eaf1f3\"\n      ]\n    }\n  ]\n}\n[/block]\nIf Bonsai is not listed on the Overview, you can click on the Resources tab to show all Add-ons for your application.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/6a2df60-heroku-dashboard-2.png\",\n        \"heroku-dashboard-2.png\",\n        1292,\n        1248,\n        \"#eaf1f3\"\n      ]\n    }\n  ]\n}\n[/block]\nClick on the Bonsai Elasticsearch addon in the list of Add-ons:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/8610844-heroku-dashboard-3.png\",\n        \"heroku-dashboard-3.png\",\n        1876,\n        1094,\n        \"#ebf2f4\"\n      ]\n    }\n  ]\n}\n[/block]\nYou will now be SSO'd in to your cluster dashboard.\n[block:api-header]\n{\n  \"title\": \"The Cluster Dashboard\"\n}\n[/block]\nThe cluster dashboard presents an overview of your cluster's performance and state:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/61f50e7-heroku-bonsai-dashboard-1.png\",\n        \"heroku-bonsai-dashboard-1.png\",\n        1280,\n        1417,\n        \"#1f7991\"\n      ],\n      \"caption\": \"Cluster overview.\"\n    }\n  ]\n}\n[/block]\nThe overview page shows the basic details of your cluster. You can see your cluster's status (which will be green, yellow or red), the region the cluster is provisioned in, the plan level and the version of Elasticsearch it's running.\n\nYou will also see a couple URLs:\n\n* **Full-access URL**: This is the URL to your cluster. It will have a randomly generated username and password in it. You will use this URL to connect to your Elasticsearch cluster.\n* **Kibana URL**: This is the URL to your Kibana app. Kibana is a dashboard for exploring your Elasticsearch data; it is included with your Bonsai cluster free of charge. You can paste this link in your browser to be taken to your Kibana app, or you can click the link marked \"Access Kibana.\"\n\nBelow these links, you may see a section like this:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/38bc3ed-heroku-bonsai-dashboard-2.png\",\n        \"heroku-bonsai-dashboard-2.png\",\n        2382,\n        518,\n        \"#f3eeee\"\n      ],\n      \"caption\": \"If there is a version upgrade available, you will get a notification about it.\"\n    }\n  ]\n}\n[/block]\nIf there is an available version upgrade, you can take advantage of it by deleting your data and clicking the button to upgrade to the next version.\n\nBelow that, you will see a section marked \"Performance\":\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/6715c23-heroku-bonsai-dashboard-3.png\",\n        \"heroku-bonsai-dashboard-3.png\",\n        2396,\n        692,\n        \"#f3f3f3\"\n      ],\n      \"caption\": \"Statistics about your cluster's performance.\"\n    }\n  ]\n}\n[/block]\nThese boxes indicate a number of statistics about your cluster's performance:\n\n* **Number of Requests**: This is the total number of requests your cluster has served in the past 24 hours. If there is a `-`, then there is no data for it. The total is broken out by READ (which is search traffic), and WRITE (which is any operation that creates, updates or deletes data).\n* **Request Median**: This indicates your median latency. The first number is the median response time for all requests, READ is for search traffic, and WRITE is for any operation that creates, updates or deletes data. The median is an important metric because it's more resistant to long tail effects, and gives a better picture of overall performance than averages.\n* **99% of Requests** (may also be 95%): This shows percentiles for response times for all requests, as well as for READ and WRITE traffic. A percentile indicates how much of the data set falls below a particular value. For example, if the p99 time for a cluster is 100ms, that means 99% of all requests are occurring in 100ms or less. This is an important metric for benchmarking, especially with high traffic volumes.\n* **Hours Awake** (not all users): Some users will have an indicator for hours awake. This is a feature of our Sandbox plans, which must \"sleep\" for eight hours out of every 24. Paid plans do not have this limitation. Read more about this in [What Is Cluster Sleep?](doc:sleeping-clusters) \n\nFinally, you will see some metrics about usage:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/a5b45d6-heroku-bonsai-dashboard-4.png\",\n        \"heroku-bonsai-dashboard-4.png\",\n        1200,\n        234,\n        \"#f3f3f3\"\n      ],\n      \"caption\": \"Indicators showing actual usage versus plan limitations.\"\n    }\n  ]\n}\n[/block]\nThe display shows your actual usage vs the limits of your plan for a number of metrics:\n\n* **Docs**: This is the total number of documents you have in your index. We're counting _all_ documents, which can sometimes lead to confusion when nested documents are involved. If you have a parent document with three child documents, that counts as four documents, not one. This can be a source of confusion, as Elasticsearch may report different counts based on the endpoint queried.\n* **Data**: This is the disk footprint of your cluster, or the amount of data your cluster is occupying on the servers. \n* **Shards**: This is the number of shards in your cluster. We're counting both primary and replica shards in this display. \n* **Memory**: This is the amount of memory your cluster is occupying on the server.\n[block:api-header]\n{\n  \"title\": \"Metrics\"\n}\n[/block]\nThis tab shows detailed analytics about your cluster's traffic. It will look something like this:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/07e770b-heroku-bonsai-dashboard-5.png\",\n        \"heroku-bonsai-dashboard-5.png\",\n        1280,\n        1306,\n        \"#e8eaea\"\n      ],\n      \"caption\": \"The metrics dashboard. A substantial amount of performance and activity statistics are in here.\"\n    }\n  ]\n}\n[/block]\nThere is a lot to unpack here, and we've drafted an entire documentation page for it [here](doc:cluster-metrics).\n[block:api-header]\n{\n  \"title\": \"Interactive Console\"\n}\n[/block]\nThe Interactive Console is a web-based UI for interacting with your cluster. Think of it like a user-friendly version of `curl`. If you want to try out some queries or experiment with the Elasticsearch API, this is a great place to start:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/833f181-heroku-bonsai-dashboard-6.gif\",\n        \"heroku-bonsai-dashboard-6.gif\",\n        834,\n        546,\n        \"#dddee5\"\n      ],\n      \"caption\": \"The Interactive Console allows users to engage with their cluster via a UI.\"\n    }\n  ]\n}\n[/block]\nThe UI allows the user to select an HTTP verb, enter an endpoint and run the command. The results are shown in the navy console on the right. The box below the verb and endpoint boxes can be used to create a request body.\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"body\": \"Some places in the Elasticsearch documentation suggest using a GET request even when passing a request body. An example would be something like:\\n\\n```\\nGET /_search\\n{\\n    \\\"query\\\" : {\\n        \\\"term\\\" : { \\\"user\\\" : \\\"kimchy\\\" }\\n    }\\n}\\n```\\n\\nWithout getting bogged down in pedantry, GET is a questionable verb to use in this case. A POST is more appropriate. It's what the UI is assuming anyway. If you paste in a request body and use a GET verb, the body will be ignored.\",\n  \"title\": \"Beware\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Logs\"\n}\n[/block]\nThe next tab is Streaming Logs. This will show a real-time stream of all the data hitting your cluster. There is also a tab for the Top 20 Slow Requests. This will begin to populate if requests slow down measurably.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/daf29f5-heroku-bonsai-dashboard-7.gif\",\n        \"heroku-bonsai-dashboard-7.gif\",\n        1206,\n        472,\n        \"#e4e5e3\"\n      ],\n      \"caption\": \"Streaming logs are available as a beta feature.\"\n    }\n  ]\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"This feature is still in beta and can sometimes have issues. It also does not show a history. We're working on making it better though!\",\n  \"title\": \"Beta!\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Notification Settings\"\n}\n[/block]\nBy default, Bonsai will send notices about your cluster to the owner of the Heroku app. In some cases, this is an unmonitored inbox, or is not one that the primary developers can view. You can add email addresses to receive critical information about your cluster's performance, outages, etc here.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/6809656-heroku-bonsai-dashboard-8a.png\",\n        \"heroku-bonsai-dashboard-8a.png\",\n        2508,\n        1002,\n        \"#f4f4f4\"\n      ]\n    }\n  ]\n}\n[/block]\nTo add a user to the notification group, simply enter their email in the Email box and click \"Subscribe to cluster notices.\"\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/20726b2-heroku-bonsai-dashboard-8b.png\",\n        \"heroku-bonsai-dashboard-8b.png\",\n        1064,\n        266,\n        \"#eff2f3\"\n      ]\n    }\n  ]\n}\n[/block]\nThe user will be listed in the group:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/07c728d-heroku-bonsai-dashboard-8c.png\",\n        \"heroku-bonsai-dashboard-8c.png\",\n        2402,\n        780,\n        \"#f4f4f4\"\n      ]\n    }\n  ]\n}\n[/block]\nTo remove a user, simply click on the trash can icon next to their name.\n[block:api-header]\n{\n  \"title\": \"Access\"\n}\n[/block]\nThis section of the cluster dashboard offers a handful of data protection tools. These are to keep your data and your cluster safe. \n\n### Allowing Read-Only Access\n\nThe first section allows you to enable read-only access to your cluster (production grade plans only):\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/41808ad-heroku-bonsai-dashboard-9.png\",\n        \"heroku-bonsai-dashboard-9.png\",\n        1528,\n        294,\n        \"#3a6f8f\"\n      ],\n      \"caption\": \"Clusters can be set to allow searches without authentication.\"\n    }\n  ]\n}\n[/block]\nBy enabling read-only access, anyone with your _un-authed_ cluster URL can read the data, but creating, updating and destroying data will still require the randomized credentials. \n\nThe primary use case is if your application is using client-side searching. For example, a JavaScript that searches your cluster based on user actions (like autocomplete). Because this happens on the client side, any user could theoretically see your cluster URL. If your authentication credentials are in that URL, a malicious user could modify or delete your data.\n\nThis feature allows you to safely use your cluster URL in client-side applications. Even if a user sniffs the URL, he or she cannot do anything to your data.\n\n\n### Regenerating Your Default Credentials\n\nYou would want to regenerate your default credentials if your fully-qualified URL has been linked (say, if somehow was copy-pasted into an email or, perish the thought, StackOverflow). To do that, simply click the \"Regenerate Credentials\" button. This will instantly regenerate a new, randomized authentication pair.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/4b65a82-heroku-bonsai-dashboard-14.gif\",\n        \"heroku-bonsai-dashboard-14.gif\",\n        1228,\n        548,\n        \"#f3f3e9\"\n      ],\n      \"caption\": \"Regenerating the default credentials automatically generates a new pair.\"\n    }\n  ]\n}\n[/block]","excerpt":"Managing the Bonsai addon options for Heroku applications.","slug":"bonsai-elasticsearch-dashboard","type":"basic","title":"Managing Your Cluster"}

Managing Your Cluster

Managing the Bonsai addon options for Heroku applications.

When you add Bonsai Elasticsearch to your Heroku application, you also get a cluster dashboard with several tabs and features to help you make the most of out of your cluster. Below is an overview of all the most important pieces of the dashboard, what they mean, and how you use them. Each section header maps to a tab in the cluster dashboard. [block:callout] { "type": "warning", "body": "Bonsai clusters can be provisioned in a couple of different ways. These instructions are for Heroku users. If you have an account on Bonsai.io or via Manifold, then you will not need these instructions. Instead, check out:\n\n* [Getting Started With Bonsai.io](doc:getting-started-with-bonsaiio) \n* [Getting Started With Manifold](doc:getting-started-with-manifold)", "title": "Hold up!" } [/block] [block:api-header] { "title": "Getting To The Cluster Dashboard" } [/block] There are two primary ways of accessing your cluster dashboard: via the command line/terminal, and through the Heroku dashboard. ### Using the Command Line To open the cluster dashboard via the command line, use the `heroku addons:open` command like so: [block:code] { "codes": [ { "code": "$ heroku addons:open bonsai\nOpening bonsai for sharp-mountain-4005…", "language": "shell" } ] } [/block] ### Using the Heroku Dashboard You can also access your dashboard through your Heroku app dashboard. Simply log into Heroku and open your app with the installed Bonsai Add-on. In this example image, the app is called `mycoolelasticsearchapp`: [block:image] { "images": [ { "image": [ "https://files.readme.io/61606b8-heroku-dashboard-1.png", "heroku-dashboard-1.png", 2436, 762, "#f0f7f9" ] } ] } [/block] This will open up the application dashboard. You may see Bonsai listed as one of the installed addons. If so, simply click on it to SSO into your cluster dashboard: [block:image] { "images": [ { "image": [ "https://files.readme.io/0f812fb-heroku-dashboard-2a.png", "heroku-dashboard-2a.png", 1298, 1218, "#eaf1f3" ] } ] } [/block] If Bonsai is not listed on the Overview, you can click on the Resources tab to show all Add-ons for your application. [block:image] { "images": [ { "image": [ "https://files.readme.io/6a2df60-heroku-dashboard-2.png", "heroku-dashboard-2.png", 1292, 1248, "#eaf1f3" ] } ] } [/block] Click on the Bonsai Elasticsearch addon in the list of Add-ons: [block:image] { "images": [ { "image": [ "https://files.readme.io/8610844-heroku-dashboard-3.png", "heroku-dashboard-3.png", 1876, 1094, "#ebf2f4" ] } ] } [/block] You will now be SSO'd in to your cluster dashboard. [block:api-header] { "title": "The Cluster Dashboard" } [/block] The cluster dashboard presents an overview of your cluster's performance and state: [block:image] { "images": [ { "image": [ "https://files.readme.io/61f50e7-heroku-bonsai-dashboard-1.png", "heroku-bonsai-dashboard-1.png", 1280, 1417, "#1f7991" ], "caption": "Cluster overview." } ] } [/block] The overview page shows the basic details of your cluster. You can see your cluster's status (which will be green, yellow or red), the region the cluster is provisioned in, the plan level and the version of Elasticsearch it's running. You will also see a couple URLs: * **Full-access URL**: This is the URL to your cluster. It will have a randomly generated username and password in it. You will use this URL to connect to your Elasticsearch cluster. * **Kibana URL**: This is the URL to your Kibana app. Kibana is a dashboard for exploring your Elasticsearch data; it is included with your Bonsai cluster free of charge. You can paste this link in your browser to be taken to your Kibana app, or you can click the link marked "Access Kibana." Below these links, you may see a section like this: [block:image] { "images": [ { "image": [ "https://files.readme.io/38bc3ed-heroku-bonsai-dashboard-2.png", "heroku-bonsai-dashboard-2.png", 2382, 518, "#f3eeee" ], "caption": "If there is a version upgrade available, you will get a notification about it." } ] } [/block] If there is an available version upgrade, you can take advantage of it by deleting your data and clicking the button to upgrade to the next version. Below that, you will see a section marked "Performance": [block:image] { "images": [ { "image": [ "https://files.readme.io/6715c23-heroku-bonsai-dashboard-3.png", "heroku-bonsai-dashboard-3.png", 2396, 692, "#f3f3f3" ], "caption": "Statistics about your cluster's performance." } ] } [/block] These boxes indicate a number of statistics about your cluster's performance: * **Number of Requests**: This is the total number of requests your cluster has served in the past 24 hours. If there is a `-`, then there is no data for it. The total is broken out by READ (which is search traffic), and WRITE (which is any operation that creates, updates or deletes data). * **Request Median**: This indicates your median latency. The first number is the median response time for all requests, READ is for search traffic, and WRITE is for any operation that creates, updates or deletes data. The median is an important metric because it's more resistant to long tail effects, and gives a better picture of overall performance than averages. * **99% of Requests** (may also be 95%): This shows percentiles for response times for all requests, as well as for READ and WRITE traffic. A percentile indicates how much of the data set falls below a particular value. For example, if the p99 time for a cluster is 100ms, that means 99% of all requests are occurring in 100ms or less. This is an important metric for benchmarking, especially with high traffic volumes. * **Hours Awake** (not all users): Some users will have an indicator for hours awake. This is a feature of our Sandbox plans, which must "sleep" for eight hours out of every 24. Paid plans do not have this limitation. Read more about this in [What Is Cluster Sleep?](doc:sleeping-clusters) Finally, you will see some metrics about usage: [block:image] { "images": [ { "image": [ "https://files.readme.io/a5b45d6-heroku-bonsai-dashboard-4.png", "heroku-bonsai-dashboard-4.png", 1200, 234, "#f3f3f3" ], "caption": "Indicators showing actual usage versus plan limitations." } ] } [/block] The display shows your actual usage vs the limits of your plan for a number of metrics: * **Docs**: This is the total number of documents you have in your index. We're counting _all_ documents, which can sometimes lead to confusion when nested documents are involved. If you have a parent document with three child documents, that counts as four documents, not one. This can be a source of confusion, as Elasticsearch may report different counts based on the endpoint queried. * **Data**: This is the disk footprint of your cluster, or the amount of data your cluster is occupying on the servers. * **Shards**: This is the number of shards in your cluster. We're counting both primary and replica shards in this display. * **Memory**: This is the amount of memory your cluster is occupying on the server. [block:api-header] { "title": "Metrics" } [/block] This tab shows detailed analytics about your cluster's traffic. It will look something like this: [block:image] { "images": [ { "image": [ "https://files.readme.io/07e770b-heroku-bonsai-dashboard-5.png", "heroku-bonsai-dashboard-5.png", 1280, 1306, "#e8eaea" ], "caption": "The metrics dashboard. A substantial amount of performance and activity statistics are in here." } ] } [/block] There is a lot to unpack here, and we've drafted an entire documentation page for it [here](doc:cluster-metrics). [block:api-header] { "title": "Interactive Console" } [/block] The Interactive Console is a web-based UI for interacting with your cluster. Think of it like a user-friendly version of `curl`. If you want to try out some queries or experiment with the Elasticsearch API, this is a great place to start: [block:image] { "images": [ { "image": [ "https://files.readme.io/833f181-heroku-bonsai-dashboard-6.gif", "heroku-bonsai-dashboard-6.gif", 834, 546, "#dddee5" ], "caption": "The Interactive Console allows users to engage with their cluster via a UI." } ] } [/block] The UI allows the user to select an HTTP verb, enter an endpoint and run the command. The results are shown in the navy console on the right. The box below the verb and endpoint boxes can be used to create a request body. [block:callout] { "type": "warning", "body": "Some places in the Elasticsearch documentation suggest using a GET request even when passing a request body. An example would be something like:\n\n```\nGET /_search\n{\n \"query\" : {\n \"term\" : { \"user\" : \"kimchy\" }\n }\n}\n```\n\nWithout getting bogged down in pedantry, GET is a questionable verb to use in this case. A POST is more appropriate. It's what the UI is assuming anyway. If you paste in a request body and use a GET verb, the body will be ignored.", "title": "Beware" } [/block] [block:api-header] { "title": "Logs" } [/block] The next tab is Streaming Logs. This will show a real-time stream of all the data hitting your cluster. There is also a tab for the Top 20 Slow Requests. This will begin to populate if requests slow down measurably. [block:image] { "images": [ { "image": [ "https://files.readme.io/daf29f5-heroku-bonsai-dashboard-7.gif", "heroku-bonsai-dashboard-7.gif", 1206, 472, "#e4e5e3" ], "caption": "Streaming logs are available as a beta feature." } ] } [/block] [block:callout] { "type": "info", "body": "This feature is still in beta and can sometimes have issues. It also does not show a history. We're working on making it better though!", "title": "Beta!" } [/block] [block:api-header] { "title": "Notification Settings" } [/block] By default, Bonsai will send notices about your cluster to the owner of the Heroku app. In some cases, this is an unmonitored inbox, or is not one that the primary developers can view. You can add email addresses to receive critical information about your cluster's performance, outages, etc here. [block:image] { "images": [ { "image": [ "https://files.readme.io/6809656-heroku-bonsai-dashboard-8a.png", "heroku-bonsai-dashboard-8a.png", 2508, 1002, "#f4f4f4" ] } ] } [/block] To add a user to the notification group, simply enter their email in the Email box and click "Subscribe to cluster notices." [block:image] { "images": [ { "image": [ "https://files.readme.io/20726b2-heroku-bonsai-dashboard-8b.png", "heroku-bonsai-dashboard-8b.png", 1064, 266, "#eff2f3" ] } ] } [/block] The user will be listed in the group: [block:image] { "images": [ { "image": [ "https://files.readme.io/07c728d-heroku-bonsai-dashboard-8c.png", "heroku-bonsai-dashboard-8c.png", 2402, 780, "#f4f4f4" ] } ] } [/block] To remove a user, simply click on the trash can icon next to their name. [block:api-header] { "title": "Access" } [/block] This section of the cluster dashboard offers a handful of data protection tools. These are to keep your data and your cluster safe. ### Allowing Read-Only Access The first section allows you to enable read-only access to your cluster (production grade plans only): [block:image] { "images": [ { "image": [ "https://files.readme.io/41808ad-heroku-bonsai-dashboard-9.png", "heroku-bonsai-dashboard-9.png", 1528, 294, "#3a6f8f" ], "caption": "Clusters can be set to allow searches without authentication." } ] } [/block] By enabling read-only access, anyone with your _un-authed_ cluster URL can read the data, but creating, updating and destroying data will still require the randomized credentials. The primary use case is if your application is using client-side searching. For example, a JavaScript that searches your cluster based on user actions (like autocomplete). Because this happens on the client side, any user could theoretically see your cluster URL. If your authentication credentials are in that URL, a malicious user could modify or delete your data. This feature allows you to safely use your cluster URL in client-side applications. Even if a user sniffs the URL, he or she cannot do anything to your data. ### Regenerating Your Default Credentials You would want to regenerate your default credentials if your fully-qualified URL has been linked (say, if somehow was copy-pasted into an email or, perish the thought, StackOverflow). To do that, simply click the "Regenerate Credentials" button. This will instantly regenerate a new, randomized authentication pair. [block:image] { "images": [ { "image": [ "https://files.readme.io/4b65a82-heroku-bonsai-dashboard-14.gif", "heroku-bonsai-dashboard-14.gif", 1228, 548, "#f3f3e9" ], "caption": "Regenerating the default credentials automatically generates a new pair." } ] } [/block]