ansible-playbook 安装 node_exporter
来源:原创
时间:2021-04-13
作者:脚本小站
分类:Linux
node_exporter方式一:
node_exporter.yml
- hosts: 192.168.0.16 user: root gather_facts: false tasks: - name: install node_exporter unarchive: src=node_exporter-1.1.2.linux-amd64.tar.gz dest=/usr/local/ - name: create link file: path=/usr/local/node_exporter src=/usr/local/node_exporter-1.1.2.linux-amd64 state=link - name: add service file copy: src=node_exporter.service dest=/usr/lib/systemd/system/ - name: enable service shell: systemctl enable node_exporter.service - name: start service shell: systemctl start node_exporter.service
node_exporter.service
[Unit] Description=Prometheus node_exporter Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple User=root Group=root ExecStart=/usr/local/node_exporter/node_exporter --web.listen-address=0.0.0.0:9100 ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target
node_exporter方式二:
node_exporter.yml node_exporter/ ├── files │ ├── node_exporter-1.1.2.linux-amd64.tar.gz │ └── node_exporter.service ├── tasks │ ├── install.yml │ └── main.yml └── templates
node_exporter.yml
- hosts: temp remote_user: root roles: - role: node_exporter
node_exporter.service
[Unit] Description=Prometheus node_exporter Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple User=root Group=root ExecStart=/usr/local/node_exporter/node_exporter --web.listen-address=0.0.0.0:9100 ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target
install.yml
- name: install node_exporter unarchive: src=node_exporter-1.1.2.linux-amd64.tar.gz dest=/usr/local/ - name: create link file: path=/usr/local/node_exporter src=/usr/local/node_exporter-1.1.2.linux-amd64 state=link - name: add service file copy: src=node_exporter.service dest=/usr/lib/systemd/system/ - name: start service service: name=node_exporter state=started enabled=yes
main.yml
- include: install.yml
mysqld_exporter:
mysqld_exporter.yml mysqld_exporter/ ├── files │ ├── mysqld_exporter-0.13.0.linux-amd64.tar.gz │ └── mysqld_exporter.service ├── tasks │ ├── install.yml │ └── main.yml └── templates └── my.cnf.j2
mysqld_exporter.yml
- hosts: temp remote_user: root roles: - role: mysqld_exporter vars: - username: root - passwd: 123456
mysqld_exporter.service
[Unit] Description=node_exporter Documentation=https://prometheus.io/ After=network.target [Service] Type=simple ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf Restart=on-failure [Install] WantedBy=multi-user.target
install.yml
- name: install mysqld_exporter unarchive: src=mysqld_exporter-0.13.0.linux-amd64.tar.gz dest=/usr/local/ - name: create link file: path=/usr/local/mysqld_exporter src=/usr/local/mysqld_exporter-0.13.0.linux-amd64 state=link - name: add service file copy: src=mysqld_exporter.service dest=/usr/lib/systemd/system/ - name: add .my.cnf file template: src=my.cnf.j2 dest=/usr/local/mysqld_exporter/.my.cnf - name: start service service: name=mysqld_exporter state=started enabled=yes
main.yml
- include: install.yml
my.cnf.j2
[client] user={{ username }} password={{ passwd }}