date: 2021-01-13title: Ansible安装node_exporter #标题
tags: ansible #标签
categories: ansible # 分类
记录下ansible批量安装node_exporter的playbook。
目录结构
$ tree .
.
├── hosts # 主机清单
├── install_node_exporter.yml # playbook
└── roles
└── install_node_exporter # role
├── files
│ └── node_exporter-1.0.1.linux-amd64.tar.gz # 二进制包
└── tasks
└── main.yml # task列表文件
playbook文件
$ cat install_node_exporter.yml
---
- hosts: pod7
remote_user: middleware
gather_facts: no
roles:
- install_node_exporter
tasks/main.yml文件
$ cat main.yml
---
# tasks file for install_node_exporter
- name: "拷贝 node_exporter"
unarchive:
src: node_exporter-1.0.1.linux-amd64.tar.gz
dest: /apps/usr/exporter/
owner: middleware
mode: 0755
creates: /apps/usr/exporter/node_exporter-1.0.1.linux-amd64/node_exporter
- name: "创建软链接"
file:
src: /apps/usr/exporter/node_exporter-1.0.1.linux-amd64
dest: /apps/usr/exporter/node_exporter
state: link
owner: middleware
- name: "启动 node_exporter"
shell:
nohup /apps/usr/exporter/node_exporter/node_exporter &> /dev/null &
- name: "确定 9100 端口在监听"
wait_for:
host: 0.0.0.0
port: 9100
delay: 2
执行结果
# 如果你的部分机器可能已经启动了node_exporter,那么最好先停一下
$ ansible -i hosts pod7 -m shell -a "pkill -9 node_exporter"
# 执行playbook
$ ansible-playbook -i hosts install_node_exporter.yml
返回结果如下: