【ECS常见问题 四】运维与监控FAQ

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 什么是云助手?云助手是云服务器 ECS 原生的运维部署服务,支持可视化控制台和 API 操作。无需远程连接实例,云助手便能帮您批量执行 Bat、PowerShell 或者 Shell 命令。更多详情,请参见云助手。

运维与监控FAQ



云助手问题

什么是云助手?

云助手是云服务器 ECS 原生的运维部署服务,支持可视化控制台和 API 操作。无需远程连接实例,云助手便能帮您批量执行 BatPowerShell 或者 Shell 命令。更多详情,请参见云助手


如何使用云助手?

您可以通过 ECS 管理控制台或者调用 API CreateCommand 使用云助手。


云助手支持哪些操作系统类型?

云助手支持主流 Windows Server 和类 Unix 操作系统,具体操作系统版本如下所示:

  • Windows ServerWindows Server 20082012 2016
  • UnixUbuntu 12/14/16CentOS 5/6/7Debian 7/8/9SUSE Linux Enterprise Server11/12OpenSUSEAlibaba Cloud Linux CoreOS


说明:

  • 使用 ECS 公共镜像创建的实例会默认安装云助手客户端。
  • 使用自定义镜像或者云市场镜像创建的实例需要您首先确认操作系统是否支持云助手,再自行安装云助手客户端。


最多能保有多少条云助手命令?

在一个阿里云地域下,根据您的云服务器使用情况而定,您可以保有 100 10000 条云助手命令。


可以修改已经创建的命令吗?

您可以修改云助手命令的名称和描述。为确保周期命令的一致性,不支持修改命令内容、超时时间和执行路径等信息。 如果您需要调整命令内容或执行路径,可以克隆命令,在目标命令的基础新建命令版本。


ECS 实例中执行命令有权限限制吗?

有。您需要以管理员的身份安装和使用云助手:

  • Windows Server 系统的管理员为 administrator
  • Linux 系统的管理员为 root


可以同时在多台实例上执行云助手命令吗?

可以。

  • 方式一:在 ECS 控制台上,一次执行命令操作最多可以选择 50 台实例。在一个阿里云地域下,您每天最多能执行 5000 次云助手命令。
  • 方式二:如果执行大批量任务,建议您使用运维编排服务 OOS ACS-ECS-BulkyRunCommand 运维模板,根据 Tag 批量执行云助手命令无需您逐一输入 InstanceIdOOS 单个循环任务最多能够执行 1000 次云助手命令,并且支持分批执行和并发度控制。


如何查看是否成功执行了命令?

执行云助手命令与您登录实例后执行命令一样,只有命令所需条件满足后才会执行成功。您可以选择以下任一方式查看命令结果:



云助手故障排查问题

Linux 系统 ECS 实例安装云助手客户端失败,提示 No such file or dire ctory.

因为 ECS 实例中已经安装了云助手。请参见以下步骤修复。

  • rpm 安装包:运行以下命令,强制覆盖安装。

rpm -i --force aliyun_x.x.x.rpm

  • deb 安装包:运行以下命令。
  • 卸载旧版本云助手服务。

dpkg -r aliyun-assist

  • 重新安装云助手服务。

dpkg -i aliyun_x.x.x.deb

如何查看云助手的运行日志?

您需要远程连接实例查看日志文件。云助手的运行日志文件如下所示:

  • ${install_dir}/${version}/log/aliyun_assist_main.log
  • ${install_dir}/${version}/log/aliyun_assist_update.log


说明: ${version}为云助手的版本号, 例如 1.0.1.368${install_dir}为云助手在 ECS 实例操作系统中的安装路径。


不同系统的云助手客户端的默认安装路径在哪里?

不同系统的安装路径如下:

  • Windows Server 系统:C:\ProgramData\aliyun\assist
  • CoreOS 系统:/opt/local/share/aliyun-assist/
  • 其他 Linux 系统(例如 Alibaba Cloud LinuxCentOSDebianOpenSUSESUSE LinuxEnterprise Server Ubuntu 等):/usr/local/share/aliyun-assist/


如何查看云助手服务状态?

远程连接 ECS 实例后,参见以下方式:

  • 查看云助手服务状态,确认云助手服务是否正常启用:
  • Linux 系统:
  • 方式一:

systemctl status aliyun

  • 方式二:

ps aux | grep aliyun

  • Windows Server 系统:选择计算机管理 > 服务和应用程序 > 服务,并找到 Aliyun Service
  • 在相应目录查找日志文件。例如:

tail -n 100 /usr/local/share/aliyun-assist/$(/usr/sbin/aliyun-service v)/log/aliyun_assist_m ain.log


  • 在相应目录查找心跳或者更新日志文件。例如:

tail -n 100 /usr/local/share/aliyun-assist/$(/usr/sbin/aliyun-service -v)/log/aliyun_assist_u pdate.log


为什么 Shell 脚本在 Ubuntu 系统下无法执行?但在 CentOS 等系统中正常执行?

因为高版本的 Ubuntu 系统的默认 Shell 环境为 dash,而非bashdash bash Shell 语法不完全兼容,您可以切换默认的 Shell 环境解决该问题。

  • 运行以下命令确认 Shell 环境是否为 dash

ls /bin/sh

  • 运行以下命令切换为默认的 Shell 环境。

dpkg-reconfigure dash

按照页面提示,选择不要将 dash 设置为默认 Shell 环境。

经典网络类型实例可以使用云助手吗?

可以。经典网络类型实例推荐安装最新版本云助手客户端。具体步骤,请参见安装云助手客户端过下载链接安装客户端章节。如果您使用的历史版本客户端,您必须在云助手的安装路径下创建名

region-id 的文件,并在文件中填入 ECS 实例所属地域的 ID。例如,一台 CentOS 系统 ECS 实例在华东1(杭州)地域:


  • 填写地域 ID

echo 'cn-hangzhou' > /usr/local/share/aliyun-assist/region-id


  • 重启云助手服务。


为什么在 ECS 控制台执行命令时,提示实例未安装云助手服务?

因为云助手未收到相应的心跳信息。参见以下方式解决该问题。

  • 如果是云助手服务进程被关闭导致的,您可以重启云助手服务。Windows Server 系统请参见何查看云助手服务状态?Linux 系统可参见以下操作:
  • 运行以下命令重启云助手服务。

systemctl restart aliyun

  • 运行以下命令确认云助手服务是否开机自动启动。

systemctl status aliyun

如果是 disable 状态,运行以下命令设置为开机自动启动。

systemctl enable aliyun


  • 如果是经典网络类型实例,并且安装的是低版本云助手客户端,您需要自行添加配置文件明确 ECS 实例的地域信息。


运行日志中包含 Failed to open gshell: Device or resource busy,如何解决?


  • 现象:日志中包含如下信息。

2019-11-06 03:10:15,993 INFO [default] /dev/virtio-ports/org.qemu.guest_agent.0:-1 2019-11-06 03:10:15,993 ERROR [default] Failed to open gshell: Device or resource busy


  • 排查:
  • 方法一:运行以下命令确认云助手客户端是否开启了多个进程。如果有多个,将所有进程关闭后,再重新启动云助手客户端。

ps aux | grep aliyun

  • 方法二:运行以下命令查看 org.qemu.guest_agent.0 文件被哪些进程占用。云助手进程均含有aliyun-**样式,关闭所有非云助手的进程。

lsof /dev/virtio-ports/org.qemu.guest_agent.0


为什么某些脚本在本机可以执行,但是通过云助手执行会提示 commandnot found

请先排查云助手会话的环境变量,是否包含脚本中的相应命令。

  • 如果您使用 Linux 实例,可以通过执行以下云助手命令查看和设置环境变量。

查看环境变量

export

设置环境变量(以实例上实际的环境变量为准)

export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

  • 如果您使用 Windows 实例,可以通过执行以下云助手命令查看和设置环境变量。

查看环境变量

set

设置环境变量(以实例上实际的环境变量为准)

set PATH=%PATH%;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Wi ndows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Users\Ad ministrator\AppData\Local\Microsoft\WindowsApps;


为什么执行任务后,任务状态为 Failed

请通过以下几个方面进行排查问题:

  • 如果您使用 Windows 实例,请检查实例中 PowerShell 是否正常工作。
  • 确认是否任务超时导致失败。
  • 确认云助手的服务状态是否正常。可通过 DescribeCloudAssistantStatus 进行查询。
  • 查看云助手的日志信息,默认的日志路径如下:
  • Linux 实例:/usr/local/share/aliyun-assist/云助手版本号/log/
  • Windows 实例:C:\ProgramData\aliyun\assist\云助手版本号\log


为什么执行任务后,任务状态为 Abort

任务状态为“Abort”,表示在一分钟之内任务没有下发到实例,建议您重新下发任务。

如果一直失败,请查看云助手的日志信息。


云助手脚本中包含中文字符,为什么返回结果中显示乱码?

系统标准命令编码:Linux 实例默认采用 UTF-8 编码;Windows 实例默认采用 GBK 编码。

如果云助手脚本中包含中文字符,将采用输入提供的编码方式,请确保使用对应的方式解码。


云助手常见错误码

  • InstanceNotRunning:实例未启动,请启动实例。
  • ClientNotRunning:云助手客户端未启动,查看云助手日志及确认云助手进程是否工作正常。
  • DeliveryTimeout:云助手下发任务失败,查看云助手日志或者更新到最新版本后在尝试执行命令。



应用运维问题

用云服务器 ECS 托管一个小型网站,有哪些日常运维建议?

维护网站应用时,您可以参考以下运维建议。


  • 云盘数据日常备份。
  • 建议您使用 SSL 证书服务,实现网站的身份验证和数据加密传输。
  • 安装恶意软件查杀插件、防 DDoS 攻击服务或开启云盾服务。云服务器提供了免费的安全服务。
  • 监控网站流入和流出流量情况,识别出异常流量区间。通过添加拒绝访问的安全组规则,实现临时管控单点异常请求。
  • 监控 ECS 实例和云盘性能表现,标记出流量访问峰值期间。提前熟悉升降配、弹性伸缩或云盘扩容操作,应对请求突发激增。
  • 采用 root/administrator 用户名和密码凭证登录 ECS 实例的场景,需要您定期更新管理员密码。
  • 定期更新软件补丁。阿里云公共镜像会定时更新安全补丁,建议您定期通过公共镜像制作自定义镜像。


>>快来点击免费下载《ECS全知道·下册》了解更多详情!<<


相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
15天前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
187 79
|
11天前
|
运维
阿里云服务器批量执行命令(系统运维管理oos)
阿里云【系统运维管理oos】批量执行详情
34 4
|
15天前
|
弹性计算 运维 Ubuntu
使用阿里云服务器自动搭建WordPress网站流程,超简单by系统运维管理OOS
本教程介绍如何使用阿里云服务器(ECS)和系统运维管理OOS自动搭建WordPress网站,支持Ubuntu、CentOS及Alibaba Cloud Linux等操作系统。前提条件包括ECS实例处于运行中、有公网IP且安全组已开启80端口。安装步骤简单:进入ECS快速购买控制台选择预装WordPress,确认下单后通过管理控制台查看实例详情并开放安全组端口。最后,通过实例公网IP访问,出现WordPress登录页即表示安装成功。
|
1月前
|
运维 Ubuntu 应用服务中间件
自动化运维之路:使用Ansible进行服务器管理
在现代IT基础设施中,自动化运维已成为提高效率和可靠性的关键。本文将引导您通过使用Ansible这一强大的自动化工具来简化日常的服务器管理任务。我们将一起探索如何配置Ansible、编写Playbook以及执行自动化任务,旨在为读者提供一条清晰的路径,从而步入自动化运维的世界。
|
1月前
|
运维 网络安全 Python
自动化运维:使用Ansible实现批量服务器配置
在快速迭代的IT环境中,高效、可靠的服务器管理变得至关重要。本文将介绍如何使用Ansible这一强大的自动化工具,来简化和加速批量服务器配置过程。我们将从基础开始,逐步深入到更复杂的应用场景,确保即使是新手也能跟上节奏。文章将不包含代码示例,而是通过清晰的步骤和逻辑结构,引导读者理解自动化运维的核心概念及其在实际操作中的应用。
|
1月前
|
运维 Ubuntu 网络协议
自动化运维:使用Ansible进行服务器配置管理
在现代IT架构中,自动化运维已成为提升效率、减少人为错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和标准化服务器的配置管理过程。通过具体的代码示例和操作步骤,我们将展示如何快速部署应用、管理配置以及自动化日常任务,从而确保环境的一致性和可靠性。
|
2月前
|
运维 安全 Ubuntu
自动化运维:使用Ansible进行服务器配置管理
在现代IT基础设施中,自动化运维是确保高效、稳定和安全服务的关键。本文将深入介绍如何使用Ansible这一开源工具来简化服务器配置管理工作,从基础安装到高级应用,我们将一步步展示如何通过Ansible Playbooks实现自动化部署和维护,旨在帮助读者构建更加灵活和可扩展的运维体系。
50 7
|
2月前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
2月前
|
运维 应用服务中间件 调度
自动化运维:使用Ansible实现服务器批量管理
【10月更文挑战第26天】在当今快速发展的IT领域,自动化运维已成为提升效率、降低人为错误的关键技术手段。本文通过介绍如何使用Ansible这一强大的自动化工具,来简化和加速服务器的批量管理工作,旨在帮助读者理解自动化运维的核心概念和实践方法。文章将围绕Ansible的基础使用、配置管理、任务调度等方面展开,通过实际案例引导读者深入理解自动化运维的实现过程,最终达到提高运维效率和质量的目的。