首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Ansible运行node_exporter

使用Ansible运行node_exporter
EN

Stack Overflow用户
提问于 2022-01-10 10:09:46
回答 1查看 980关注 0票数 0

我是这样开始node_exporter

代码语言:javascript
复制
cd /exporter

然后

代码语言:javascript
复制
./node_exporter &

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

代码语言:javascript
复制
- name: Run Exporter
  become: yes
  ansible.builtin.shell: " ./node_exporter & "
  args:
    chdir: /home/netmera/exporter/

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2022-01-10 10:24:28

根据您的描述,您可以介绍自动安装,如

代码语言:javascript
复制
- 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,如下所示

代码语言:javascript
复制
- 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
    ...

类似于系统d node_exporter.service文件的

代码语言:javascript
复制
[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_module进行推广。

之后,您可以使用systemd_module来管理服务。

代码语言:javascript
复制
- name: Make sure 'node_exporter' service is started and enabled
  systemd:
    name: node_exporter
    state: started
    enabled: yes
    daemon_reload: yes

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

代码语言:javascript
复制
- name: Do permit traffic in default zone for 'node_exporter' on port 9001/tcp
  firewalld:
    port: 9001/tcp
    permanent: yes
    state: enabled
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70650714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档