From 1fbb7e79ebf8f85acd3d057411a994265c9d04aa Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Wed, 8 Jun 2022 21:17:10 +0800 Subject: [PATCH] docs: rewrite cloud doc grafana (#13617) * docs: describe how grafana connect cloud * docs: update latest version * docs: describe how grafana to connect cloud * docs: refine 08-third-party/01-grafana.md * docs: update add_datasource4.webp * docs: refine 08-third-party/01-grafana.md * docs: update two pics * docs: refine 01-grafana.md * docs: rewrite grafana doc for cloud --- docs-en/08-third-party/01-grafana.md | 54 ++++++------------ .../verifying-tdengine-datasource.webp | Bin 0 -> 37006 bytes 2 files changed, 19 insertions(+), 35 deletions(-) create mode 100644 docs-en/08-third-party/grafana/verifying-tdengine-datasource.webp diff --git a/docs-en/08-third-party/01-grafana.md b/docs-en/08-third-party/01-grafana.md index daf06f8ff1..c997fe1b00 100644 --- a/docs-en/08-third-party/01-grafana.md +++ b/docs-en/08-third-party/01-grafana.md @@ -11,58 +11,42 @@ You can learn more about using the TDengine plugin on [GitHub](https://github.co TDengine currently supports Grafana versions 7.5 and above. Users can go to the Grafana official website to download the installation package and execute the installation according to the current operating system. The download address is as follows: . -## Configuring Grafana +## Install TDengine data source plugin -Follow the installation steps in [Grafana](https://grafana.com/grafana/plugins/tdengine-datasource/?tab=installation) with the [``grafana-cli`` command-line tool](https://grafana.com/docs/grafana/latest/administration/cli/) for plugin installation. +Please copy the following shell commands to export `TDENGINE_CLOUD_URL` and `TDENGINE_CLOUD_TOKEN` for the data source installation. + +Run below script from Linux terminal to install TDengine data source plugin. ```bash -grafana-cli plugins install tdengine-datasource -# with sudo -sudo -u grafana grafana-cli plugins install tdengine-datasource +bash -c "$(curl -fsSL https://raw.githubusercontent.com/taosdata/grafanaplugin/master/install.sh)" ``` -Alternatively, you can manually download the .zip file from [GitHub](https://github.com/taosdata/grafanaplugin/releases/tag/latest) or [Grafana](https://grafana.com/grafana/plugins/tdengine-datasource/?tab=installation) and unpack it into your grafana plugins directory. +The script will output download and installation progress. -```bash -GF_VERSION=3.2.3 -# from GitHub -wget https://github.com/taosdata/grafanaplugin/releases/download/v$GF_VERSION/tdengine-datasource-$GF_VERSION.zip -# from Grafana -wget -O tdengine-datasource-$GF_VERSION.zip https://grafana.com/api/plugins/tdengine-datasource/versions/$GF_VERSION/download ``` +using tdengine-datasource plugin 3.2.4 +--2022-06-08 20:46:34-- https://github.com/taosdata/grafanaplugin/releases/download/v3.2.4/tdengine-datasource-3.2.4.zip +... +tdengine-datasource-3.2.4.zip 100%[================================================================================================================>] 29.34M 842KB/s in 35s +127.0.0.1 - - [08/Jun/2022 20:47:12] "GET /tdengine-datasource-3.2.4.zip HTTP/1.1" 200 - + ✔ Downloaded tdengine-datasource v3.2.4 zip successfully -Take CentOS 7.2 for example, extract the plugin package to /var/lib/grafana/plugins directory, and restart grafana. +Please restart Grafana after installing plugins. Refer to Grafana documentation for instructions if necessary. -```bash -sudo unzip tdengine-datasource-$GF_VERSION.zip -d /var/lib/grafana/plugins/ +* Provisioning /etc/grafana/provisioning/datasources/TDengine.yaml ``` -If Grafana is running in a Docker environment, the TDengine plugin can be automatically installed and set up using the following environment variable settings: +After that completed, please restart grafana-server. ```bash -GF_INSTALL_PLUGINS=tdengine-datasource +sudo systemctl restart grafana-server.service ``` -Users can log in to the Grafana server (initial username/password: admin/admin) directly through the URL `http://localhost:3000` and add a datasource through `Configuration -> Data Sources` on the left side, as shown in the following figure. - -![Grafana add datasource 1](./grafana/add_datasource1.webp) - -Click `Add data source` to enter the Add data source page, and enter TDengine in the query box to add it, as shown in the following figure. - -![Grafana add datasource 2](./grafana/add_datasource2.webp) - -Enter the datasource configuration page, and follow the default prompts to modify the corresponding configuration. - -![Grafana add database 3](./grafana/add_datasource3.webp) - -- Host: Please fill the URL string the TDengine Cloud provides. -- User: leave it as default. -- Password: leave it as default. -- Cloud Token: Please fill the token string the TDengine Cloud provides. +## Verifying Grafana and TDengine data source -Click `Save & Test` to test. You should see a success message if the test worked. +Users can log in to the Grafana server (initial username/password: admin/admin) directly through the URL `http://localhost:3000`. Click `Configuration -> Data Sources` on the left side. Then click `Test` button to verify if TDengine data source works. You should see a success message if the test worked. -![Grafana add database 4](./grafana/add_datasource4.webp) +![Verifying TDengine data source](./grafana/verifying-tdengine-datasource.webp) ## Using Grafana diff --git a/docs-en/08-third-party/grafana/verifying-tdengine-datasource.webp b/docs-en/08-third-party/grafana/verifying-tdengine-datasource.webp new file mode 100644 index 0000000000000000000000000000000000000000..361203540a42375b1575c9a92eb3c39d21997311 GIT binary patch literal 37006 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 EFTt;GwEzGB literal 0 HcmV?d00001 -- GitLab