使用Anable运行node_exporter [英] Running node_exporter with Ansible

查看:23
本文介绍了使用Anable运行node_exporter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我这样开始node_exporter

cd /exporter

然后

./node_exporter &

我尝试使用shell模块使用Ansible运行node_exporter,但没有成功

- name: Run Exporter
  become: yes
  ansible.builtin.shell: " ./node_exporter & "
  args:
    chdir: /home/netmera/exporter/

如有任何帮助,我们将不胜感激。

推荐答案

根据您的描述,您可能会引入自动安装,如

- name: Download and unpack node exporter binary to /usr/local/bin
  unarchive:
    src: "https://{{ URL}}/node_exporter-{{ NODE_EXPORTER_VERSION }}.linux-amd64.tar.gz"
    dest: "/usr/local/bin/"
    remote_src: yes
    extra_opts: [--strip-components=1]
    owner: "root"
    group: "root" 

创建groupuser以将node_exporter作为类似

的服务运行
- name: Create group 'node_exporter' to run the node exporter service
  group:
    name: "node_exporter"
    state: present

- name: Create user 'node_exporter' to run the node exporter service
  user:
    name: "node_exporter"
    group: "node_exporter"
    state: present
    ...

类似systemdnode_exporter.service的文件

[Unit]
Description=Node Exporter
After=network.target
    
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
     
[Install]
WantedBy=multi-user.target

并根据您的基础架构、环境和需求通过copytemplate_模块进行推广。

之后,您可以使用systemd_模块来管理服务。

- name: Make sure 'node_exporter' service is started and enabled
  systemd:
    name: node_exporter
    state: started
    enabled: yes
    daemon_reload: yes

此外,可能需要管理本地firewalld并打开端口,如

- name: Do permit traffic in default zone for 'node_exporter' on port 9001/tcp
  firewalld:
    port: 9001/tcp
    permanent: yes
    state: enabled

这篇关于使用Anable运行node_exporter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆