点击蓝字 关注我们
背景
腾讯云日志服务(Cloud Log Service,CLS)提供从日志采集、存储、检索分析、数据加工、消费投递、可视化及告警等一站式 SaaS 服务,覆盖业务运维、运营、审计等场景。
为满足多人多团队共用 CLS 日志服务的场景需求,日志服务 CLS 首发 DataSight 独立控制台,开箱即可用,管控更安全。用户无需登录腾讯云控制台即可访问 CLS,支持“自定义账号密码登录”或“免登录”等多种访问方式。
🌟DataSight 独立控制台相关介绍及入门操作案例请见:
谁说“安全”和“便捷”不可兼得?CLS 首发 DataSight 独立控制台
本期文章,将重点介绍 DataSight 的更多应用场景及解决方案。
场景案例
场景一:免登录,所有用户匿名访问 CLS 指定资源
场景需求:
运维人员负责公司业务日志的管理,需要开放业务日志和分析仪表盘给所有业务部门的同事。现状与需求如下:
● 只有运维人员有云控制台账号,业务人员没有账号;且出于管理成本考虑,也不想给业务人员配置控制台账号。
● 业务人员人数多,且流动性比较大,希望既可以便捷快速打开控制台,减少登录步骤,同时又要保证日志的安全。
● CLS 里存储了接口调用、设备运行、用户审计等多个日志主题,希望业务人员仅能看到业务相关的日志主题和仪表盘。
解决方案:
● 前提条件:需要实现本地办公网与腾讯云的网络互通。可通过专线网关、VPN连接、云联网等方式实现。
● 运维人员设置通过内网访问 DataSight,匿名登录,用户密钥配置只读权限访问业务日志主题和仪表盘,实现内网匿名访问。
● 业务人员在内网环境下,通过运维人员提供的访问链接。登录 DataSight 查看各自的业务日志。
操作步骤:(详情请见官方文档:https://mc.tencent.com/Xt9UjzSC)
2. 在控制台【访问管理】创建子用户, 配置对指定日志主题、仪表盘具备只读权限。创建完成后,获取子用户的 SecretId、SecretKey。
3. 选择 DataSight 的登录方式为匿名登录,填入 SecretId、SecretKey。
4. 保存配置,获得 DataSight 访问链接。在内网环境,用户通过访问链接直接登录 DataSight 实现各自的业务需求。
场景二:LDAP 认证登录,各业务团队人员访问不同 CLS 资源
场景需求:
公司运维团队需要开放 CLS 日志服务给公司的 A、B 两个不同业务团队的人员。现状和需求如下:
● 只有运维人员有云控制台账号,业务团队无账号。
● 公司已基于 LDAP 实现了自己的统一身份认证系统,想依托已有的统一身份认证系统自动完成认证登录。
● A、B 两个团队的日志主题和仪表盘资源需要相互隔离,互不可见。
解决方案:
● DataSight 独立控制台具备第三方认证登录的能力,对接用户的 LADP 服务。分别创建 DataSight 角色 userA 与 userB,配置不同权限的子用户密钥,对应 A、B 两个不同的业务团队。
● 通过反向代理对接用户 LDAP 服务与 DataSight,将 DataSight 角色与 LDAP 的业务团队做映射。
● 通过反向代理访问 DataSight,并通过统一身份认证系统的账号密码实现登录和鉴权。
操作步骤:
(详情请见官方文档:https://mc.tencent.com/Xt9UjzSC)
1. 创建 DataSight 实例,选择内网访问。
● 通过 DataSight 的 URL 自定义查询条件能力,添加预设的过滤,跳转后打开指定日志主题与仪表盘。
● 通过仪表盘自定义跳转链接的能力,实现点击后携带查询条件打开其他 URL 的效果。建 DataSight 实例,选择内网访问。
2. 在控制台【访问管理】创建两个子用户,分别命名为 userA 和 userB 。userA、userB 分别配置指定标签日志主题、仪表盘的权限。创建完成后,获取两个子用户的 SecretId、SecretKey。
3. 选择 DataSight 的登录方式为第三方认证登录,在第一步中创建两个角色命名为 userA 和 userB,填入对应的 SecretId、SecretKey。然后按照指引配置 LDAP 的反向代理认证,并填写反向代理的 IP 地址。
4. 保存配置,记住反向代理的域名。用户通过访问反向代理的域名(注意不是 DataSight),使用 LDAP 的账号登录 DataSight 实现各自的业务需求。
场景三:通过查询条件传参,跳转到 DataSight 指定日志主题与仪表盘
场景需求:
公司运维团队已经配置了 DataSight,开发人员可以通过 DataSight 查看应用日志。但是该公司还有其他分系统,如应用监控平台等。日常排障时,需要在应用监控平台定位异常应用,然后在日志平台手动过滤该应用的日志,两个系统之间的跳转非常麻烦,希望 DataSight 可以与其他业务系统互相联动,便捷跳转。
解决方案:
● 通过 DataSight 的 URL 自定义查询条件能力,添加预设的过滤,跳转后打开指定日志主题与仪表盘。
● 通过仪表盘自定义跳转链接的能力,实现点击后携带查询条件打开其他 URL 的效果。
实现效果:
● 从应用监控平台携带 APPID 做为查询条件,直接打开 DataSight 上对应 APPID 的日志。
● 从应用监控平台携带 APPID 做为查询条件,精准打开 DataSight 上对应 APPID 的仪表盘。
● 从 DataSight 的仪表盘上点击 APPID,可直接打开对应 APPID 的应用监控平台的 URL。
操作示例:
● 跳转到检索分析页面
设定一个检索语句 APPID:${appId} ,点击查看日志时,将当前页面应用的 APPID 作为变量填入检索语句,编码后拼接到 URL 的参数 queryBase64 里跳转到 DataSight。
// 请根据实际情况修改 <domain-appid>(datasight域名前缀)、<topic_id>、<region>、<query>部分
https://<domain-appid>.clsconsole.tencent-cloud.com/cls/search?region=<region>&topic_id=<topic_id>&queryBase64=<query>
● 跳转到仪表盘页面
在仪表盘中配置好 APPID 的下拉选项过滤,获取下拉选项参数名称,如:var-APPID。点击查看仪表盘时,将页面应用的 APPID 作为变量填入 URL 参数 var-APPID 后,跳转到 DataSight。
// 请根据实际情况修改 <domain-appid>(datasight域名前缀)、<dashboard_id>、<value>部分
https://<domain-appid>.clsconsole.tencent-cloud.com/cls/dashboard/d?id=<dashboard_id>&var-APPID=<value>
日志服务页面更多 URL 参数说明见:
https://mc.tencent.com/T063HD3U
● 从仪表盘携带变量打开其他 URL
操作见:https://mc.tencent.com/TsZKuEdN
场景四:内嵌 DataSight 页面到统一运维平台
场景需求:
公司运维团队已经配置了 DataSight,开发人员可以通过 DataSight 查看应用日志。但是公司自己开发了统一的运维平台,需要将 DataSight 集成到统一运维平台上,有以下需求:
● DataSight 页面支持内嵌。
● 可隐藏 DataSight 导航菜单、编辑按钮、跳转按钮等页面元素。
解决方案:
● 内嵌推荐使用匿名登录或第三方认证登录,通过 iframe 实现页面嵌入。
● 嵌入的 URL 可通过参数实现丰富的页面元素隐藏和显示控制
操作示例:
// 一个快速查看效果的样例,请根据自身业务进行调整
// 请根据实际情况修改 <domain-appid>(datasight域名前缀)部分
function prepareSdkFrame(url) {
var ifrm = document.createElement("iframe");
ifrm.setAttribute("src", url);
ifrm.style.width = "1280px";
ifrm.style.height = "960px";
document.body.appendChild(ifrm);
}
const url = 'https://<domain-appid>.clsconsole.tencent-cloud.com/cls/search?region=${Region}&topic_id=${TopicId}&query=${Query}&time=now-h,now&hideWidget=true&hideTopNav=true&hideLeftNav=true'
prepareSdkFrame(url)
日志服务页面 URL 隐藏参数说明见:
https://mc.tencent.com/RdZVf7rf
日志服务检索分析页面可隐藏内容说明:
日志服务仪表盘页面可隐藏内容说明:
场景五:使用自定义域名访问DataSight
场景需求:
公司运维团队已经配置了 DataSight,开发人员可以通过 DataSight 查看应用日志。为方便管理和记忆,希望 DataSight 可使用公司域名 test.com。
解决方案:
通过反向代理实现自定义域名。
操作演示:
NGINX 配置模板:
# 请根据实际情况,修改此配置示例中<your-domain.com>、<your-domain-cert>、<domain-appid>(datasight域名前缀,支持公网/内网域名)部分
# 强烈建议您为自定义域名开启https,并强制http跳转到https,以提升浏览器请求安全性、减少浏览器请求排队等待。
# 如不希望强制跳转到https协议,可注释此server配置
server {
listen 80;
server_name <your-domain.com>;
return 301 https://$host$request_uri;
}
server {
# 如希望通过http协议访问,可去掉下行注释
# listen 80;
listen 443 ssl http2;
server_name your-domain.com;
ssl_certificate <your-domain-cert.pem>;
ssl_certificate_key <your-domain-cert.key>;
location ~ ^/(.*) {
proxy_pass https://<domain-appid>.clsconsole.tencent-cloud.com;
proxy_set_header Host $proxy_host;
proxy_set_header Origin https://$proxy_host;
proxy_set_header Referer "https://$proxy_host/$1";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Proxy true;
proxy_set_header X-Proxy-Host $host;
proxy_set_header X-Proxy-Real-IP $remote_addr;
proxy_set_header X-Proxy-Forwarded-Proto $scheme;
proxy_redirect ~^(.*)/login\?s_url=https?%3A%2F%2F[a-z0-9\-]+(.internal)?.clsconsole.tencent-cloud.com%2F(.*)$ $1/login?s_url=https%3A%2F%2Fyour-domain.com%2F$3;
}
}
详细操作步骤及示例请见官方文档:
https://mc.tencent.com/Xt9UjzSC
结语
DataSight 独立控制台可以避免重复的开发管理工作,支持免腾讯云账号使用 CLS 日志服务,与自建业务系统的配合也愈发紧密,成为多人多团队共用 CLS 的最佳场景解决方案。
🌟有奖征稿:
欢迎大家积极投稿,分享自己的 DataSight 应用场景、使用姿势,优秀案例有机会入选 CLS 官网产品文档,并获得 CLS 知识贡献奖品一份~欢迎大家积极参与!
产品使用问题、技术咨询欢迎加入 CLS 粉丝群,直接跟日志专家 1v1 对话,更有超多粉丝福利,快来加入我们吧。
更多日志服务相关前沿技术、产品动态,欢迎关注腾讯云CLS公众号。
点击「阅读原文」领取操作手册