From f48d444a145684025e199845892523ecb886e995 Mon Sep 17 00:00:00 2001 From: Marcus Olsson Date: Wed, 15 Apr 2020 15:19:12 +0200 Subject: [PATCH] Remove guides (#23589) --- docs/sources/installation/behind_proxy.md | 166 ---------------------- docs/sources/menu.yaml | 9 -- docs/sources/tutorials/_index.md | 3 - docs/sources/tutorials/hubot_howto.md | 139 ------------------ docs/sources/tutorials/iis.md | 89 ------------ 5 files changed, 406 deletions(-) delete mode 100644 docs/sources/installation/behind_proxy.md delete mode 100755 docs/sources/tutorials/hubot_howto.md delete mode 100644 docs/sources/tutorials/iis.md diff --git a/docs/sources/installation/behind_proxy.md b/docs/sources/installation/behind_proxy.md deleted file mode 100644 index 4f0a80bfe8d..00000000000 --- a/docs/sources/installation/behind_proxy.md +++ /dev/null @@ -1,166 +0,0 @@ -+++ -title = "Running Grafana behind a reverse proxy" -description = "Guide for running Grafana behind a reverse proxy" -keywords = ["grafana", "nginx", "documentation", "haproxy", "reverse"] -type = "docs" -[menu.docs] -name = "Running Grafana behind a reverse proxy" -parent = "tutorials" -weight = 1 -+++ - - -# Running Grafana behind a reverse proxy - -It should be straight forward to get Grafana up and running behind a reverse proxy. But here are some things that you might run into. - -Links and redirects will not be rendered correctly unless you set the server.domain setting. -```bash -[server] -domain = foo.bar -``` - -To use sub *path* ex `http://foo.bar/grafana` make sure to include `/grafana` in the end of root_url. -Otherwise Grafana will not behave correctly. See example below. - -## Examples -Here are some example configurations for running Grafana behind a reverse proxy. - -### Grafana configuration (ex http://foo.bar) - -```bash -[server] -domain = foo.bar -``` - -### Nginx configuration - -Nginx is a high performance load balancer, web server and reverse proxy: https://www.nginx.com/ - -#### Nginx configuration with HTTP and Reverse Proxy enabled -```nginx -server { - listen 80; - root /usr/share/nginx/html; - index index.html index.htm; - - location / { - proxy_pass http://localhost:3000/; - } -} -``` - -### Grafana configuration with hosting HTTPS in Nginx (ex https://foo.bar) - -```bash -[server] -domain = foo.bar -root_url = https://foo.bar -``` - -#### Nginx configuration with HTTPS, Reverse Proxy, HTTP to HTTPS redirect and URL re-writes enabled - -Instead of http://foo.bar:3000/?orgId=1, this configuration will redirect all HTTP requests to HTTPS and re-write the URL so that port 3000 isn't visible and will result in https://foo.bar/?orgId=1 - -```nginx -server { - listen 80; - server_name foo.bar; - return 301 https://foo.bar$request_uri; -} - -server { - listen 443 ssl http2; - server_name foo.bar; - root /usr/share/nginx/html; - index index.html index.htm; - ssl_certificate /etc/nginx/certs/foo_bar.crt; - ssl_certificate_key /etc/nginx/certs/foo_bar_decrypted.key; - ssl_protocols TLSv1.2; - ssl_ciphers HIGH:!aNULL:!MD5; - - location / { - rewrite /(.*) /$1 break; - proxy_pass http://localhost:3000/; - proxy_redirect off; - proxy_set_header Host $host; - } -} -``` - -### Examples with **sub path** (ex http://foo.bar/grafana) - -#### Grafana configuration with sub path -```bash -[server] -domain = foo.bar -root_url = %(protocol)s://%(domain)s/grafana/ -``` - -#### Nginx configuration with sub path -```nginx -server { - listen 80; - root /usr/share/nginx/www; - index index.html index.htm; - - location /grafana/ { - proxy_pass http://localhost:3000/; - } -} -``` - -#### HAProxy configuration with sub path -```bash -frontend http-in - bind *:80 - use_backend grafana_backend if { path /grafana } or { path_beg /grafana/ } - -backend grafana_backend - # Requires haproxy >= 1.6 - http-request set-path %[path,regsub(^/grafana/?,/)] - - # Works for haproxy < 1.6 - # reqrep ^([^\ ]*\ /)grafana[/]?(.*) \1\2 - - server grafana localhost:3000 -``` - -### IIS URL Rewrite Rule (Windows) with Subpath - -IIS requires that the URL Rewrite module is installed. - -Given: - -- subpath `grafana` -- Grafana installed on `http://localhost:3000` -- server config: - - ```bash - [server] - domain = localhost:8080 - root_url = %(protocol)s://%(domain)s/grafana/ - ``` - -Create an Inbound Rule for the parent website (localhost:8080 in this example) in IIS Manager with the following settings: - -- pattern: `grafana(/)?(.*)` -- check the `Ignore case` checkbox -- rewrite URL set to `http://localhost:3000/{R:2}` -- check the `Append query string` checkbox -- check the `Stop processing of subsequent rules` checkbox - -This is the rewrite rule that is generated in the `web.config`: - -```xml - - - - - - - - -``` - -See the [tutorial on IIS URL Rewrites](http://docs.grafana.org/tutorials/iis/) for more in-depth instructions. diff --git a/docs/sources/menu.yaml b/docs/sources/menu.yaml index 1dd52ace031..ee83f2bd085 100644 --- a/docs/sources/menu.yaml +++ b/docs/sources/menu.yaml @@ -267,15 +267,6 @@ link: /enterprise/license-expiration/ - name: Export dashboard as PDF link: /enterprise/export-pdf/ -- name: Guides - link: /tutorials/ - children: - - name: Run Grafana behind a reverse proxy - link: /installation/behind_proxy/ - - name: Run Grafana with IIS Reverse Proxy on Windows - link: /tutorials/iis/ - - name: Integrate Hubot and Grafana - link: /tutorials/hubot_howto/ - name: Plugins link: /plugins/ children: diff --git a/docs/sources/tutorials/_index.md b/docs/sources/tutorials/_index.md index 66ff8c14531..8911fc4e15d 100755 --- a/docs/sources/tutorials/_index.md +++ b/docs/sources/tutorials/_index.md @@ -12,10 +12,7 @@ This section of the docs contains a series for tutorials and stack setup guides. ## Articles -- [Running Grafana behind a reverse proxy]({{< relref "../installation/behind_proxy.md" >}}) - [API Tutorial: How To Create API Tokens And Dashboards For A Specific Organization]({{< relref "api_org_token_howto.md" >}}) -- [How to Use IIS with URL Rewrite as a Reverse Proxy for Grafana on Windows]({{< relref "iis.md" >}}) -- [How to integrate Hubot with Grafana]({{< relref "hubot_howto.md" >}}) - [How to setup Grafana for high availability]({{< relref "ha_setup.md" >}}) ## External links diff --git a/docs/sources/tutorials/hubot_howto.md b/docs/sources/tutorials/hubot_howto.md deleted file mode 100755 index 162f9748f5b..00000000000 --- a/docs/sources/tutorials/hubot_howto.md +++ /dev/null @@ -1,139 +0,0 @@ -+++ -title = "How to integrate Hubot and Grafana" -type = "docs" -keywords = ["grafana", "tutorials", "hubot", "slack", "hipchat", "setup", "install", "config"] -[menu.docs] -parent = "tutorials" -weight = 10 -+++ - -# How to integrate Hubot with Grafana - -Grafana 2.0 shipped with a great feature that enables it to render any graph or panel to a PNG image. -No matter what data source you are using, the PNG image of the Graph will look the same -as it does in your browser. - -This guide will show you how to install and configure the [Hubot-Grafana](https://github.com/stephenyeargin/hubot-grafana) -plugin. This plugin allows you to tell hubot to render any dashboard or graph right from a channel in -Slack, Hipchat or Basecamp. The bot will respond with an image of the graph and a link that will -take you to the graph. - -> *Amazon S3 Required*: The hubot-grafana script will upload the rendered graphs to Amazon S3. This -> is so Hipchat and Slack can show them reliably (they require the image to be publicly available). - -
- -
- -## What is Hubot? - -[Hubot](https://hubot.github.com/) is an universal and extensible chat bot that can be used with many chat -services and has a huge library of third party plugins that allow you to automate anything from your -chat rooms. - -## Install Hubot - -Hubot is very easy to install and host. If you do not already have a bot up and running please -read the official [Getting Started With Hubot](https://hubot.github.com/docs/) guide. - -## Install Hubot-Grafana script - -In your Hubot project repo install the Grafana plugin using `npm`: -```bash -npm install hubot-grafana --save -``` -Edit the file external-scripts.json, and add hubot-grafana to the list of plugins. - -```json -[ -"hubot-pugme", -"hubot-shipit", -"hubot-grafana" -] -``` - -## Configure - -The `hubot-grafana` plugin requires a number of environment variables to be set in order to work properly. - -```bash -export HUBOT_GRAFANA_HOST=https://play.grafana.org -export HUBOT_GRAFANA_API_KEY=abcd01234deadbeef01234 -export HUBOT_GRAFANA_S3_BUCKET=mybucket -export HUBOT_GRAFANA_S3_ACCESS_KEY_ID=ABCDEF123456XYZ -export HUBOT_GRAFANA_S3_SECRET_ACCESS_KEY=aBcD01234dEaDbEef01234 -export HUBOT_GRAFANA_S3_PREFIX=graphs -export HUBOT_GRAFANA_S3_REGION=us-standard -``` - -### Grafana server side rendering - -The hubot plugin will take advantage of the Grafana server side rendering feature that can -render any panel on the server using phantomjs. Grafana ships with a phantomjs binary (Linux only). - -To verify that this feature works try the `Direct link to rendered image` link in the panel share dialog. -If you do not get an image when opening this link verify that the required font packages are installed for phantomjs to work. - -### Grafana API Key - -{{< docs-imagebox img="/img/docs/v2/orgdropdown_api_keys.png" max-width="150px" class="docs-image--right">}} - -You need to set the environment variable `HUBOT_GRAFANA_API_KEY` to a Grafana API Key. -You can add these from the API Keys page which you find in the Organization dropdown. - -### Amazon S3 - -The `S3` options are optional but for the images to work properly in services like Slack and Hipchat they need -to publicly available. By specifying the `S3` options the hubot-grafana script will publish the rendered -panel to `S3` and it will use that URL when it posts to Slack or Hipchat. - -## Hubot commands - -- `hubot graf list` - - Lists the available dashboards -- `hubot graf db graphite-carbon-metrics` - - Graph all panels in the dashboard -- `hubot graf db graphite-carbon-metrics:3` - - Graph only panel with id 3 of a particular dashboard -- `hubot graf db graphite-carbon-metrics:cpu` - - Graph only the panels containing "cpu" (case insensitive) in the title -- `hubot graf db graphite-carbon-metrics now-12hr` - - Get a dashboard with a window of 12 hours ago to now -- `hubot graf db graphite-carbon-metrics now-24hr now-12hr` - - Get a dashboard with a window of 24 hours ago to 12 hours ago -- `hubot graf db graphite-carbon-metrics:3 now-8d now-1d` - - Get only the third panel of a particular dashboard with a window of 8 days ago to yesterday -- `hubot graf db graphite-carbon-metrics host=carbon-a` - - Get a templated dashboard with the `$host` parameter set to `carbon-a` - -## Aliases - -Some of the hubot commands above can lengthy and you might have to remember the dashboard slug (url id). -If you have a few favorite graphs you want to be able check up on often (let's say from your mobile) you -can create hubot command aliases with the hubot script `hubot-alias`. - -Install it: - -```bash -npm i --save hubot-alias -``` - -Now add `hubot-alias` to the list of plugins in `external-scripts.json` and restart hubot. - -Now you can add an alias like this: - -- `hubot alias graf-lb=graf db loadbalancers:2 now-20m` - -
- Using the alias:
- -
- -## Summary - -Grafana is going to ship with integrated Slack and Hipchat features some day but you do -not have to wait for that. Grafana 2 shipped with a very clever server side rendering feature -that can render any panel to a png using phantomjs. The hubot plugin for Grafana is something -you can install and use today! - - diff --git a/docs/sources/tutorials/iis.md b/docs/sources/tutorials/iis.md deleted file mode 100644 index 6a2b6f7368b..00000000000 --- a/docs/sources/tutorials/iis.md +++ /dev/null @@ -1,89 +0,0 @@ -+++ -title = "Grafana with IIS Reverse Proxy on Windows" -type = "docs" -keywords = ["grafana", "tutorials", "proxy", "IIS", "windows"] -[menu.docs] -parent = "tutorials" -weight = 10 -+++ - -# How to Use IIS with URL Rewrite as a Reverse Proxy for Grafana on Windows - -If you want Grafana to be a subpath or subfolder under a website in IIS then the URL Rewrite module for ISS can be used to support this. - -Example: - -- Parent site: http://localhost:8080 -- Grafana: http://localhost:3000 - -Grafana as a subpath: http://localhost:8080/grafana - -## Setup - -If you have not already done it, then a requirement is to install URL Rewrite module for IIS. - -Download and install the URL Rewrite module for IIS: https://www.iis.net/downloads/microsoft/url-rewrite - -## Grafana Config - -The Grafana config can be set by creating a file named `custom.ini` in the `conf` subdirectory of your Grafana installation. See the [installation instructions](http://docs.grafana.org/installation/windows/#configure) for more details. - -Given that the subpath should be `grafana` and the parent site is `localhost:8080` then add this to the `custom.ini` config file: - - ```bash -[server] -domain = localhost:8080 -root_url = %(protocol)s://%(domain)s/grafana/ -``` - -Restart the Grafana server after changing the config file. - -## IIS Config - -1. Open the IIS Manager and click on the parent website -2. In the admin console for this website, double click on the URL Rewrite option: - {{< docs-imagebox img="/img/docs/tutorials/IIS_admin_console.png" max-width= "800px" >}} - -3. Click on the `Add Rule(s)...` action -4. Choose the Blank Rule template for an Inbound Rule - {{< docs-imagebox img="/img/docs/tutorials/IIS_add_inbound_rule.png" max-width= "800px" >}} - -5. Create an Inbound Rule for the parent website (localhost:8080 in this example) with the following settings: - - pattern: `grafana(/)?(.*)` - - check the `Ignore case` checkbox - - rewrite URL set to `http://localhost:3000/{R:2}` - - check the `Append query string` checkbox - - check the `Stop processing of subsequent rules` checkbox - - {{< docs-imagebox img="/img/docs/tutorials/IIS_url_rewrite.png" max-width= "800px" >}} - -Finally, navigate to `http://localhost:8080/grafana` (replace `http://localhost:8080` with your parent domain) and you should come to the Grafana login page. - -## Troubleshooting - -### 404 error - -When navigating to the Grafana URL (`http://localhost:8080/grafana` in the example above) and a `HTTP Error 404.0 - Not Found` error is returned then either: - -- the pattern for the Inbound Rule is incorrect. Edit the rule, click on the `Test pattern...` button, test the part of the URL after `http://localhost:8080/` and make sure it matches. For `grafana/login` the test should return 3 capture groups: {R:0}: `grafana` {R:1}: `/` and {R:2}: `login`. -- The `root_url` setting in the Grafana config file does not match the parent URL with subpath. - -### Grafana Website only shows text with no images or css - -{{< docs-imagebox img="/img/docs/tutorials/IIS_proxy_error.png" max-width= "800px" >}} - -1. The `root_url` setting in the Grafana config file does not match the parent URL with subpath. This could happen if the root_url is commented out by mistake (`;` is used for commenting out a line in .ini files): - - `; root_url = %(protocol)s://%(domain)s/grafana/` - -2. or if the subpath in the `root_url` setting does not match the subpath used in the pattern in the Inbound Rule in IIS: - - `root_url = %(protocol)s://%(domain)s/grafana/` - - pattern in Inbound Rule: `wrongsubpath(/)?(.*)` - -3. or if the Rewrite URL in the Inbound Rule is incorrect. - - The Rewrite URL should not include the subpath. - - The Rewrite URL should contain the capture group from the pattern matching that returns the part of the URL after the subpath. The pattern used above returns 3 capture groups and the third one {R:2} returns the part of the URL after `http://localhost:8080/grafana/`.