Linux Ansible:重新启动占用内存的进程>;75%
我不熟悉Ansible。我的任务是使用Ansible自动化基础架构级别1 上述要求如下:Linux Ansible:重新启动占用内存的进程>;75%,linux,bash,shell,ansible,Linux,Bash,Shell,Ansible,我不熟悉Ansible。我的任务是使用Ansible自动化基础架构级别1 上述要求如下: 登录到服务器 查找占用最多内存的进程(大于指定的阈值) 重新启动有问题的服务 如果上述步骤在非营业时间(指定)内失败,则重新启动服务器,并 等待警报清除,否则 向2级/第2层组发送电子邮件以进行进一步的故障排除 可能有助于完成上述任务的具体问题 如何获取内存消耗大于50%的所有进程,以及 迭代它们以正常地重新启动服务 如何实际使用服务模块重新启动服务以实现动态 服务名称 我无法根据内存消耗获取进程。我所能做
ps-o pid--sort=-%mem | awk'NR要执行的任务是“重新启动服务”。问题在于确定要启动的服务。一旦完成,您就可以触发一个剧本(甚至是任务的单个临时执行) 您需要进程名称和服务之间的映射。您的监视将引发一组违反SLO的进程,并触发您的修复。让我们假设这是一个Ansible playbook。您需要一个如下任务:
- name: Restart services which consume to much memory
service:
name: "{{ item }}"
state: restarted
with_items: bad_services
这意味着您有一个变量bad_services
,它只是一个服务名称列表。您可以注册一些变量来确定该任务是否已通过或失败,并适当处理结果。它可以作为环境变量传递:
export BAD_SERVICES=$(get_bad_services.sh)
ansible-playbook fix_bad_services.yml -e bad_services=$BAD_SERVICES
“基础架构级别1”是什么意思?