Grafana服务的自定义私网域名功能支持将Grafana工作区解析到指定的域名下,满足个人或者企业统一域名的需求。
前提条件
-
已在目标Grafana工作区基本信息页面,为目标Grafana工作区开通私网地址。在私网地址字段,单击开通私网地址链接,开通并获取私网域名。
-
已在目标Grafana工作区基本信息页面,获取目标Grafana工作区私网域名。在工作区基本信息页面的私网地址一行,可查看已开通的私网访问地址,单击右侧设置可修改私网地址配置。
一、自定义 HTTP 私网域名
以阿里云内网DNS解析(PrivateZone)为示例演示自定义私网域名。
-
登录 云解析DNS产品控制台。
-
在左侧导航栏中单击内网DNS解析(PrivateZone),在右侧界面中单击添加域名(Zone),在弹出页面设置内置权威域名(Zone),然后单击确定。
在 内置权威域名 输入框中填入域名(例如
grafana.mydomain.com),域名类型 选择 内置权威加速区(推荐)。注意域名创建成功后无法更改。 -
在用户域名区域单击新生成的记录,在解析记录页签单击添加记录,然后参照下表配置解析记录参数。单击添加记录,在右侧弹出的配置面板中设置解析记录参数。
参数名称
描述
示例值
记录类型
设置为:CNAME,表示将域名指向另一个域名。
CNAME
主机记录
域名前缀,根据需要填写。
@
解析请求来源
设置为:默认。
默认
记录值及流量负载策略
记录值:填写Grafana的私网域名。
权重:1
记录值:grafana-cn-kjp**-vpc.grafana.aliyuncs.com
权重:1
TTL时间
设置为:1分钟。
1分钟
-
在弹出的解析变更确认提示框中,单击确定,完成添加记录操作。
-
设置域名生效范围,选择需要生效的VPC。
-
返回内网DNS解析 (PrivateZone)页面,单击生效范围设置。
-
在域名设置页签,选择需要生效的VPC,并单击确定。
-
-
配置后在VPC对应的ECS上验证域名是否生效。
例如,
ping grafana.mydomain.com或者直接访问http://grafana.mydomain.com。[root@iZbpxxx ~]# ping grafana.mydomain.com PING grafana-evnxxx.grafana.aliyuncs.com (39.xxx.42) 56(84) bytes of data. 64 bytes from 39.xxx.42 (39.xxx.42): icmp_seq=1 ttl=96 time=37.6 ms 64 bytes from 39.xxx.42 (39.xxx.42): icmp_seq=2 ttl=96 time=37.7 ms 64 bytes from 39.xxx.42 (39.xxx.42): icmp_seq=3 ttl=96 time=37.7 ms 64 bytes from 39.xxx.42 (39.xxx.42): icmp_seq=4 ttl=96 time=37.6 ms 64 bytes from 39.xxx.42 (39.xxx.42): icmp_seq=5 ttl=96 time=37.7 ms ^C --- grafana-evnxxx.grafana.aliyuncs.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 37.572/37.634/37.666/0.247 ms
二、通过云服务器ECS(Nginx)配置自定义HTTPS私网域名
-
在ECS中安装Nginx。
选择一台ECS部署Nginx。
-
下载并解压。
# 可以打开链接下载后上传至服务器,也可以使用下载命令获取安装包 wget https://nginx.org/download/nginx-1.24.0.tar.gz # 目录请自由选择 cp nginx-1.24.0.tar.gz /usr/local/nginx/ cd /usr/local/nginx/ tar -zxvf nginx-1.24.0.tar.gz cd nginx-1.24.0/ -
安装SSL依赖。
yum -y install make zlib-devel gcc-c++ libtool openssl openssl-devel -
检查设置安装参数。
./configure --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module -
编译和安装Nginx。
make make install
-
-
准备SSL证书。
复制证书到 ECS 的
/usr/local/nginx/ssl目录,证书文件分别命名为:/usr/local/nginx/ssl/cert.pem /usr/local/nginx/ssl/cert.key -
配置Nginx。
修改
/usr/local/nginx/conf/nginx.conf,添加如下配置。# HTTPS server # server { listen 443 ssl; server_name grafana.mydomain.com; ssl_certificate /usr/local/nginx/ssl/cert.pem; ssl_certificate_key /usr/local/nginx/ssl/cert.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://grafana-cn-kjp4*******-vpc.grafana.aliyuncs.com:80; } }说明注意将
server_name、proxy_pass值替换为实际值:-
server_name:您的自定义个性化域名。 -
proxy_pass:您的Grafana私网域名。
-
-
检查配置。
cd /usr/local/nginx/sbin/ ./nginx -t如果检查不通过,请根据错误提示修改调整配置文件。报错信息举例:证书文件不存在,证书格式不对,配置格式不符合Nginx要求,换行注释不对,分隔符内容含中文等等。
-
启动Nginx。
./nginx -
域名DNS解析。
参考一、自定义 HTTP 私网域名设置域名解析并配置生效范围。
说明在解析记录管理页面"添加记录", 记录类型为A。记录值为ECS的私网IP。
主机记录设置为
@,解析请求来源选择默认,TTL选择1分钟。
三、通过应用型负载均衡 ALB 配置自定义 HTTPS 私网域名
-
配置监听和域名IP。
-
确认Grafana私网域名IP。
ping Grafana私网域名获取私网域名的IP地址。
ping grafana-cn-kjp4*******-vpc.grafana.aliyuncs.com说明通常情况下Grafana私网IP不会变化,当Grafana实例停机/启用关闭私网域名时会发生变化。
-
在ALB中添加HTTPS监听。以下为一些重要参数的说明,其它信息请参见添加HTTPS监听。
-
在应用型负载均衡ALB控制台,单击目标实例所在行的创建监听。在 ALB 实例列表中,找到目标实例,在其操作列单击创建监听。
-
在配置监听页面,选择监听协议为 HTTPS,监听端口设置为
443,监听名称填写Grafana_HTTPS。 -
在配置SSL证书页面,选择SSL证书。如果没有,单击创建SSL证书,生成新的SSL证书。
-
在选择服务器组页签,参考下表进行配置。
参数名称
说明
示例
服务器组类型
设置为:IP类型。
IP类型
服务器组名称
自定义。
Grafana服务
说明单击添加服务器,添加上面步骤ping得到的Grafana 域名IP,端口为80。
-
单击提交。
-
在监听列表中确认监听状态正常。
-
-
-
域名DNS解析。
-
在ALB详情页获取其VIP信息。在 ALB 实例详情页的可用区列表中,查看 VIP 列获取各可用区对应的虚拟 IP 地址。
-
添加域名解析。
请参考一、自定义 HTTP 私网域名进行配置。以内网DNS解析(PrivateZone)为例。
-
添加记录时,记录类型为:A ,主机记录为:@ (根据自己情况设置),记录值添加上面ALB的VIP。
-
设置生效范围。
-
-
确认域名已生效。验证域名解析是否生效,在 ECS 实例上执行 ping 命令测试连通性:
[root@iZbp1e8ypxxx 9Z ~]# ping my.xxx.com PING my.grafana.aliyuncs.com (172.xxx.247) 56(84) bytes of data. 64 bytes from 172.16.1.247 (172.16.1.247): icmp_seq=1 ttl=102 time=1.40 ms 64 bytes from 172.16.1.247 (172.16.1.247): icmp_seq=2 ttl=102 time=1.31 ms 64 bytes from 172.16.1.247 (172.16.1.247): icmp_seq=3 ttl=102 time=1.34 ms 64 bytes from 172.16.1.247 (172.16.1.247): icmp_seq=4 ttl=102 time=1.34 ms 64 bytes from 172.16.1.247 (172.16.1.247): icmp_seq=5 ttl=102 time=1.32 ms ^C --- my.grafana.aliyuncs.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4005ms rtt min/avg/max/mdev = 1.311/1.339/1.396/0.044 ms[root@iZbp1eCxxx7i9Z ~]# curl https://my.xxx.com <a href="/login">Found</a>.
-