• Node_exporter主机探针部署


    部署需求分析

    使用ansible批量部署node-exporter监控客户端

    node-exporter解压安装目录为home

    添加至Linux服务重新加载,启动模块并设置开机启动

    测试环境(centos 7——3.10.0-1160.el7.x86_64)运行成功

    因为部署步骤较少,单个playbook即可,未使用到roles


    部署准备

    下载node_exporter-0.14.0.linux-amd64.tar.gz 压缩包到主控端

    配置node_exporter.service 服务文件并放到指定目录


    部署配置文件

    node_exporter.service

    [Unit]

    Description=node_exporter

    Requires=network.target remote-fs.target

    After=network.target remote-fs.target

    [Service]

    Type=simple

    User=root

    Group=root

    ExecStart=/home/node_exporter-0.14.0.linux-amd64/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

    ansible-playbook

    ---

    #node_exporter install

    hosts: all

    remote_user: root

    gather_facts: false

    tasks:

    name: install node_exporter

    unarchive: src=/etc/ansible/files/node_exporter-0.14.0.linux-amd64.tar.gz dest=/home

    name: add  service

    copy: src=/etc/ansible/files/node_exporter.service dest=/usr/lib/systemd/system/

    name: reload service

    shell: systemctl daemon-reload

    name: enabled and start node_exporter

    service: name=node_exporter state=started enabled=yes


    部署遇到的问题与解决

    问题描述

    运行ansible-playbook后出现服务启动报错,

    原因分析与解决

    使用journalctl -u node_exporter.service 查看被控端启动日子发现:

    查看发现报错与node_exporter.service中定义的network.target有关,无法添加依赖性后续发现为原版本书写错误导致识别不到修正后正常启动,ansible运行成功

    Playbook运行成功

    被控端端口成功启动:


    扩展

    Templates的使用

    一些配置文件涉及到有变量参数,判断以及循环时,我们可以使用templates来更方便的帮我们完成工作,node_exporter部署中我们也可以把配置文件以.j2结尾放在templates目录中来预防以后复杂的情况

    文件目录格式必须为以下形式:

    Playbook内容:

    Templates成功运行:

    Handlers和Notify的使用

    因为时常会遇到配置文件修改的情况,我们可以使用Handlers 触发器的这种形式来仅针对修改的内容做出相应的改变

    Playbook内容:

    测试:当node_exporter由9100改为9111

    Handler触发:

    被控端端口改变:

  • 相关阅读:
    2022高教社杯全国大学生数学建模-小批量物料的生产安排
    TypeScript函数详解
    2269. 找到一个数字的 K 美丽值
    SGU 176 Flow construction 有源汇 有上下界的最小流
    这些大厂笔试题 你都见识(指被无情鞭挞)过了吗?—— 哔哩哔哩篇
    【ES6】-- js类与类的继承
    Android 副屏异显 APP杀进程后未取消问题处理
    《向量数据库指南》——AI原生向量数据库Milvus Cloud 2.3稳定性
    maven学习总结
    JS教程之 ElectronJS 自定义标题栏
  • 原文地址:https://blog.csdn.net/Liu_xiaoxing/article/details/127961792