云服务诊断是面向客户运维工程师及开发者提供的一款阿里云资源运维工具,它主要包含“健康状态”和“诊断”两大核心功能。
产品体验
我如今是一家能源科技公司的产品经理,曾几何时我也是某家公司某个技术团队的成员之一,对于及时发现业务异常和服务状态,一般技术人员均会通过多种工具来辅助实现,比如使用范围很广的Zabbix、Prometheus、Grafana等,而这些工具的使用都有一个限制,那就是需要安装所谓的代理监听程序,对于小公司而言,多则几十台机器批量安装代理还凑合,可接入这几十台机器的数据到工具上就非常耗时耗力了,一是需要弄懂工具的具体指标配置,二是如何根据业务运行规律设置告警阈值。面对这些不方便和疑问,云服务时代如何管理成上千万,甚至更多云资源时,又该如何实现及时发现快速处置呢,这就是接下来要深入体验的云服务诊断产品。
在正式体验开始前,有必要对云服务诊断服务当前支持的产品进行必要了解,两个核心功能所支持的产品也有所差异,链接如下:
为了尽可能通过实际的场景来体验云服务诊断两大核心功能,这里以一个ECS结合OSS的个人网盘实践开始。对于ECS创建和OSS创建的具体步骤这里就不再赘述了,想了解的朋友可以直接前往官网学习了解。下面直接开始,登录ECS开始安装对应程序组件。
进入ECS管理控制台,点击远程链接,这里直接通过Workbench进行登录,当然你可以选择你习惯的方式登录,比如第三方SSH工具链接。
输入密码点击确定进行登录,首先我们通过如下命令下载一个安装包并进行安装运行,如下:
#下载安装包到ECS
wget https://developer-labfileapp.oss-cn-hangzhou.aliyuncs.com/ECS/cloudreve_3.3.1_linux_amd64.tar.gz
#解压安装包
tar -zxvf cloudreve_3.3.1_linux_amd64.tar.gz
#赋予可执行权限
chmod +x ./cloudreve
#运行程序
./cloudreve
这里要注意的是,程序登录的默认用户名和密码要记住,后面登录会用到。下面直接通过浏览器访问网盘服务,如下:
这样,一个简单的网盘应用就搭建完成了。由于现在网盘还没有存储空间,这里用到了OSS对象存储,所以接下来还需要将OSS挂载到ECS上进行使用。这里先停止网盘服务,进行OSS文件系统的挂载,命令如下:
#下载ossfs包
sudo wget https://gosspublic.alicdn.com/ossfs/ossfs_1.91.3_anolisos8.0_x86_64.rpm
#安装ossfs
sudo yum install -y ossfs_1.91.3_anolisos8.0_x86_64.rpm
#配置账号访问权限(为了安全,这里账号和密码均做了隐藏处理)
echo adc-lab-a8***nyt-hla2dgdn:LTAI5tJnC3**vAkW5U**N*xB:DDQ****Rn8**WpYcVaKt7N5pQRCB > /etc/passwd-ossfs
#为文件赋权
chmod 640 /etc/passwd-ossfs
#创建挂载目录
mkdir oss
#执行挂载(这里的url是OSS的内网Endpoint)
ossfs adc-lab-a8***nyt-hla2dgdn oss -o url=oss-cn-shanghai-internal.aliyuncs.com
通过命令df -h可查看到当前已经实现了对OSS挂载。
接着,登录网盘程序,将OSS添加到程序中。
完成后更改下管理员的存储策略,调整为OSS。
接着,到网盘首页,直接拖拽文件实现上传。
到这,一个完整的网盘就完成了搭建并关联了OSS存储。接下来就可以通过云服务诊断看看这些服务的状态了。
健康状态
健康状态是指阿里云资源的可用性状态,分为“可用”(正常)和“不可用”(异常)两种状态。
进入主控制台就可以看到当前账号下所有服务的一个健康状态了,这里绿色代表正常,红色则异常。
如果你觉得这里涉及的产品状态太多,可以进入云服务诊断的控制台,根据产品类型查看对应状态。
如果你产品下存在多个实例,也可以同时查看到多个实例的一个健康状态。
也可以点击“查看全部”来到详情。
在详情页,你可以从两种维度查看状态,一个是产品维度,一个是时间维度。如下:
相对于产品维度的简洁明了,时间维度就更有助于日常实际运维场景,你可以随时查看各个时间状态下服务的健康状态,精准定位异常。
我认为健康状态非常有用且很必要,尤其是针对全业务都运行在云资源上的业务和公司来说,这个一目了然的健康状态就显得非常必要且重要了,一方面可以极大降低传统运维人员日常巡检的工作量,二来可以协助技术人员通过状态颜色及时发现服务异常和业务风险,可以说在一定程度上为业务可持续性提供了坚实的质量保障。
一键诊断
如果说健康状态检测的是服务或者产品的是否正常的指标,那诊断就是对一个或多个云资源某种工作状态(配置、功能、性能、连接、安全等)的检测分析,并对异常进行详细描述并提供修复建议。比如ECS是否可以正常访问,其上运行的服务能否正常访问等。
云服务诊断有多种方式可以实现,下图列举了三种常用方式,如下:
- 在主控制台首页侧边栏点击图标可快速发起诊断
- 在主控制台首页右侧创建诊断
- 进入云服务诊断控制台,创建诊断任务
下面我们创建一个诊断任务,看看上述的网盘服务能否正常访问,在诊断场景的其他中选择网络连通性。
在角色及权限说明弹窗中点击确定。
发起端为本机IP,目的端是ECS,网盘服务的端口,点击开始诊断。
在服务未开启的情况下,我们发现无法访问
点击红色异常的节点,可以查看异常的详细信息。
从这个异常提示可以看出,是ECS的安全组阻断了访问,这个对于运维工程师排查问题太实用了。我们再来创建一个针对ECS的诊断任务,模仿一个非常经典的场景,就是ECS无法通过远程连接。
通过诊断,可以非常直观看到异常的点在哪里,并提供了具体的处理建议。
从诊断结果来看还是非常实用的,一是安全组没有放开,一是账号密码不正确或未设置,诊断非常准确。对于运维人员来说,遇到问题不再需要将主机逐个进行排查了,通过一键诊断可以快速定位问题所在,从而降低问题影响的时间,提高业务健壮性。
我认为诊断非常必要且有用,对于一线运维人员来说,一个可以一键诊断并反馈业务现状的工具是多么急需的,尤其在重大业务保障和节假日安保期间,通过一键诊断可以及时发现服务和资源的瓶颈和风险在哪,从而提前做好防范和预案。
体验总结
整体感受
1、官网提供的文档和教程都挺详细的,不仅有功能的使用说明和对应截图,还提供了对应实践供参考。此外,如果文档提供的帮助不是太全面,还可以通过AI助理或者平台客服及时获得支持。
2、控制台界面设计简洁明了,用户可以快速找到所需的功能选项。比如健康状态和诊断功能的入口就非常清晰,用户进入控制台就可以找到。
3、操作方便快捷,各个服务的健康状态一目了然,当云资源出现异常时,用户可以快速定位并采取相应的修复措施,避免业务中断。针对不同的资源提供了场景和典型问题的诊断模板,用户可以通过控制台快速发起诊断,只需选择对应的诊断场景并配置相关参数,即可开始诊断。在诊断过程中,用户可以随时查看诊断进度和结果,操作流畅且直观。特别需要提到的功能是一键诊断,它大大简化了诊断流程,提高了诊断效率,尤其适用于需要快速排查和解决问题的场景。此外,诊断报告详细且专业,包括每个诊断项的结果、异常详情和修复建议。用户可以根据修复建议快速解决问题,提升运维效率。
4、实用性强,云服务诊断提供了实时的诊断结果和修复建议,用户可以在第一时间获取到问题的解决方案。诊断结果的准确性高,用户可以根据修复建议快速解决问题,避免了因误判而导致的额外工作。
美中不足
1、诊断结果可能受限制:虽然提供了全面的诊断功能,但在某些特定情况下,诊断结果可能受到云资源本身或基础设施的限制。比如云资源存在硬件故障或数据中心故障等问题,诊断结果就无法准确反映问题的根源或提供有效的解决方案。
2、虽然当前两大功能所支持的产品和服务很多,但还是没能达到全面兼容,比如数据库就不支持云数据库 ClickHouse、OceanBase。
3、诊断模板虽然可以涵盖大多数的场景,但也仅仅是针对ECS的场景多而已,对于数据库目前只有RDS白名单检测。作为服务可用性的一个关键应用,我希望诊断可以涵盖更多实用的场景,比如web应用无法访问更深层次的诊断,比如配置文件错误,服务进程假死等。此外,目前的诊断局限于单个云资源,不能对多个云资源进行综合诊断,这也就无法达到真实场景的诊断全面性。
4、一键诊断功能非常好,不应局限于个别场景,应该跟更多服务和资源进行深入融合,打造成诊断专家。此外,能否考虑接入AI大模型,让诊断更智能,更全面,更好用。
对于云服务诊断产品,我希望可以有更多的用户使用起来并将真实体验反馈出来,大家一起努力为云服务诊断产品的不断迭代更新贡献微小的力量。我的分享链接如下,欢迎前往阅读打卡。云服务诊断体验测评-CSDN博客