前言
在之前其实也做过一次关于OS Copilot的深度评测,当时是还在内测阶段,带给我的的体验就已经非比寻常了,它不仅能够理解复杂的自然语言指令,还能迅速响应并执行命令,这为日常运维工作提供了极大的便利,尤其是在处理紧急情况时,OS Copilot的快速命令查找及执行,可以帮助节省大量的时间和精力。
上一次测评具体可参看:开启运维新纪元!阿里云OS Copilot深度评测 & 体验分享
而这一次,迭代多轮后的OS Copilot又带着它的新功能新特性登场了,下面就让我们一起来看看这些更新如何进一步提升用户体验和效率。
新特性
对比上次测评内容及内测体验感悟,我总结了几个新特性如下:
多端支持
回顾内测时,当时仅支持在Alibaba Cloud Linux 3(仅x86_64架构支持)上使用,而现在,OS Copilot已经显著扩展了其兼容性和适用范围。
现在,OS Copilot不仅全面兼容最新的Alibaba Cloud Linux版本,还广泛支持多种主流Linux发行版,包括Ubuntu、CentOS、Anolis OS等,为更广泛的用户提供便利。此外,除了传统的x86_64架构外,OS Copilot也增加了对aarch64架构的支持,这意味着更多的用户群体能够受益于OS Copilot带来的智能化运维体验,尤其是在ARM架构日益普及的今天,如智能手机、平板电脑乃至服务器领域,ARM架构的应用场景不断扩展,这使得OS Copilot能够在更多类型的硬件平台上发挥作用。
阿里云CLI调用
阿里云CLI(Command Line Interface)是基于阿里云开放API建立的管理工具。借助此工具,可以通过调用阿里云开放API来管理阿里云产品。该命令行工具与阿里云开放API一一对应,灵活性高且易于扩展,可以直接通过命令行的方式调用各云产品的OpenAPI,无需登录控制台即可管理和维护您的云资源。
调用调优工具
在操作系统使用中的重要场景是系统的运维和调优,操作系统的表现对于业务有着非常大的影响。OS Copilot可以通过自然语言调用相关系统运维及调优工具(特别是阿里云自研的系统工具),帮助用户轻松使用系统工具定位系统问题,提升系统性能。
在之前内测时,我清晰记得是只能提供建议来辅助,并无法直接对具体的工具进行调用的,但是现在,这意味着用户可以通过简单的对话形式,例如询问“如何提高数据库查询速度?”或“检查一下最近的系统错误日志”,OS Copilot就能理解意图并采取相应的行动,如运行性能分析、调整系统参数或是过滤并展示相关的日志信息,真的太赞了!
总结
下面,我们进入实战,具体看看新功能能给我们带来什么惊喜吧!
安装OS Copilot
因为涉及到多种操作系统,所以安装方式有差异。
Alibaba Cloud Linux系统安装OS Copilot
确认系统是否安装OS Copilot。
rpm -q os-copilot
如果未安装,则运行如下命令安装OS Copilot。
sudo yum install -y os-copilot
如果已安装,则运行如下命令升级到最新版本。
sudo yum update os-copilot
Ubuntu/Anolis OS/CentOS系统安装OS Copilot
如果是x86_64系统,直接执行如下命令:
curl -#S https://mirrors.aliyun.com/os-copilot/os-copilot-all-in-one-latest.sh | bash
如果是aarch64系统,直接执行如下命令:
curl -#S https://mirrors.aliyun.com/os-copilot/os-copilot-all-in-one-arm-latest.sh | bash
新功能实战测评
首先,我们对比内测时,提炼出几个新功能点。
内测功能
现在功能
Agent模式实装
内测时, -t 参数功能虽然也有提示,但是当时应该并未实装成Agent模式,现在的Agent模式是已经完全实装了。
当不使用 -t,例如运行:co 当前系统健康度,得出结果,将会由大模型判断是否使用agent模式。
此时可以看到,Copilot也只会给出一些推荐的命令行及方式,并不会直接对服务器进行巡检。
当使用 -t,例如运行:co 当前系统健康度 -t,得出结果,直接指定进入agent模式,使得OS Copilot自动调用注册工具完成任务。
此时,Copilot Agent会直接完成对服务器整体状态的巡检,并输出成报告!!!
真的太强了!!!这个功能太有用了!!
除了系统健康度外,我们还可以尝试如下:
co 帮我找出哪一个文件占用的资源最大 -t
co 我想修改网卡信息,你知道该文件的路径在哪里吗 -t
co 帮我安装nginx -t
co 分析下/var/log/messages最后10行日志,并把结论写到report.log文件中 -t
我愿意称之为最佳功能点!
读取文件执行复杂任务
这里有个不太好的点就是,没有给出复杂任务推荐的task描述格式,所以我这里是模仿视频中来制作的task任务描述的。
根据我的理解就是,我们只需要写清楚步骤和要操作的对象,最后说明需要什么东西作为结果,Copilot就可以自动识别理解内容并生成对应脚本再执行。
我们尝试如下操作:
设置定时任务,每个月自动修改一次该机器的默认登录密码,登陆密码要求随机生成,并将生成的密码保存在/usr/passwd.txt下面
执行命令如下:
co -f task -t
查看定时任务:
查看密码文件:
回顾上面过程也可以发现, -f 模式下可以识别文件内容,结合 -t 的 agent 模式 自动拆解复杂任务,一起食用更佳!
下面我们再尝试一个稍微复杂点的任务。
每天早上生成前一天所有服务的日志摘要报告。该报告应该包含每个服务的关键性能指标(KPI),比如响应时间、错误率等,并且还要与其他日期的数据进行比较,以便识别趋势变化。
阿里云CLI调用
我们先直接提问如下:
co 查看下xxxxxxxxxxxx这个阿里云账号有哪些资源? -t
调用CLI的话,还需要额外安装aliyun-cli软件。
sudo dnf install aliyun-cli -y
使用AK/SK配置aliyun权限。
aliyun configure
配置相关信息,设置自己的AK/SK,需要注意的是,此时AK/SK也必须具备OS Copilot的调用权限。
设置完成后如下所示:
这个时候,我们再尝试,即可通过CLI API来查询该账号下的资源。
使用管道
给出提示如下:
cat /etc/sysctl.conf | co 解释下这些参数的含义
cat /etc/sysconfig/network-scripts/ifcfg-ens33 | co 解释下这些参数的含义
可以方便大家快速了解文件内容和学习操作指令,对于新手用户极其友好!
总结
评测报告
我是一位安全运维工程师,我平时工作自然是涉及云资源的运维和管理,这里先简单谈谈和内测时的对比吧。
如果说在内测时,OS Copilot只能是作为一个辅助参考的文本查阅助手,那么现在,他完全是一个合格的贴身管家!
上述几个新增的功能都是极其有用的,特别是 -f 和 -t 的加入,自动拆解复杂任务真的是太方便了。以 -f 参数为例,它可以让我们通过编写详细的步骤和目标来定义复杂的任务需求,而OS Copilot则能根据这些描述自动生成相应的脚本并执行任务。这意味着即使是那些需要多步操作才能完成的任务,现在也可以被简化成一个简单的命令行指令。这对于日常运维中经常遇到的重复性任务来说,无疑是一个巨大的福音。
-t 参数的作用也比较大,它使得OS Copilot可以直接进入Agent模式,从而允许Copilot Agent直接快速完成对服务器整体状态的巡检并输出报告,这样的设计对于希望快速获取服务器健康状况或者执行紧急修复工作的场景非常有用!
此外,随着OS Copilot不断进化,其底层支撑的大模型能力和个性化功能也在持续增强,支持更多种类的语言以及更广泛的技术领域内的术语理解。这就意味着无论是在中文环境中还是其他语言环境下工作的运维人员,都可以享受到更加流畅的服务体验。同时,OS Copilot也逐渐开始支持更多的操作系统类型,这对于我们这些可能需要跨平台工作的工程师而言,无疑提供了极大的便利。
个人建议在产品文档上增加一些 -f 功能中task任务模板的编写教程,帮助我们使用者学习如何更好的来控制生成的效果,达到自己的最终目的
同时在安全方面考虑,可不可以在Agent中内置一些等保测评的模板,实现通过Copilot一键设置等保策略或者检查是否符合等保要求?
但是同时又想到,OS Copilot本身的安全性该如何保证呢?毕竟,考虑到权限也比较大,所以建议考虑在安全性方面也需要进行严格的把控。