【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
相关文章
|
13天前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
21天前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
113 3
|
29天前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
58 2
|
1月前
|
运维 负载均衡 应用服务中间件
自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第34天】在现代IT运维工作中,自动化已成为提升效率、减少错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。我们将通过实际案例展示如何利用Ansible的Playbooks来自动化常见任务,并讨论其对提高运维团队工作效率的影响。
|
1月前
|
运维 应用服务中间件 网络安全
自动化运维:使用Ansible进行批量服务器配置
【9月更文挑战第35天】在现代IT基础设施管理中,高效、可扩展的自动化工具是提升工作效率的关键。本文将引导您了解如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置过程,确保一致性和可靠性的同时减少人为错误。通过实际案例,我们将展示如何编写Ansible Playbook以实现批量服务器配置,从而让您能够更加轻松地管理和维护您的服务器群。
|
21天前
|
运维 应用服务中间件 调度
自动化运维:使用Ansible实现服务器批量管理
【10月更文挑战第26天】在当今快速发展的IT领域,自动化运维已成为提升效率、降低人为错误的关键技术手段。本文通过介绍如何使用Ansible这一强大的自动化工具,来简化和加速服务器的批量管理工作,旨在帮助读者理解自动化运维的核心概念和实践方法。文章将围绕Ansible的基础使用、配置管理、任务调度等方面展开,通过实际案例引导读者深入理解自动化运维的实现过程,最终达到提高运维效率和质量的目的。
|
22天前
|
消息中间件 数据采集 运维
一份运维监控的终极秘籍!监控不到位,宕机两行泪
【10月更文挑战第25天】监控指标的采集分为基础监控和业务监控。基础监控涉及CPU、内存、磁盘等硬件和网络信息,而业务监控则关注服务运行状态。常见的监控数据采集方法包括日志、JMX、REST、OpenMetrics等。Google SRE提出的四个黄金指标——错误、延迟、流量和饱和度,为监控提供了重要指导。错误监控关注系统和业务错误;延迟监控关注服务响应时间;流量监控关注系统和服务的访问量;饱和度监控关注服务利用率。这些指标有助于及时发现和定位故障。
65 1
|
1月前
|
运维 负载均衡 安全
自动化运维:使用Ansible进行服务器配置管理
【10月更文挑战第15天】在本文中,我们将探讨如何利用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。通过实际案例和代码示例,我们将展示Ansible如何帮助运维人员高效地进行软件部署、系统更新和日常维护任务,从而提升工作效率并减少人为错误。
|
1月前
|
运维 Prometheus 监控
运维之眼:监控的艺术与实践
在信息技术飞速发展的今天,运维监控已成为保障系统稳定运行的关键。本文将探讨运维监控的重要性,介绍常用的监控工具和方法,并通过实际案例分析,展示如何有效地实施监控策略,以确保系统的高可用性和性能。
|
1月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
38 1
下一篇
无影云桌面