--- - name: 批量安装监控代理软件 hosts: nomad_cluster become: yes vars: ansible_python_interpreter: /usr/bin/python3 tasks: - name: 添加Grafana APT源 apt_repository: repo: "deb [trusted=yes] https://packages.grafana.com/oss/deb stable main" state: present filename: grafana when: ansible_distribution == "Debian" or ansible_distribution == "Ubuntu" tags: - grafana-repo - name: 更新APT缓存 apt: update_cache: yes tags: - update-cache - name: 检查node-exporter是否已安装 command: which prometheus-node-exporter register: node_exporter_check failed_when: false changed_when: false - name: 安装prometheus-node-exporter apt: name: prometheus-node-exporter state: present update_cache: yes when: node_exporter_check.rc != 0 register: node_exporter_install - name: 显示node-exporter安装结果 debug: msg: "{{ inventory_hostname }}: {{ '已安装' if node_exporter_check.rc == 0 else '安装完成' if node_exporter_install.changed else '安装失败' }}" - name: 检查promtail是否已安装 command: which promtail register: promtail_check failed_when: false changed_when: false - name: 安装promtail apt: name: promtail state: present update_cache: yes when: promtail_check.rc != 0 register: promtail_install - name: 显示promtail安装结果 debug: msg: "{{ inventory_hostname }}: {{ '已安装' if promtail_check.rc == 0 else '安装完成' if promtail_install.changed else '安装失败' }}" - name: 创建promtail数据目录 file: path: /opt/promtail/data state: directory owner: promtail group: nogroup mode: '0755' when: promtail_check.rc != 0 or promtail_install.changed tags: - promtail-dirs