{"_id":"5ae22b12b915550003bee751","project":"5633ebff7e9e880d00af1a53","version":{"_id":"5a8fae0268264c001f20cc00","project":"5633ebff7e9e880d00af1a53","__v":2,"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"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"2.0.0","version":"2.0"},"category":{"_id":"5abaa7eb72d6dc0028a07bf3","project":"5633ebff7e9e880d00af1a53","version":"5a8fae0268264c001f20cc00","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2018-03-27T20:22:03.555Z","from_sync":false,"order":2,"slug":"bonsai-manifold-basics","title":"Bonsai Manifold Basics"},"user":"5637d336aa96490d00a64f81","githubsync":"","__v":0,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2018-04-26T19:40:02.873Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":1,"body":"If you have an account with [Manifold.co](manifold.co) and have provisioned an Elasticsearch cluster with Bonsai through their marketplace, you can still manage your cluster settings just like our direct customers. Read on to learn about what your cluster dashboard with Manifold offers.\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"body\": \"Bonsai clusters can be provisioned in a couple of different ways. These instructions are for Manifold users. If you have an account on Bonsai.io or via Heroku, 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 Heroku](doc:getting-started-with-heroku)\",\n  \"title\": \"Hold up!\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Overview\"\n}\n[/block]\n\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/a15fc3a-manifold-bonsai-dashboard-1.png\",\n        \"manifold-bonsai-dashboard-1.png\",\n        1280,\n        799,\n        \"#eff0ef\"\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 something called the \"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\nBelow these links, you may see a section like this:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/591b52d-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/415109f-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/5ab0e0c-heroku-bonsai-dashboard-4.png\",\n        \"heroku-bonsai-dashboard-4.png\",\n        1200,\n        234,\n        \"#f3f3f3\"\n      ]\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 3 child documents, that counts as 4 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\": \"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/fc94195-manifold-bonsai-dashboard-3.gif\",\n        \"manifold-bonsai-dashboard-3.gif\",\n        1226,\n        578,\n        \"#e6e6e6\"\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/b1a99ce-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]","excerpt":"How to manage your Bonsai addon through the Manifold marketplace.","slug":"managing-your-cluster-1","type":"basic","title":"Managing Your Cluster"}

Managing Your Cluster

How to manage your Bonsai addon through the Manifold marketplace.

If you have an account with [Manifold.co](manifold.co) and have provisioned an Elasticsearch cluster with Bonsai through their marketplace, you can still manage your cluster settings just like our direct customers. Read on to learn about what your cluster dashboard with Manifold offers. [block:callout] { "type": "warning", "body": "Bonsai clusters can be provisioned in a couple of different ways. These instructions are for Manifold users. If you have an account on Bonsai.io or via Heroku, 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 Heroku](doc:getting-started-with-heroku)", "title": "Hold up!" } [/block] [block:api-header] { "title": "Overview" } [/block] [block:image] { "images": [ { "image": [ "https://files.readme.io/a15fc3a-manifold-bonsai-dashboard-1.png", "manifold-bonsai-dashboard-1.png", 1280, 799, "#eff0ef" ], "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 something called the "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. Below these links, you may see a section like this: [block:image] { "images": [ { "image": [ "https://files.readme.io/591b52d-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/415109f-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/5ab0e0c-heroku-bonsai-dashboard-4.png", "heroku-bonsai-dashboard-4.png", 1200, 234, "#f3f3f3" ] } ] } [/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 3 child documents, that counts as 4 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": "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/fc94195-manifold-bonsai-dashboard-3.gif", "manifold-bonsai-dashboard-3.gif", 1226, 578, "#e6e6e6" ], "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/b1a99ce-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]