Ansible_Dome
要使用 Ansible 安装 sar(一个用于收集和报告系统性能的工具),你可以编写一个简单的 Playbook 来实现。在这个 Playbook 中,我们将使用 Ansible 的 package 模块来安装软件包。具体步骤如下:
1. 创建一个 Playbook 文件
首先,创建一个名为 install_sar.yml 的文件,内容如下:
---
- name: Install sar software
  hosts: localhost  # 目标主机是本地
  become: yes  # 使用 sudo 权限执行
  tasks:
    - name: Install sysstat package (contains sar)
      package:
        name: sysstat  # sysstat 包包含 sar 工具
        state: present  # 确保软件包已安装解释:
- 
hosts: localhost:表示在本地机器上执行任务。
- 
become: yes:表示使用sudo权限执行任务,因为安装软件通常需要管理员权限。
- 
package
模块:用于安装、更新或删除软件包。
- name: sysstat:指定要安装的软件包,- sysstat包包含- sar工具。
- state: present:确保该软件包已经安装。如果已经安装,则不会做任何更改;如果未安装,则会进行安装。
2. 执行 Playbook
保存好 Playbook 文件后,你可以使用以下命令执行该 Playbook:
ansible-playbook install_sar.ymlAnsible 会连接到本地机器,使用 sudo 安装 sysstat 包(其中包括 sar 工具)。执行后,应该会看到类似下面的输出:
PLAY [Install sar software]  ******************************************************
TASK [Install sysstat package (contains sar)] **********************************
changed: [localhost]
PLAY RECAP *********************************************************************
localhost                  : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=03. 验证安装
安装完成后,可以通过以下命令检查 sar 是否已安装并正常工作:
sar -v如果安装成功,应该会显示 sar 的版本信息。
其他配置(可选)
如果你希望安装并配置 sar 工具来定期收集数据(例如启用 sysstat 服务),可以通过添加额外的任务来完成。例如:
---
- name: Install sar software and enable sysstat service
  hosts: localhost
  become: yes
  tasks:
    - name: Install sysstat package (contains sar)
      package:
        name: sysstat
        state: present
    - name: Enable and start sysstat service
      service:
        name: sysstat
        state: started
        enabled: yes这个 Playbook 会在安装 sysstat 包后,启用并启动 sysstat 服务,确保 sar 可以定期收集系统性能数据。
直接使用 ansible 命令执行任务
例如,要安装 sysstat 包(其中包含 sar 工具),你可以使用 ansible 命令的 package 模块来直接安装,而不需要写 Playbook。
1. 使用 ansible 命令安装 sysstat 包
ansible localhost -m package -a "name=sysstat state=present" -b解释:
-  localhost:表示目标主机是本地机器。如果你要管理远程主机,只需替换为目标主机名或 IP 地址。
-  -m package:使用package模块来管理软件包的安装、删除或更新。
-  -a "name=sysstat state=present":传递给模块的参数,表示安装sysstat包,state=present意味着确保该软件包已经安装。如果已安装,则不会做任何更改。
-  -b:表示使用sudo权限执行任务,因为安装软件包通常需要管理员权限。
2. 执行结果:
localhost | SUCCESS | rc=0 >>如果执行成功,命令会返回类似上面的输出,表示命令成功执行。
总结:
-  如果任务非常简单或临时需要执行一些操作,不写 Playbook 也是完全可以的。你可以通过命令行直接使用 ansible命令来执行任务。
- 对于更复杂的操作,或者需要重复执行的任务,建议使用 Playbook 来组织和管理,这样可以更方便地管理多个任务和主机,并使操作更加模块化和可维护。