{"id":158,"date":"2022-10-18T03:55:12","date_gmt":"2022-08-31T15:56:14","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/index.php\/2023\/11\/30\/%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana\/"},"modified":"2025-08-01T01:37:41","modified_gmt":"2025-07-31T17:37:41","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana\/","title":{"rendered":"Ubuntu 20.04\u5b89\u88c5\u4e0e\u5b89\u5168\u52a0\u56faGrafana\uff1a\u5b8c\u6574\u6307\u5357"},"content":{"rendered":"<h3>\u5f15\u8a00<\/p>\n<p>Grafana \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u6570\u636e\u53ef\u89c6\u5316\u548c\u76d1\u63a7\u5de5\u5177\uff0c\u53ef\u4ee5\u4e0e Prometheus\u3001InfluxDB\u3001Graphite \u548c ElasticSearch \u7b49\u590d\u6742\u6570\u636e\u6e90\u96c6\u6210\u3002\u901a\u8fc7\u5185\u7f6e\u7684\u5171\u4eab\u529f\u80fd\uff0cGrafana \u5141\u8bb8\u4f60\u521b\u5efa\u8b66\u62a5\u3001\u901a\u77e5\u548c\u5373\u5e2d\u8fc7\u6ee4\u5668\uff0c\u540c\u65f6\u66f4\u52a0\u4fbf\u4e8e\u4e0e\u56e2\u961f\u6210\u5458\u5408\u4f5c\u3002<\/p>\n<p>\u5728\u8fd9\u4e2a\u6559\u7a0b\u4e2d\uff0c\u60a8\u5c06\u5b89\u88c5Grafana\u5e76\u4f7f\u7528SSL\u8bc1\u4e66\u548cNginx\u53cd\u5411\u4ee3\u7406\u786e\u4fdd\u5176\u5b89\u5168\u3002\u4e00\u65e6\u8bbe\u7f6e\u597dGrafana\uff0c\u60a8\u5c06\u53ef\u4ee5\u901a\u8fc7GitHub\u914d\u7f6e\u7528\u6237\u8ba4\u8bc1\uff0c\u4ece\u800c\u66f4\u597d\u5730\u7ec4\u7ec7\u60a8\u7684\u56e2\u961f\u6743\u9650\u3002<\/p>\n<h2>\u5148\u51b3\u6761\u4ef6<\/p>\n<p>\u8981\u8ddf\u968f\u8fd9\u4e2a\u6559\u7a0b\uff0c\u4f60\u9700\u8981\uff1a<\/p>\n<ul class=\"post-ul\">\n<li>One Ubuntu 20.04 server set up by following the Initial Server Setup Guide for Ubuntu 20.04, including a non-root user with sudo privileges and a firewall configured with ufw.<\/li>\n<li>A fully registered domain name. This tutorial uses your_domain throughout. You can purchase a domain name on Namecheap, get one for free on Freenom, or use the domain registrar of your choice.<\/li>\n<li>The following DNS records set up for your server. You can follow the How To Add Domains article for details on how to add them if you are using Silicon Cloud.\n<p>An A record with your_domain pointing to your server\u2019s public IP address.<br \/>\nAn A record with www.your_domain pointing to your server\u2019s public IP address.<\/p>\n<\/li>\n<li>Nginx set up by following the How To Install Nginx on Ubuntu 20.04 tutorial, including a server block for your domain.<\/li>\n<li>An Nginx server block with Let\u2019s Encrypt configured, which you can set up by following How To Secure Nginx with Let\u2019s Encrypt on Ubuntu 20.04.<\/li>\n<li>Optionally, to set up GitHub authentication, you\u2019ll need a GitHub account associated with an organization.<\/li>\n<\/ul>\n<h2>\u7b2c\u4e00\u6b65\u2014\u5b89\u88c5Grafana<\/p>\n<p>\u5728\u8fd9\u7b2c\u4e00\u6b65\u4e2d\uff0c\u4f60\u5c06\u5728\u4f60\u7684Ubuntu 20.04\u670d\u52a1\u5668\u4e0a\u5b89\u88c5Grafana\u3002\u4f60\u53ef\u4ee5\u901a\u8fc7\u76f4\u63a5\u4ece\u5b98\u65b9\u7f51\u7ad9\u4e0b\u8f7d\u6216\u901a\u8fc7APT\u5b58\u50a8\u5e93\u5b89\u88c5Grafana\u3002\u7531\u4e8eAPT\u5b58\u50a8\u5e93\u4f7f\u5f97\u5b89\u88c5\u548c\u7ba1\u7406Grafana\u7684\u66f4\u65b0\u66f4\u52a0\u5bb9\u6613\uff0c\u6240\u4ee5\u5728\u672c\u6559\u7a0b\u4e2d\u4f60\u5c06\u4f7f\u7528\u8be5\u65b9\u6cd5\u5b89\u88c5\u3002<\/p>\n<p>\u4f7f\u7528wget\u547d\u4ee4\u4e0b\u8f7dGrafana\u7684GPG\u5bc6\u94a5\uff0c\u7136\u540e\u5c06\u8f93\u51fa\u5bfc\u5165apt-key\u3002\u8fd9\u5c06\u5c06\u8be5\u5bc6\u94a5\u6dfb\u52a0\u5230\u60a8\u7684APT\u5b89\u88c5\u7684\u53ef\u4fe1\u5bc6\u94a5\u5217\u8868\u4e2d\uff0c\u4ece\u800c\u5141\u8bb8\u60a8\u4e0b\u8f7d\u548c\u9a8c\u8bc1\u7ecfGPG\u7b7e\u540d\u7684Grafana\u8f6f\u4ef6\u5305\u3002<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">wget<\/span> <span class=\"token parameter variable\">-q<\/span> <span class=\"token parameter variable\">-O<\/span> - https:\/\/packages.grafana.com\/gpg.key <span class=\"token operator\">|<\/span> <span class=\"token function\">sudo<\/span> apt-key <span class=\"token function\">add<\/span> -\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u5728\u6b64\u547d\u4ee4\u4e2d\uff0c\u9009\u9879 -q \u5173\u95ed wget \u7684\u72b6\u6001\u66f4\u65b0\u4fe1\u606f\uff0c\u800c -O \u5c06\u4e0b\u8f7d\u7684\u6587\u4ef6\u8f93\u51fa\u5230\u7ec8\u7aef\u3002\u8fd9\u4e24\u4e2a\u9009\u9879\u786e\u4fdd\u53ea\u6709\u4e0b\u8f7d\u6587\u4ef6\u7684\u5185\u5bb9\u88ab\u7ba1\u9053\u4f20\u8f93\u5230 apt-key\u3002<\/p>\n<p>\u63a5\u4e0b\u6765\uff0c\u5728\u60a8\u7684APT\u6e90\u4e2d\u6dfb\u52a0Grafana\u5b58\u50a8\u5e93\u3002<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> add-apt-repository <span class=\"token string\">\"deb https:\/\/packages.grafana.com\/oss\/deb stable main\"<\/span>\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u5237\u65b0\u4f60\u7684APT\u7f13\u5b58\u4ee5\u66f4\u65b0\u8f6f\u4ef6\u5305\u5217\u8868\u3002<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> <span class=\"token function\">apt<\/span> update\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u4f60\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u5b89\u88c5\u4e86\u3002<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> <span class=\"token function\">apt<\/span> <span class=\"token function\">install<\/span> grafana\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u4e00\u65e6\u5b89\u88c5\u4e86Grafana\uff0c\u4f7f\u7528systemctl\u6765\u542f\u52a8Grafana\u670d\u52a1\u5668\u3002<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> systemctl start grafana-server\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u63a5\u4e0b\u6765\uff0c\u901a\u8fc7\u68c0\u67e5\u670d\u52a1\u7684\u72b6\u6001\u6765\u9a8c\u8bc1Grafana\u662f\u5426\u6b63\u5728\u8fd0\u884c\u3002<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> systemctl status grafana-server\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u4f60\u5c06\u4f1a\u6536\u5230\u7c7b\u4f3c\u4e8e\u8fd9\u6837\u7684\u8f93\u51fa\uff1a<\/p>\n<pre class=\"post-pre\"><code><div class=\"secondary-code-label\" title=\"Output\">Output\u25cf grafana-server.service - Grafana instance\r\n     Loaded: loaded (\/lib\/systemd\/system\/grafana-server.service; disabled; vendor preset: enabled)\r\n   Active: <mark>active (running)<\/mark> since Thu 2020-05-21 08:08:10 UTC; 4s ago\r\n     Docs: http:\/\/docs.grafana.org\r\n Main PID: 15982 (grafana-server)\r\n    Tasks: 7 (limit: 1137)\r\n...\r\n<\/code><\/pre>\n<p>\u8fd9\u4e2a\u8f93\u51fa\u5305\u542b\u4e86\u5173\u4e8eGrafana\u8fdb\u7a0b\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u5b83\u7684\u72b6\u6001\u3001\u4e3b\u8fdb\u7a0b\u6807\u8bc6\u7b26\uff08PID\uff09\u7b49\u7b49\u3002active\uff08running\uff09\u8868\u793a\u8be5\u8fdb\u7a0b\u6b63\u5e38\u8fd0\u884c\u3002<\/p>\n<p>\u6700\u540e\uff0c\u4f7f\u670d\u52a1\u5728\u542f\u52a8\u65f6\u81ea\u52a8\u542f\u52a8Grafana\u3002<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> systemctl <span class=\"token builtin class-name\">enable<\/span> grafana-server\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u4f60\u5c06\u4f1a\u6536\u5230\u4ee5\u4e0b\u7684\u8f93\u51fa\u7ed3\u679c\uff1a<\/p>\n<pre class=\"post-pre\"><code><div class=\"secondary-code-label\" title=\"Output\">OutputSynchronizing state of grafana-server.service with SysV service script with \/lib\/systemd\/systemd-sysv-install.\r\nExecuting: \/lib\/systemd\/systemd-sysv-install enable grafana-server\r\nCreated symlink \/etc\/systemd\/system\/multi-user.target.wants\/grafana-server.service \u2192 \/usr\/lib\/systemd\/system\/grafana-server.service.\r\n<\/code><\/pre>\n<p>\u8fd9\u8bc1\u5b9e\u4e86systemd\u5df2\u7ecf\u521b\u5efa\u4e86\u5fc5\u8981\u7684\u7b26\u53f7\u94fe\u63a5\u6765\u81ea\u52a8\u542f\u52a8Grafana\u3002<\/p>\n<p>Grafana \u73b0\u5df2\u5b89\u88c5\u5e76\u53ef\u4f9b\u4f7f\u7528\u3002\u63a5\u4e0b\u6765\uff0c\u60a8\u5c06\u4f7f\u7528\u53cd\u5411\u4ee3\u7406\u548c SSL \u8bc1\u4e66\u6765\u4fdd\u8bc1\u4e0e Grafana \u7684\u8fde\u63a5\u5b89\u5168\u3002<\/p>\n<h2>\u7b2c\u4e8c\u6b65 &#8211; \u8bbe\u7f6e\u53cd\u5411\u4ee3\u7406<\/p>\n<p>\u4f7f\u7528SSL\u8bc1\u4e66\u53ef\u4ee5\u901a\u8fc7\u52a0\u5bc6Grafana\u7684\u8fde\u63a5\u6765\u786e\u4fdd\u60a8\u7684\u6570\u636e\u5b89\u5168\u3002\u4f46\u662f\uff0c\u8981\u5229\u7528\u6b64\u8fde\u63a5\uff0c\u60a8\u9996\u5148\u9700\u8981\u5c06Nginx\u91cd\u65b0\u914d\u7f6e\u4e3aGrafana\u7684\u53cd\u5411\u4ee3\u7406\u3002<\/p>\n<p>\u5728\u5148\u51b3\u6761\u4ef6\u4e2d\u4f7f\u7528Let&#8217;s Encrypt\u8bbe\u7f6eNginx\u670d\u52a1\u5668\u5757\u65f6\u521b\u5efa\u7684Nginx\u914d\u7f6e\u6587\u4ef6\u3002\u60a8\u53ef\u4ee5\u4f7f\u7528\u4efb\u4f55\u6587\u672c\u7f16\u8f91\u5668\uff0c\u4f46\u5728\u672c\u6559\u7a0b\u4e2d\uff0c\u6211\u4eec\u5c06\u4f7f\u7528nano\u6765\u6253\u5f00\u5b83\u3002<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> <span class=\"token function\">nano<\/span> \/etc\/nginx\/sites-available\/<mark>your_domain<\/mark>\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u627e\u5230\u4ee5\u4e0b\u7684\u533a\u5757\u3002<\/p>\n<div>\u60a8\u7684\u57df\u540d\u7684\u914d\u7f6e\u6587\u4ef6\u4f4d\u4e8e\/etc\/nginx\/sites-available\u3002<\/p>\n<p>\u8fd9\u662f\u6587\u7ae0\u300a\u5982\u4f55\u5728Ubuntu 20.04\u4e0a\u5b89\u88c5\u5e76\u4fdd\u62a4Grafana\u300b\u7684\u7b2c2\u90e8\u5206\uff08\u51715\u90e8\u5206\uff09\u3002<\/p>\n<p>\u5185\u5bb9\u7247\u6bb5:<\/p>\n<pre class=\"post-pre\"><code>...\r\n\t<span class=\"token directive\"><span class=\"token keyword\">location<\/span> \/<\/span> <span class=\"token punctuation\">{<\/span>\r\n        <span class=\"token directive\"><span class=\"token keyword\">try_files<\/span> <span class=\"token variable\">$uri<\/span> <span class=\"token variable\">$uri<\/span>\/ =404<\/span><span class=\"token punctuation\">;<\/span>\r\n\t<span class=\"token punctuation\">}<\/span>\r\n...\r\n<\/code><\/pre>\n<p>\u7531\u4e8e\u60a8\u5df2\u914d\u7f6eNginx\u901a\u8fc7SSL\u8fdb\u884c\u901a\u4fe1\uff0c\u5e76\u4e14\u6240\u6709\u7f51\u9875\u6d41\u91cf\u90fd\u5df2\u901a\u8fc7Nginx\uff0c\u56e0\u6b64\u60a8\u53ea\u9700\u544a\u8bc9Nginx\u5c06\u6240\u6709\u8bf7\u6c42\u8f6c\u53d1\u5230Grafana\uff0cGrafana\u9ed8\u8ba4\u8fd0\u884c\u57283000\u7aef\u53e3\u4e0a\u3002<\/p>\n<p>\u5728\u6b64\u4f4d\u7f6e\u5757\u4e2d\u5220\u9664\u73b0\u6709\u7684<code>try_files<\/code>\u884c\uff0c\u5e76\u5c06\u5176\u66ff\u6362\u4e3a\u4ee5\u4e0b\u9009\u9879\uff1a<\/p>\n<p>\u60a8\u7684\u57df\u540d\u914d\u7f6e\u6587\u4ef6\u4f4d\u4e8e<code>\/etc\/nginx\/sites-available\/<\/code>\u4e2d\u3002<\/p>\n<pre class=\"post-pre\"><code>...\r\n\t<span class=\"token directive\"><span class=\"token keyword\">location<\/span> \/<\/span> <span class=\"token punctuation\">{<\/span>\r\n\t   <mark><span class=\"token directive\"><span class=\"token keyword\">proxy_set_header<\/span> Host <span class=\"token variable\">$http_host<\/span><\/span><span class=\"token punctuation\">;<\/span><\/mark>\r\n\t   <mark><span class=\"token directive\"><span class=\"token keyword\">proxy_pass<\/span> http:\/\/localhost:3000<\/span><span class=\"token punctuation\">;<\/span><\/mark>\r\n\t<span class=\"token punctuation\">}<\/span>\r\n...\r\n<\/code><\/pre>\n<p>\u8fd9\u5c06\u628a\u4ee3\u7406\u6620\u5c04\u5230\u9002\u5f53\u7684\u7aef\u53e3\uff0c\u5e76\u5c06\u670d\u52a1\u5668\u540d\u79f0\u4f20\u9012\u5230\u8bf7\u6c42\u5934\u4e2d\u3002<\/p>\n<p>\u6b64\u5916\uff0c\u4e3a\u4e86\u4f7fGrafana\u7684\u5b9e\u65f6WebSocket\u8fde\u63a5\u6b63\u5e38\u5de5\u4f5c\uff0c\u8bf7\u5728<code>server<\/code>\u8282\u5916\u6dfb\u52a0\u4ee5\u4e0b\u90e8\u5206\uff1a<\/p>\n<p>\u60a8\u7684\u57df\u540d\u914d\u7f6e\u6587\u4ef6\u4f4d\u4e8e<code>\/etc\/nginx\/sites-available\/your_domain<\/code>\u3002<\/p>\n<pre class=\"post-pre\"><code><mark><span class=\"token directive\"><span class=\"token keyword\">map<\/span> <span class=\"token variable\">$http_upgrade<\/span> <span class=\"token variable\">$connection_upgrade<\/span><\/span> <span class=\"token punctuation\">{<\/span><\/mark>\r\n  <mark><span class=\"token directive\"><span class=\"token keyword\">default<\/span> upgrade<\/span><span class=\"token punctuation\">;<\/span><\/mark>\r\n  <mark>'' <span class=\"token directive\"><span class=\"token keyword\">close<\/span><\/span><span class=\"token punctuation\">;<\/span><\/mark>\r\n<mark><span class=\"token punctuation\">}<\/span><\/mark>\r\n\r\n<span class=\"token directive\"><span class=\"token keyword\">server<\/span><\/span> <span class=\"token punctuation\">{<\/span>\r\n    ...\r\n<\/code><\/pre>\n<p>\u7136\u540e\u5728<code>server<\/code>\u5757\u4e2d\u6dfb\u52a0\u4ee5\u4e0b<code>location<\/code>\u90e8\u5206\uff1a<\/p>\n<p>\u60a8\u7684\u57df\u540d\u914d\u7f6e\u6587\u4ef6\u4f4d\u4e8e<code>\/etc\/nginx\/sites-available\/your_domain<\/code>\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"token directive\"><span class=\"token keyword\">server<\/span><\/span> <span class=\"token punctuation\">{<\/span>\r\n...\r\n        <span class=\"token directive\"><span class=\"token keyword\">location<\/span> \/api\/live<\/span> <span class=\"token punctuation\">{<\/span>\r\n           <span class=\"token directive\"><span class=\"token keyword\">proxy_http_version<\/span> 1.1<\/span><span class=\"token punctuation\">;<\/span>\r\n           <span class=\"token directive\"><span class=\"token keyword\">proxy_set_header<\/span> Upgrade <span class=\"token variable\">$http_upgrade<\/span><\/span><span class=\"token punctuation\">;<\/span>\r\n           <span class=\"token directive\"><span class=\"token keyword\">proxy_set_header<\/span> Connection <span class=\"token variable\">$connection_upgrade<\/span><\/span><span class=\"token punctuation\">;<\/span>\r\n           <span class=\"token directive\"><span class=\"token keyword\">proxy_set_header<\/span> Host <span class=\"token variable\">$http_host<\/span><\/span><span class=\"token punctuation\">;<\/span>\r\n           <span class=\"token directive\"><span class=\"token keyword\">proxy_pass<\/span> http:\/\/localhost:3000<\/span><span class=\"token punctuation\">;<\/span>\r\n\t <span class=\"token punctuation\">}<\/span>\r\n...\r\n<\/code><\/pre>\n<p>\u5ba2\u6237\u7aef\u4e0d\u4f1a\u5411\u88ab\u4ee3\u7406\u7684\u670d\u52a1\u5668\u53d1\u9001<code>Upgrade<\/code>\u548c<code>Connection<\/code>\u6807\u5934\u3002\u56e0\u6b64\uff0c\u4e3a\u4e86\u8ba9\u88ab\u4ee3\u7406\u7684\u670d\u52a1\u5668\u77e5\u9053\u5ba2\u6237\u7aef\u6253\u7b97\u5c06\u534f\u8bae\u66f4\u6539\u4e3aWebSocket\uff0c\u8fd9\u4e9b\u6807\u5934\u5fc5\u987b\u660e\u786e\u4f20\u9012\u3002<\/p>\n<p>\u6700\u7ec8\u7684\u914d\u7f6e\u4f1a\u770b\u8d77\u6765\u50cf\u8fd9\u6837\uff1a<\/p>\n<p>\u60a8\u7684\u57df\u540d\u914d\u7f6e\u6587\u4ef6\u4f4d\u4e8e<code>\/etc\/nginx\/sites-available\/<\/code>\u3002<\/p>\n<p>\u4e00\u65e6\u5b8c\u6210\uff0c\u5982\u679c\u4f7f\u7528 nano \u7f16\u8f91\u5668\uff0c\u8bf7\u6309\u4e0b <code>CTRL+X<\/code>\uff0c\u7136\u540e\u8f93\u5165 <code>Y<\/code>\uff0c\u6700\u540e\u6309 <code>ENTER<\/code> \u4fdd\u5b58\u5e76\u5173\u95ed\u6587\u4ef6\u3002<\/p>\n<p>\u73b0\u5728\uff0c\u6d4b\u8bd5\u65b0\u7684\u8bbe\u7f6e\u4ee5\u786e\u4fdd\u4e00\u5207\u90fd\u5df2\u6b63\u786e\u914d\u7f6e\uff1a<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> nginx <span class=\"token parameter variable\">-t<\/span>\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u60a8\u5c06\u6536\u5230\u5982\u4e0b\u8f93\u51fa\u7ed3\u679c\uff1a<\/p>\n<pre class=\"post-pre\"><code><div class=\"secondary-code-label\" title=\"Output\">\u8f93\u51fa<\/div>nginx: the configuration file \/etc\/nginx\/nginx.conf syntax is ok\r\nnginx: configuration file \/etc\/nginx\/nginx.conf test is successful\r\n<\/code><\/pre>\n<p>\u6700\u540e\uff0c\u901a\u8fc7\u91cd\u65b0\u52a0\u8f7d Nginx \u6765\u6fc0\u6d3b\u66f4\u6539\uff1a<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> systemctl reload nginx\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u60a8\u53ef\u4ee5\u901a\u8fc7\u5c06\u60a8\u7684\u7f51\u7edc\u6d4f\u89c8\u5668\u6307\u5411 <code>https:\/\/your_domain<\/code> \u6765\u8bbf\u95ee\u9ed8\u8ba4\u7684 Grafana \u767b\u5f55\u754c\u9762\u3002\u5982\u679c\u65e0\u6cd5\u8bbf\u95ee Grafana\uff0c\u8bf7\u786e\u4fdd\u9632\u706b\u5899\u5df2\u8bbe\u7f6e\u4e3a\u5141\u8bb8 443 \u7aef\u53e3\u7684\u6d41\u91cf\u901a\u8fc7\uff0c\u7136\u540e\u91cd\u65b0\u6309\u7167\u4e4b\u524d\u7684\u6307\u793a\u64cd\u4f5c\u3002<\/p>\n<p>\u901a\u8fc7\u5bf9 Grafana \u7684\u8fde\u63a5\u8fdb\u884c\u52a0\u5bc6\uff0c\u60a8\u73b0\u5728\u53ef\u4ee5\u5b9e\u65bd\u989d\u5916\u7684\u5b89\u5168\u63aa\u65bd\uff0c\u9996\u5148\u662f\u66f4\u6539 Grafana \u7684\u9ed8\u8ba4\u7ba1\u7406\u5458\u51ed\u636e\u3002<\/p>\n<h2>\u7b2c\u4e09\u6b65 &#8211; \u66f4\u65b0\u51ed\u8bc1<\/h2>\n<p>\u7531\u4e8e\u6bcf\u4e2a Grafana \u5b89\u88c5\u9ed8\u8ba4\u4f7f\u7528\u76f8\u540c\u7684\u7ba1\u7406\u51ed\u636e\uff0c\u56e0\u6b64\u6700\u4f73\u5b9e\u8df5\u662f\u5c3d\u5feb\u66f4\u6539\u60a8\u7684\u767b\u5f55\u4fe1\u606f\u3002\u5728\u8fd9\u4e00\u6b65\u4e2d\uff0c\u60a8\u5c06\u66f4\u65b0\u51ed\u636e\u4ee5\u63d0\u9ad8\u5b89\u5168\u6027\u3002<\/p>\n<p>\u4ece\u60a8\u7684\u7f51\u9875\u6d4f\u89c8\u5668\u4e2d\u5bfc\u822a\u5230 <code>https:\/\/your_domain<\/code>\uff0c\u8fd9\u5c06\u663e\u793a\u9ed8\u8ba4\u7684\u767b\u5f55\u754c\u9762\u3002\u60a8\u4f1a\u770b\u5230 Grafana \u7684\u6807\u5fd7\uff0c\u4e00\u4e2a\u8981\u6c42\u60a8\u8f93\u5165\u7535\u5b50\u90ae\u4ef6\u6216\u7528\u6237\u540d\u548c\u5bc6\u7801\u7684\u8868\u5355\uff0c\u4e00\u4e2a\u767b\u5f55\u6309\u94ae\uff0c\u4ee5\u53ca\u4e00\u4e2a\u201c\u5fd8\u8bb0\u5bc6\u7801\uff1f\u201d\u94fe\u63a5\u3002<\/p>\n<div>\n  <img decoding=\"async\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/65646e1aa4b2f92e6c7283e7\/65-0.png\" class='post-images' alt=\"Grafana \u767b\u5f55\u754c\u9762\" title=\"Grafana \u767b\u5f55\u754c\u9762\">\n<\/div>\n<p>\u5728\u90ae\u4ef6\u6216\u7528\u6237\u540d\u548c\u5bc6\u7801\u5b57\u6bb5\u4e2d\u8f93\u5165\u201cadmin\u201d\uff0c\u7136\u540e\u70b9\u51fb\u767b\u5f55\u6309\u94ae\u3002<\/p>\n<p>\u5728\u63a5\u4e0b\u6765\u7684\u5c4f\u5e55\u4e0a\uff0c\u60a8\u5c06\u88ab\u8981\u6c42\u901a\u8fc7\u66f4\u6539\u9ed8\u8ba4\u5bc6\u7801\u6765\u589e\u52a0\u8d26\u6237\u7684\u5b89\u5168\u6027\u3002<\/p>\n<div>\n  <img decoding=\"async\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/65646e1aa4b2f92e6c7283e7\/68-0.png\" class='post-images' alt=\"\u66f4\u6539\u5bc6\u7801\" title=\"\u66f4\u6539\u5bc6\u7801\">\n<\/div>\n<p>\u8bf7\u5728\u201c\u65b0\u5bc6\u7801\u201d\u548c\u201c\u786e\u8ba4\u65b0\u5bc6\u7801\u201d\u680f\u4e2d\u8f93\u5165\u60a8\u60f3\u8981\u4f7f\u7528\u7684\u5bc6\u7801\u3002<\/p>\n<p>\u4ece\u8fd9\u91cc\uff0c\u60a8\u53ef\u4ee5\u70b9\u51fb\u201c\u63d0\u4ea4\u201d\u6309\u94ae\u4fdd\u5b58\u65b0\u7684\u4fe1\u606f\uff0c\u6216\u8005\u70b9\u51fb\u201c\u8df3\u8fc7\u201d\u6309\u94ae\u8df3\u8fc7\u8fd9\u4e00\u6b65\u9aa4\u3002\u5982\u679c\u60a8\u9009\u62e9\u8df3\u8fc7\uff0c\u4e0b\u6b21\u767b\u5f55\u65f6\u4f1a\u63d0\u793a\u60a8\u66f4\u6539\u5bc6\u7801\u3002<\/p>\n<p>\u4e3a\u4e86\u589e\u52a0\u60a8\u7684 Grafana \u8bbe\u7f6e\u7684\u5b89\u5168\u6027\uff0c\u8bf7\u70b9\u51fb\u201c\u63d0\u4ea4\u201d\u3002\u60a8\u5c06\u8fdb\u5165\u201c\u6b22\u8fce\u6765\u5230 Grafana\u201d\u4eea\u8868\u76d8\uff1a<\/p>\n<div>\n  <img decoding=\"async\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/65646e1aa4b2f92e6c7283e7\/72-0.png\" class='post-images' alt=\"\u4e3b\u4eea\u8868\u76d8\" title=\"\u4e3b\u4eea\u8868\u76d8\">\n<\/div>\n<p>\u60a8\u5df2\u7ecf\u901a\u8fc7\u66f4\u6539\u9ed8\u8ba4\u51ed\u636e\u6765\u786e\u4fdd\u60a8\u7684\u8d26\u6237\u5b89\u5168\u3002\u63a5\u4e0b\u6765\uff0c\u60a8\u5c06\u4fee\u6539\u60a8\u7684 Grafana \u914d\u7f6e\uff0c\u4ee5\u4fbf\u4efb\u4f55\u4eba\u5728\u672a\u7ecf\u60a8\u8bb8\u53ef\u7684\u60c5\u51b5\u4e0b\u65e0\u6cd5\u521b\u5efa\u65b0\u7684 Grafana \u8d26\u6237\u3002<\/p>\n<h2>\u7b2c\u56db\u6b65\u2014\u2014\u7981\u7528 Grafana \u7684\u6ce8\u518c\u548c\u533f\u540d\u8bbf\u95ee<\/h2>\n<p>Grafana \u63d0\u4f9b\u4e86\u5141\u8bb8\u8bbf\u5ba2\u81ea\u884c\u521b\u5efa\u7528\u6237\u8d26\u6237\u5e76\u9884\u89c8\u4eea\u8868\u76d8\u7684\u9009\u9879\uff0c\u65e0\u9700\u6ce8\u518c\u3002\u5f53 Grafana \u65e0\u6cd5\u901a\u8fc7\u4e92\u8054\u7f51\u8bbf\u95ee\uff0c\u6216\u8005\u4e0e\u516c\u5f00\u53ef\u7528\u7684\u6570\u636e\uff08\u5982\u670d\u52a1\u72b6\u6001\uff09\u8fdb\u884c\u4ea4\u4e92\u65f6\uff0c\u53ef\u80fd\u9700\u8981\u5f00\u542f\u8fd9\u4e9b\u529f\u80fd\u3002\u7136\u800c\uff0c\u5728\u5728\u7ebf\u4f7f\u7528 Grafana \u5904\u7406\u654f\u611f\u6570\u636e\u65f6\uff0c\u533f\u540d\u8bbf\u95ee\u53ef\u80fd\u6210\u4e3a\u5b89\u5168\u95ee\u9898\u3002\u4e3a\u4e86\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff0c\u60a8\u9700\u8981\u5bf9 Grafana \u7684\u914d\u7f6e\u8fdb\u884c\u4e00\u4e9b\u66f4\u6539\u3002<\/p>\n<p>\u9996\u5148\uff0c\u6253\u5f00 Grafana \u7684\u4e3b\u914d\u7f6e\u6587\u4ef6\u8fdb\u884c\u7f16\u8f91\uff1a<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> <span class=\"token function\">nano<\/span> \/etc\/grafana\/grafana.ini\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u8bf7\u5728 <code>[users]<\/code> \u6807\u9898\u4e0b\u627e\u5230\u4ee5\u4e0b <code>allow_sign_up<\/code> \u6307\u4ee4\uff1a<\/p>\n<pre class=\"post-pre\"><code>...\r\n[users]\r\n# disable user signup \/ registration\r\n;allow_sign_up = true\r\n...\r\n<\/code><\/pre>\n<p>\u542f\u7528\u6b64\u6307\u4ee4\u540e\uff0c\u767b\u5f55\u754c\u9762\u4e0a\u5c06\u6dfb\u52a0\u4e00\u4e2a\u201c\u6ce8\u518c\u201d\u6309\u94ae\uff0c\u5141\u8bb8\u7528\u6237\u81ea\u884c\u6ce8\u518c\u5e76\u8bbf\u95ee Grafana\u3002<\/p>\n<p>\u901a\u8fc7\u5c06\u6b64\u6307\u4ee4\u8bbe\u7f6e\u4e3a <code>false<\/code>\uff0c\u53ef\u4ee5\u7981\u7528\u201c\u6ce8\u518c\u201d\u6309\u94ae\uff0c\u4ece\u800c\u52a0\u5f3a Grafana \u7684\u5b89\u5168\u548c\u9690\u79c1\u4fdd\u62a4\u3002<\/p>\n<p>\u901a\u8fc7\u5220\u9664\u884c\u9996\u7684\u5206\u53f7\u5e76\u5c06\u9009\u9879\u8bbe\u7f6e\u4e3a <code>false<\/code> \u6765\u53d6\u6d88\u5bf9\u8be5\u6307\u4ee4\u7684\u6ce8\u91ca\uff1a<\/p>\n<pre class=\"post-pre\"><code>...\r\n[users]\r\n# disable user signup \/ registration\r\nallow_sign_up = <mark>false<\/mark>\r\n...\r\n<\/code><\/pre>\n<p>\u63a5\u4e0b\u6765\uff0c\u5728 <code>[auth.anonymous]<\/code> \u90e8\u5206\u627e\u5230\u4ee5\u4e0b\u542f\u7528\u6307\u4ee4\uff1a<\/p>\n<pre class=\"post-pre\"><code>...\r\n[auth.anonymous]\r\n# enable anonymous access\r\n;enabled = false\r\n...\r\n<\/code><\/pre>\n<p>\u5c06\u8bbe\u7f6e\u9879\u8bbe\u7f6e\u4e3a <code>true<\/code> \u53ef\u4ee5\u8ba9\u672a\u6ce8\u518c\u7528\u6237\u8bbf\u95ee\u60a8\u7684\u4eea\u8868\u76d8\uff1b\u5c06\u8be5\u9009\u9879\u8bbe\u7f6e\u4e3a <code>false<\/code> \u5219\u4ec5\u9650\u5df2\u6ce8\u518c\u7528\u6237\u8bbf\u95ee\u4eea\u8868\u76d8\u3002<\/p>\n<p>\u901a\u8fc7\u79fb\u9664\u884c\u9996\u7684\u5206\u53f7\u5e76\u5c06\u9009\u9879\u8bbe\u4e3a <code>false<\/code> \u6765\u53d6\u6d88\u5bf9\u672c\u6307\u4ee4\u7684\u6ce8\u91ca\uff1a<\/p>\n<pre class=\"post-pre\"><code>...\r\n[auth.anonymous]\r\n# enable anonymous access\r\nenabled = <mark>false<\/mark>\r\n...\r\n<\/code><\/pre>\n<p>\u4fdd\u5b58\u6587\u4ef6\u5e76\u9000\u51fa\u6587\u672c\u7f16\u8f91\u5668\u3002<\/p>\n<p>\u4e3a\u4e86\u6fc0\u6d3b\u66f4\u6539\uff0c\u8bf7\u91cd\u65b0\u542f\u52a8 Grafana \u670d\u52a1\uff1a<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> systemctl restart grafana-server\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u901a\u8fc7\u68c0\u67e5 Grafana \u7684\u670d\u52a1\u72b6\u6001\uff0c\u9a8c\u8bc1\u4e00\u5207\u662f\u5426\u6b63\u5e38\u8fd0\u4f5c\uff1a<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> systemctl status grafana-server\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u5c31\u50cf\u4e4b\u524d\u4e00\u6837\uff0c\u8f93\u51fa\u5c06\u62a5\u544a Grafana \u662f\u6d3b\u52a8\u7684\uff08\u6b63\u5728\u8fd0\u884c\uff09\u3002<\/p>\n<p>\u73b0\u5728\uff0c\u8bf7\u5c06\u60a8\u7684\u7f51\u7edc\u6d4f\u89c8\u5668\u6307\u5411 <code>https:\/\/\u60a8\u7684\u57df\u540d<\/code>\u3002\u8981\u8fd4\u56de\u5230\u6ce8\u518c\u9875\u9762\uff0c\u8bf7\u5c06\u5149\u6807\u79fb\u52a8\u5230\u5c4f\u5e55\u5de6\u4e0b\u89d2\u7684\u5934\u50cf\u4e0a\uff0c\u7136\u540e\u70b9\u51fb\u51fa\u73b0\u7684\u201c\u9000\u51fa\u201d\u9009\u9879\u3002<\/p>\n<p>\u4e00\u65e6\u60a8\u9000\u51fa\u767b\u5f55\uff0c\u8bf7\u9a8c\u8bc1\u662f\u5426\u6ca1\u6709\u201c\u6ce8\u518c\u201d\u6309\u94ae\uff0c\u5e76\u4e14\u5728\u672a\u8f93\u5165\u767b\u5f55\u51ed\u636e\u7684\u60c5\u51b5\u4e0b\u65e0\u6cd5\u767b\u5f55\u3002<\/p>\n<p>\u76ee\u524d\uff0cGrafana \u5df2\u7ecf\u5b8c\u5168\u914d\u7f6e\u5b8c\u6210\u5e76\u51c6\u5907\u597d\u4f7f\u7528\u4e86\u3002\u63a5\u4e0b\u6765\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7 GitHub \u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u6765\u7b80\u5316\u7ec4\u7ec7\u7684\u767b\u5f55\u6d41\u7a0b\u3002<\/p>\n<h2>\uff08\u53ef\u9009\uff09\u7b2c5\u6b65 &#8211; \u8bbe\u7f6e GitHub OAuth \u5e94\u7528\u7a0b\u5e8f<\/h2>\n<p>\u5bf9\u4e8e\u767b\u5f55\u7684\u53e6\u4e00\u79cd\u65b9\u6cd5\uff0c\u60a8\u53ef\u4ee5\u914d\u7f6e Grafana \u901a\u8fc7 GitHub \u8fdb\u884c\u8eab\u4efd\u9a8c\u8bc1\uff0c\u8be5\u65b9\u6cd5\u63d0\u4f9b\u7ed9\u6240\u6709\u6388\u6743\u7684 GitHub \u7ec4\u7ec7\u7684\u6210\u5458\u767b\u5f55\u8bbf\u95ee\u6743\u9650\u3002\u5f53\u60a8\u5e0c\u671b\u5141\u8bb8\u591a\u4e2a\u5f00\u53d1\u4eba\u5458\u534f\u4f5c\u5e76\u8bbf\u95ee\u6307\u6807\uff0c\u800c\u65e0\u9700\u521b\u5efa\u7279\u5b9a\u4e8e Grafana \u7684\u51ed\u636e\u65f6\uff0c\u8fd9\u53ef\u80fd\u975e\u5e38\u6709\u7528\u3002<\/p>\n<p>\u9996\u5148\uff0c\u4f7f\u7528\u4e0e\u60a8\u7684\u7ec4\u7ec7\u5173\u8054\u7684 GitHub \u8d26\u6237\u767b\u5f55\uff0c\u7136\u540e\u5bfc\u822a\u5230\u60a8\u7684 GitHub \u4e2a\u4eba\u8d44\u6599\u9875\u9762\u3002<\/p>\n<p>\u901a\u8fc7\u70b9\u51fb\u5c4f\u5e55\u5de6\u4fa7\u7684\u60a8\u7684\u59d3\u540d\uff0c\u7136\u540e\u5728\u4e0b\u62c9\u83dc\u5355\u4e2d\u9009\u62e9\u60a8\u7684\u7ec4\u7ec7\uff0c\u53ef\u4ee5\u5207\u6362\u8bbe\u7f6e\u4e0a\u4e0b\u6587\u3002\u8fd9\u5c06\u4ece\u4e2a\u4eba\u8bbe\u7f6e\u5207\u6362\u5230\u7ec4\u7ec7\u8bbe\u7f6e\u3002<\/p>\n<p>\u5728\u4e0b\u4e00\u4e2a\u5c4f\u5e55\u4e0a\uff0c\u60a8\u5c06\u770b\u5230\u60a8\u7684\u7ec4\u7ec7\u6982\u51b5\uff0c\u60a8\u53ef\u4ee5\u5728\u5176\u4e2d\u66f4\u6539\u8bf8\u5982\u7ec4\u7ec7\u663e\u793a\u540d\u79f0\u3001\u7ec4\u7ec7\u7535\u5b50\u90ae\u4ef6\u548c\u7ec4\u7ec7\u7f51\u5740\u7b49\u8bbe\u7f6e\u3002<\/p>\n<p>\u7531\u4e8e Grafana \u4f7f\u7528 OAuth\uff08\u4e00\u79cd\u7528\u4e8e\u6388\u6743\u8fdc\u7a0b\u7b2c\u4e09\u65b9\u8bbf\u95ee\u672c\u5730\u8d44\u6e90\u7684\u5f00\u653e\u6807\u51c6\uff09\u901a\u8fc7 GitHub \u5bf9\u7528\u6237\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\uff0c\u6240\u4ee5\u60a8\u9700\u8981\u5728 GitHub \u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 OAuth \u5e94\u7528\u7a0b\u5e8f\u3002<\/p>\n<p>\u70b9\u51fb\u5c4f\u5e55\u5de6\u4e0b\u89d2\u7684\u201c\u5f00\u53d1\u8005\u8bbe\u7f6e\u201d\u4e0b\u7684\u201cOAuth \u5e94\u7528\u201d\u94fe\u63a5\u3002<\/p>\n<p>\u5982\u679c\u60a8\u5728 GitHub \u4e0a\u5c1a\u672a\u4e0e\u7ec4\u7ec7\u5173\u8054\u4efb\u4f55 OAuth \u5e94\u7528\u7a0b\u5e8f\uff0c\u7cfb\u7edf\u5c06\u663e\u793a\u201c\u6ca1\u6709\u7ec4\u7ec7\u6240\u6709\u7684\u5e94\u7528\u7a0b\u5e8f\u201d\u7684\u63d0\u793a\u4fe1\u606f\u3002\u5426\u5219\uff0c\u60a8\u5c06\u770b\u5230\u5df2\u4e0e\u60a8\u7684\u8d26\u53f7\u8fde\u63a5\u7684 OAuth \u5e94\u7528\u7a0b\u5e8f\u5217\u8868\u3002<\/p>\n<p>\u70b9\u51fb\u201c\u6ce8\u518c\u65b0\u5e94\u7528\u201d\u6309\u94ae\u7ee7\u7eed\u3002<\/p>\n<p>\u5728\u4e0b\u4e00\u4e2a\u5c4f\u5e55\u4e0a\uff0c\u586b\u5199\u5173\u4e8e\u60a8\u7684 Grafana \u5b89\u88c5\u7684\u4ee5\u4e0b\u8be6\u7ec6\u4fe1\u606f\uff1a<\/p>\n<ul class=\"post-ul\">\n<li><strong>\u5e94\u7528\u7a0b\u5e8f\u540d\u79f0 (Application name)<\/strong>\uff1a\u8fd9\u6709\u52a9\u4e8e\u60a8\u533a\u5206\u4e0d\u540c\u7684 OAuth \u5e94\u7528\u7a0b\u5e8f\u3002<\/li>\n<li><strong>\u4e3b\u9875 URL (Homepage URL)<\/strong>\uff1a\u8fd9\u544a\u8bc9 GitHub Grafana \u7684\u4f4d\u7f6e\u3002\u5728\u6b64\u5b57\u6bb5\u4e2d\u8f93\u5165 <code>https:\/\/\u60a8\u7684\u57df\u540d<\/code>\uff0c\u5c06\u201c\u60a8\u7684\u57df\u540d\u201d\u66ff\u6362\u4e3a\u60a8\u7684\u5b9e\u9645\u57df\u540d\u3002<\/li>\n<li><strong>\u5e94\u7528\u7a0b\u5e8f\u63cf\u8ff0 (Application Description)<\/strong>\uff1a\u8fd9\u63d0\u4f9b\u4e86 OAuth \u5e94\u7528\u7a0b\u5e8f\u7528\u9014\u7684\u63cf\u8ff0\u3002<\/li>\n<li><strong>\u5e94\u7528\u7a0b\u5e8f\u56de\u8c03 URL (Application callback URL)<\/strong>\uff1a\u8fd9\u662f\u7528\u6237\u6210\u529f\u8ba4\u8bc1\u540e\u5c06\u88ab\u53d1\u9001\u5230\u7684\u5730\u5740\u3002\u5bf9\u4e8e Grafana\uff0c\u6b64\u5b57\u6bb5\u5fc5\u987b\u8bbe\u7f6e\u4e3a <code>https:\/\/\u60a8\u7684\u57df\u540d\/login\/github<\/code>\u3002<\/li>\n<\/ul>\n<p>\u8bf7\u8bb0\u4f4f\uff0c\u901a\u8fc7 GitHub \u767b\u5f55\u7684 Grafana \u7528\u6237\u5c06\u770b\u5230\u60a8\u5728\u524d\u4e09\u4e2a\u5b57\u6bb5\u4e2d\u8f93\u5165\u7684\u503c\uff0c\u6240\u4ee5\u8bf7\u786e\u4fdd\u8f93\u5165\u7684\u5185\u5bb9\u6709\u610f\u4e49\u4e14\u9002\u5f53\u3002<\/p>\n<p>\u5f53\u5b8c\u6210\u65f6\uff0c\u8868\u683c\u7684\u6837\u5b50\u4f1a\u50cf\u8fd9\u6837\uff1a<\/p>\n<div><img decoding=\"async\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/65646e1aa4b2f92e6c7283e7\/115-0.png\" class=\"post-images\" alt=\"GitHub \u6ce8\u518c OAuth \u5e94\u7528\u7a0b\u5e8f\" title=\"\"><\/div>\n<p>\u70b9\u51fb\u201c\u6ce8\u518c\u5e94\u7528\u201d\u6309\u94ae\u3002<\/p>\n<p>\u60a8\u5c06\u4f1a\u88ab\u91cd\u5b9a\u5411\u5230\u4e00\u4e2a\u5305\u542b\u4e0e\u60a8\u7684\u65b0\u7684 OAuth \u5e94\u7528\u7a0b\u5e8f\u76f8\u5173\u7684\u5ba2\u6237\u7aef ID \u548c\u5ba2\u6237\u7aef\u5bc6\u94a5\u7684\u9875\u9762\u3002\u8bf7\u8bb0\u4e0b\u8fd9\u4e24\u4e2a\u503c\uff0c\u56e0\u4e3a\u60a8\u9700\u8981\u5c06\u5b83\u4eec\u6dfb\u52a0\u5230 Grafana \u7684\u4e3b\u914d\u7f6e\u6587\u4ef6\u4e2d\u4ee5\u5b8c\u6210\u8bbe\u7f6e\u3002<\/p>\n<div class=\"post-conf-warning\">\n<p class=\"post-warning\">\u8b66\u544a\uff1a\u8bf7\u786e\u4fdd\u5c06\u60a8\u7684\u5ba2\u6237\u7aef ID \u548c\u5ba2\u6237\u7aef\u5bc6\u94a5\u59a5\u5584\u4fdd\u5b58\u5728\u5b89\u5168\u4e14\u975e\u516c\u5f00\u7684\u5730\u65b9\uff0c\u56e0\u4e3a\u5b83\u4eec\u53ef\u80fd\u88ab\u7528\u4f5c\u653b\u51fb\u7684\u57fa\u7840\u3002<\/p>\n<\/div>\n<p>\u5728\u521b\u5efa\u4e86 GitHub OAuth \u5e94\u7528\u7a0b\u5e8f\u540e\uff0c\u60a8\u73b0\u5728\u53ef\u4ee5\u91cd\u65b0\u914d\u7f6e Grafana\uff0c\u4ee5\u4f7f\u7528 GitHub \u8fdb\u884c\u8eab\u4efd\u9a8c\u8bc1\u3002<\/p>\n<h2>\uff08\u53ef\u9009\uff09\u7b2c\u516d\u6b65 &#8211; \u914d\u7f6e Grafana \u4f5c\u4e3a GitHub OAuth \u5e94\u7528\u7a0b\u5e8f<\/h2>\n<p>\u4e3a\u4e86\u5b8c\u6210 Grafana \u8bbe\u7f6e\u7684 GitHub \u8eab\u4efd\u9a8c\u8bc1\uff0c\u60a8\u73b0\u5728\u9700\u8981\u5bf9 Grafana \u914d\u7f6e\u6587\u4ef6\u8fdb\u884c\u4e00\u4e9b\u66f4\u6539\u3002<\/p>\n<p>\u9996\u5148\uff0c\u6253\u5f00\u4e3b\u8981\u7684 Grafana \u914d\u7f6e\u6587\u4ef6\uff1a<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> <span class=\"token function\">nano<\/span> \/etc\/grafana\/grafana.ini\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u8bf7\u627e\u5230 <code>[auth.github]<\/code> \u6807\u9898\uff0c\u5e76\u53d6\u6d88\u6ce8\u91ca\u6b64\u90e8\u5206\uff0c\u65b9\u6cd5\u662f\u5220\u9664\u6bcf\u884c\u5f00\u5934\u7684 <code>;<\/code>\uff0c\u9664\u4e86 <code>;allowed_domains =<\/code> \u548c <code>;team_ids =<\/code> \u4ee5\u5916\u7684\u884c\u3002\u5728\u672c\u6559\u7a0b\u4e2d\uff0c\u8fd9\u4e24\u884c\u4e0d\u4f1a\u88ab\u66f4\u6539\u3002<\/p>\n<p>\u63a5\u4e0b\u6765\uff0c\u8fdb\u884c\u4ee5\u4e0b\u66f4\u6539\uff1a<\/p>\n<ul class=\"post-ul\">\n<li>\u5c06 <code>enabled<\/code> \u548c <code>allow_sign_up<\/code> \u8bbe\u7f6e\u4e3a <code>true<\/code>\u3002\u8fd9\u5c06\u542f\u7528 GitHub \u8eab\u4efd\u9a8c\u8bc1\uff0c\u5e76\u5141\u8bb8\u6388\u6743\u7ec4\u7ec7\u7684\u6210\u5458\u81ea\u884c\u521b\u5efa\u8d26\u6237\u3002\u8bf7\u6ce8\u610f\uff0c\u6b64\u8bbe\u7f6e\u4e0e\u60a8\u5728\u7b2c4\u6b65\u4e2d\u66f4\u6539\u7684 <code>[users]<\/code> \u4e0b\u7684 <code>allow_sign_up<\/code> \u5c5e\u6027\u4e0d\u540c\u3002<\/li>\n<li>\u5c06 <code>client_id<\/code> \u548c <code>client_secret<\/code> \u8bbe\u7f6e\u4e3a\u60a8\u5728\u521b\u5efa GitHub OAuth \u5e94\u7528\u7a0b\u5e8f\u65f6\u83b7\u5f97\u7684\u503c\u3002<\/li>\n<li>\u5c06 <code>allowed_organizations<\/code> \u8bbe\u7f6e\u4e3a\u60a8\u7684\u7ec4\u7ec7\u540d\u79f0\uff0c\u4ee5\u786e\u4fdd\u53ea\u6709\u60a8\u7ec4\u7ec7\u7684\u6210\u5458\u624d\u80fd\u6ce8\u518c\u548c\u767b\u5f55 Grafana\u3002<\/li>\n<\/ul>\n<p>\u5b8c\u6574\u7684\u914d\u7f6e\u5c06\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<pre class=\"post-pre\"><code>...\r\n[auth.github]\r\nenabled = true\r\nallow_sign_up = true\r\nclient_id = your_client_id_from_github\r\nclient_secret = your_client_secret_from_github\r\nscopes = user:email,read:org\r\nauth_url = https:\/\/github.com\/login\/oauth\/authorize\r\ntoken_url = https:\/\/github.com\/login\/oauth\/access_token\r\napi_url = https:\/\/api.github.com\/user\r\n;allowed_domains =\r\n;team_ids =\r\nallowed_organizations = your_organization_name\r\n...\r\n<\/code><\/pre>\n<p>\u73b0\u5728\u60a8\u5df2\u7ecf\u544a\u8bc9Grafana\u5173\u4e8eGitHub\u7684\u6240\u6709\u4fe1\u606f\u3002\u8981\u5b8c\u6210\u8bbe\u7f6e\uff0c\u60a8\u9700\u8981\u5728\u53cd\u5411\u4ee3\u7406\u540e\u542f\u7528\u91cd\u5b9a\u5411\u3002\u8fd9\u53ef\u4ee5\u901a\u8fc7\u5728<code>[server]<\/code>\u6807\u9898\u4e0b\u8bbe\u7f6e<code>root_url<\/code>\u503c\u6765\u5b9e\u73b0\u3002<code>\/etc\/grafana\/grafana.ini<\/code>\u6587\u4ef6\u7684\u76f8\u5173\u90e8\u5206\u5982\u4e0b\uff1a<\/p>\n<pre class=\"post-pre\"><code>...\r\n[server]\r\nroot_url = https:\/\/your_domain\r\n...\r\n<\/code><\/pre>\n<p>\u4fdd\u5b58\u60a8\u7684\u914d\u7f6e\u5e76\u5173\u95ed\u6587\u4ef6\u3002<\/p>\n<p>\u7136\u540e\uff0c\u91cd\u65b0\u542f\u52a8Grafana\u4ee5\u6fc0\u6d3b\u66f4\u6539\u3002<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> systemctl restart grafana-server\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u6700\u540e\uff0c\u9a8c\u8bc1\u670d\u52a1\u662f\u5426\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\u3002<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> systemctl status grafana-server\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u8f93\u51fa\u5c06\u8868\u660e\u670d\u52a1\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\uff08\u6b63\u5728\u8fd0\u884c\uff09\u3002<\/p>\n<p>\u73b0\u5728\uff0c\u901a\u8fc7\u8bbf\u95ee<code>https:\/\/your_domain<\/code>\u6765\u6d4b\u8bd5\u60a8\u7684\u65b0\u8ba4\u8bc1\u7cfb\u7edf\u3002\u5982\u679c\u60a8\u5df2\u7ecf\u767b\u5f55Grafana\uff0c\u8bf7\u5c06\u9f20\u6807\u60ac\u505c\u5728\u5c4f\u5e55\u5de6\u4e0b\u89d2\u7684\u5934\u50cf\u4e0a\uff0c\u5e76\u70b9\u51fb\u51fa\u73b0\u5728\u60a8\u7684\u540d\u5b57\u65c1\u8fb9\u7684\u8f85\u52a9\u83dc\u5355\u4e2d\u7684\u201c\u6ce8\u9500\u201d\u3002<\/p>\n<p>\u5728\u767b\u5f55\u9875\u9762\u4e0a\uff0c\u60a8\u4f1a\u770b\u5230\u5728\u539f\u6765\u7684\u767b\u5f55\u6309\u94ae\u4e0b\u9762\u6709\u4e00\u4e2a\u65b0\u7684\u90e8\u5206\uff0c\u5176\u4e2d\u5305\u542b\u4e00\u4e2a\u5e26\u6709GitHub\u5fbd\u6807\u7684GitHub\u767b\u5f55\u6309\u94ae\u3002<\/p>\n<div class=\"post-images-container\">\n                            <img decoding=\"async\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/65646e1aa4b2f92e6c7283e3\/141-0.png\" class='post-images' alt=\"\u5e26\u6709GitHub\u767b\u5f55\u9009\u9879\u7684Grafana\u767b\u5f55\u9875\u9762\" title=\"\u5e26\u6709GitHub\u767b\u5f55\u9009\u9879\u7684Grafana\u767b\u5f55\u9875\u9762\"><\/p>\n<p>\u70b9\u51fb\u201c\u4f7f\u7528GitHub\u767b\u5f55\u201d\u6309\u94ae\uff0c\u60a8\u5c06\u88ab\u91cd\u5b9a\u5411\u5230GitHub\uff0c\u5728\u90a3\u91cc\u60a8\u5c06\u767b\u5f55\u60a8\u7684GitHub\u8d26\u53f7\u5e76\u786e\u8ba4\u60a8\u7684\u610f\u56fe\u4ee5\u6388\u6743Grafana\u3002<\/p>\n<p>\u70b9\u51fb\u7eff\u8272\u7684\u201c\u6388\u6743\u60a8\u7684_github_organization\u201d\u6309\u94ae\u3002<\/p>\n<div class=\"post-conf-note\">\n<p class=\"post-note\">\n<p class=\"post-conf-desc\">\u6ce8\u610f\uff1a<\/p>\n<div>\n<p>\u786e\u4fdd\u60a8\u7684GitHub\u5e10\u6237\u5c5e\u4e8e\u60a8\u6240\u6279\u51c6\u7684\u7ec4\u7ec7\uff0c\u5e76\u4e14\u60a8\u7684Grafana\u7535\u5b50\u90ae\u4ef6\u5730\u5740\u4e0eGitHub\u7535\u5b50\u90ae\u4ef6\u5730\u5740\u76f8\u5339\u914d\u3002\u5982\u679c\u60a8\u5c1d\u8bd5\u4f7f\u7528\u672a\u5c5e\u4e8e\u60a8\u6240\u6279\u51c6\u7684\u7ec4\u7ec7\u7684GitHub\u5e10\u6237\u8fdb\u884c\u8eab\u4efd\u9a8c\u8bc1\uff0c\u5c06\u6536\u5230\u4e00\u4e2a\u201c\u767b\u5f55\u5931\u8d25\u201d\u6d88\u606f\uff0c\u544a\u77e5\u60a8\u7528\u6237\u4e0d\u662f\u6240\u9700\u7ec4\u7ec7\u7684\u6210\u5458\u4e4b\u4e00\u3002<\/p>\n<p>\u60a8\u5c06\u4f7f\u7528\u73b0\u6709\u7684Grafana\u5e10\u6237\u767b\u5f55\u3002\u5982\u679c\u767b\u5f55\u7528\u6237\u5c1a\u672a\u62e5\u6709Grafana\u5e10\u6237\uff0cGrafana\u5c06\u521b\u5efa\u4e00\u4e2a\u5177\u6709\u67e5\u770b\u8005\u6743\u9650\u7684\u65b0\u7528\u6237\u5e10\u6237\uff0c\u4ee5\u786e\u4fdd\u65b0\u7528\u6237\u4ec5\u80fd\u4f7f\u7528\u73b0\u6709\u7684\u4eea\u8868\u76d8\u3002<\/p>\n<p>\u8981\u66f4\u6539\u65b0\u7528\u6237\u7684\u9ed8\u8ba4\u6743\u9650\uff0c\u8bf7\u6253\u5f00\u4e3b\u8981\u7684Grafana\u914d\u7f6e\u6587\u4ef6\u8fdb\u884c\u7f16\u8f91\u3002<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> <span class=\"token function\">nano<\/span> \/etc\/grafana\/grafana.ini\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u5728<code>[users]<\/code>\u6807\u9898\u4e0b\uff0c\u627e\u5230<code>auto_assign_org_role<\/code>\u6307\u4ee4\uff0c\u5e76\u901a\u8fc7\u5220\u9664\u884c\u9996\u7684<code>;<\/code>\u6765\u53d6\u6d88\u6ce8\u91ca\u8bbe\u7f6e\u3002<\/p>\n<p>\u5c06\u6307\u4ee4\u8bbe\u7f6e\u4e3a\u4ee5\u4e0b\u503c\u4e4b\u4e00\uff1a<\/p>\n<ul class=\"post-ul\">\n<li><strong>\u67e5\u770b\u8005 (Viewer)<\/strong>: \u53ea\u80fd\u4f7f\u7528\u73b0\u6709\u4eea\u8868\u76d8\u3002<\/li>\n<li><strong>\u7f16\u8f91\u8005 (Editor)<\/strong>: \u53ef\u4ee5\u4f7f\u7528\u3001\u4fee\u6539\u548c\u6dfb\u52a0\u4eea\u8868\u76d8\u3002<\/li>\n<li><strong>\u7ba1\u7406\u5458 (Admin)<\/strong>: \u62e5\u6709\u6240\u6709\u6743\u9650\u3002<\/li>\n<\/ul>\n<p>\u672c\u6559\u7a0b\u5c06\u81ea\u52a8\u5206\u914d\u8bbe\u7f6e\u4e3a\u201c\u67e5\u770b\u8005\u201d\u3002<code>\/etc\/grafana\/grafana.ini<\/code>\u6587\u4ef6\u7684\u76f8\u5173\u90e8\u5206\u5982\u4e0b\uff1a<\/p>\n<pre class=\"post-pre\"><code>...\r\n[users]\r\n...\r\nauto_assign_org_role = Viewer\r\n...\r\n<\/code><\/pre>\n<p>\u4fdd\u5b58\u4fee\u6539\u540e\uff0c\u5173\u95ed\u6587\u4ef6\u5e76\u91cd\u65b0\u542f\u52a8Grafana\u3002<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> systemctl restart grafana-server\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u68c0\u67e5\u670d\u52a1\u7684\u72b6\u6001\u3002<\/p>\n<pre class=\"post-pre\"><code><ol><li data-prefix=\"$\"><span class=\"token function\">sudo<\/span> systemctl status grafana-server\r\n<\/li><\/ol>\r\n<\/code><\/pre>\n<p>\u5c31\u50cf\u4ee5\u524d\u4e00\u6837\uff0c\u72b6\u6001\u5c06\u4f1a\u663e\u793a\u4e3a\u6d3b\u52a8\uff08\u8fd0\u884c\u4e2d\uff09\u3002<\/p>\n<p>\u76ee\u524d\uff0c\u60a8\u5df2\u7ecf\u5b8c\u5168\u914d\u7f6e\u597d\u4e86Grafana\uff0c\u5141\u8bb8\u60a8\u7684GitHub\u7ec4\u7ec7\u6210\u5458\u6ce8\u518c\u5e76\u4f7f\u7528\u60a8\u7684Grafana\u5b89\u88c5\u3002<\/p>\n<h2>\u7ed3\u8bba<\/h2>\n<p>\u5728\u672c\u6559\u7a0b\u4e2d\uff0c\u60a8\u5b89\u88c5\u3001\u914d\u7f6e\u5e76\u4fdd\u62a4\u4e86Grafana\uff0c\u5e76\u5b66\u4f1a\u4e86\u5982\u4f55\u5141\u8bb8\u60a8\u7ec4\u7ec7\u7684\u6210\u5458\u901a\u8fc7GitHub\u8fdb\u884c\u8eab\u4efd\u9a8c\u8bc1\u3002<\/p>\n<p>\u8981\u6269\u5c55\u60a8\u5f53\u524d\u7684Grafana\u5b89\u88c5\uff0c\u8bf7\u67e5\u770b\u5b98\u65b9\u548c\u793e\u533a\u6784\u5efa\u7684\u4eea\u8868\u76d8\u548c\u63d2\u4ef6\u5217\u8868\u3002\u8981\u4e86\u89e3\u5173\u4e8e\u5982\u4f55\u4f7f\u7528Grafana\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u5b98\u65b9Grafana\u6587\u6863\uff0c\u6216\u67e5\u770b\u6211\u4eec\u7684\u5176\u4ed6\u76d1\u63a7\u6559\u7a0b\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5f15\u8a00 Grafana \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u6570\u636e\u53ef\u89c6\u5316\u548c\u76d1\u63a7\u5de5\u5177\uff0c\u53ef\u4ee5\u4e0e Prometheus\u3001InfluxDB\u3001Gra [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[12,176,256,340,18],"class_list":["post-158","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-grafana","tag-ubuntu-20-04","tag-256","tag-340","tag-18"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ubuntu 20.04\u5b89\u88c5\u4e0e\u5b89\u5168\u52a0\u56faGrafana\uff1a\u5b8c\u6574\u6307\u5357 - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"\u672c\u6307\u5357\u8be6\u7ec6\u4ecb\u7ecd\u4e86\u5982\u4f55\u5728Ubuntu 20.04\u670d\u52a1\u5668\u4e0a\u5b89\u88c5Grafana\uff0c\u5e76\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u5173\u952e\u7684\u5b89\u5168\u52a0\u56fa\u6b65\u9aa4\uff0c\u786e\u4fdd\u60a8\u7684\u76d1\u63a7\u5e73\u53f0\u7a33\u5b9a\u3001\u5b89\u5168\u8fd0\u884c\u3002\u4ece\u57fa\u7840\u5b89\u88c5\u5230\u9ad8\u7ea7\u5b89\u5168\u914d\u7f6e\uff0c\u52a9\u60a8\u8f7b\u677e\u90e8\u7f72\u3002\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5982\u4f55\u5728ubuntu-20-04\u4e0a\u5b89\u88c5\u5e76\u4fdd\u62a4grafana\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 20.04\u5b89\u88c5\u4e0e\u5b89\u5168\u52a0\u56faGrafana\uff1a\u5b8c\u6574\u6307\u5357\" \/>\n<meta property=\"og:description\" content=\"\u672c\u6307\u5357\u8be6\u7ec6\u4ecb\u7ecd\u4e86\u5982\u4f55\u5728Ubuntu 20.04\u670d\u52a1\u5668\u4e0a\u5b89\u88c5Grafana\uff0c\u5e76\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u5173\u952e\u7684\u5b89\u5168\u52a0\u56fa\u6b65\u9aa4\uff0c\u786e\u4fdd\u60a8\u7684\u76d1\u63a7\u5e73\u53f0\u7a33\u5b9a\u3001\u5b89\u5168\u8fd0\u884c\u3002\u4ece\u57fa\u7840\u5b89\u88c5\u5230\u9ad8\u7ea7\u5b89\u5168\u914d\u7f6e\uff0c\u52a9\u60a8\u8f7b\u677e\u90e8\u7f72\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5982\u4f55\u5728ubuntu-20-04\u4e0a\u5b89\u88c5\u5e76\u4fdd\u62a4grafana\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-31T15:56:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-31T17:37:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/65646e1aa4b2f92e6c7283e7\/65-0.png\" \/>\n<meta name=\"author\" content=\"\u79d1, \u96c5\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u79d1, \u96c5\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana\/\",\"name\":\"Ubuntu 20.04\u5b89\u88c5\u4e0e\u5b89\u5168\u52a0\u56faGrafana\uff1a\u5b8c\u6574\u6307\u5357 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2022-08-31T15:56:14+00:00\",\"dateModified\":\"2025-07-31T17:37:41+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a\"},\"description\":\"\u672c\u6307\u5357\u8be6\u7ec6\u4ecb\u7ecd\u4e86\u5982\u4f55\u5728Ubuntu 20.04\u670d\u52a1\u5668\u4e0a\u5b89\u88c5Grafana\uff0c\u5e76\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u5173\u952e\u7684\u5b89\u5168\u52a0\u56fa\u6b65\u9aa4\uff0c\u786e\u4fdd\u60a8\u7684\u76d1\u63a7\u5e73\u53f0\u7a33\u5b9a\u3001\u5b89\u5168\u8fd0\u884c\u3002\u4ece\u57fa\u7840\u5b89\u88c5\u5230\u9ad8\u7ea7\u5b89\u5168\u914d\u7f6e\uff0c\u52a9\u60a8\u8f7b\u677e\u90e8\u7f72\u3002\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 20.04\u5b89\u88c5\u4e0e\u5b89\u5168\u52a0\u56faGrafana\uff1a\u5b8c\u6574\u6307\u5357\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a\",\"name\":\"\u79d1, \u96c5\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g\",\"caption\":\"\u79d1, \u96c5\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/keya\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu 20.04\u5b89\u88c5\u4e0e\u5b89\u5168\u52a0\u56faGrafana\uff1a\u5b8c\u6574\u6307\u5357 - Blog - Silicon Cloud","description":"\u672c\u6307\u5357\u8be6\u7ec6\u4ecb\u7ecd\u4e86\u5982\u4f55\u5728Ubuntu 20.04\u670d\u52a1\u5668\u4e0a\u5b89\u88c5Grafana\uff0c\u5e76\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u5173\u952e\u7684\u5b89\u5168\u52a0\u56fa\u6b65\u9aa4\uff0c\u786e\u4fdd\u60a8\u7684\u76d1\u63a7\u5e73\u53f0\u7a33\u5b9a\u3001\u5b89\u5168\u8fd0\u884c\u3002\u4ece\u57fa\u7840\u5b89\u88c5\u5230\u9ad8\u7ea7\u5b89\u5168\u914d\u7f6e\uff0c\u52a9\u60a8\u8f7b\u677e\u90e8\u7f72\u3002","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:\/\/www.silicloud.com\/zh\/blog\/\u5982\u4f55\u5728ubuntu-20-04\u4e0a\u5b89\u88c5\u5e76\u4fdd\u62a4grafana\/","og_locale":"zh_CN","og_type":"article","og_title":"Ubuntu 20.04\u5b89\u88c5\u4e0e\u5b89\u5168\u52a0\u56faGrafana\uff1a\u5b8c\u6574\u6307\u5357","og_description":"\u672c\u6307\u5357\u8be6\u7ec6\u4ecb\u7ecd\u4e86\u5982\u4f55\u5728Ubuntu 20.04\u670d\u52a1\u5668\u4e0a\u5b89\u88c5Grafana\uff0c\u5e76\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u5173\u952e\u7684\u5b89\u5168\u52a0\u56fa\u6b65\u9aa4\uff0c\u786e\u4fdd\u60a8\u7684\u76d1\u63a7\u5e73\u53f0\u7a33\u5b9a\u3001\u5b89\u5168\u8fd0\u884c\u3002\u4ece\u57fa\u7840\u5b89\u88c5\u5230\u9ad8\u7ea7\u5b89\u5168\u914d\u7f6e\uff0c\u52a9\u60a8\u8f7b\u677e\u90e8\u7f72\u3002","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5982\u4f55\u5728ubuntu-20-04\u4e0a\u5b89\u88c5\u5e76\u4fdd\u62a4grafana\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2022-08-31T15:56:14+00:00","article_modified_time":"2025-07-31T17:37:41+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/65646e1aa4b2f92e6c7283e7\/65-0.png"}],"author":"\u79d1, \u96c5","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u79d1, \u96c5","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana\/","name":"Ubuntu 20.04\u5b89\u88c5\u4e0e\u5b89\u5168\u52a0\u56faGrafana\uff1a\u5b8c\u6574\u6307\u5357 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2022-08-31T15:56:14+00:00","dateModified":"2025-07-31T17:37:41+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a"},"description":"\u672c\u6307\u5357\u8be6\u7ec6\u4ecb\u7ecd\u4e86\u5982\u4f55\u5728Ubuntu 20.04\u670d\u52a1\u5668\u4e0a\u5b89\u88c5Grafana\uff0c\u5e76\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u5173\u952e\u7684\u5b89\u5168\u52a0\u56fa\u6b65\u9aa4\uff0c\u786e\u4fdd\u60a8\u7684\u76d1\u63a7\u5e73\u53f0\u7a33\u5b9a\u3001\u5b89\u5168\u8fd0\u884c\u3002\u4ece\u57fa\u7840\u5b89\u88c5\u5230\u9ad8\u7ea7\u5b89\u5168\u914d\u7f6e\uff0c\u52a9\u60a8\u8f7b\u677e\u90e8\u7f72\u3002","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 20.04\u5b89\u88c5\u4e0e\u5b89\u5168\u52a0\u56faGrafana\uff1a\u5b8c\u6574\u6307\u5357"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a","name":"\u79d1, \u96c5","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g","caption":"\u79d1, \u96c5"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/keya\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%a6%82%e4%bd%95%e5%9c%a8ubuntu-20-04%e4%b8%8a%e5%ae%89%e8%a3%85%e5%b9%b6%e4%bf%9d%e6%8a%a4grafana\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=158"}],"version-history":[{"count":3,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/158\/revisions"}],"predecessor-version":[{"id":109633,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/158\/revisions\/109633"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=158"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}