Node Exporter 自动化部署项目分析

Node Exporter 自动化部署项目深度分析报告

源码链接

https://github.com/XYS9767/add-node-exporter

项目概述

本项目是一个基于Ansible的自动化部署工具,专门用于在远程Linux主机上部署和管理Prometheus Node Exporter监控服务。Node Exporter是Prometheus生态系统中的重要组件,负责收集系统级别的监控指标。

项目架构分析

1. 项目结构

add-node-exporter/
├── add-nodeservice.sh           # 主执行脚本
├── add-nodeservice.yaml         # 主要部署playbook(本地分发模式)
├── prometheus-node-exporter.yml # 备用部署playbook(网络下载模式)
├── ansible.cfg                  # Ansible配置文件
├── inventory.ini                # 主机清单配置
├── node_exporter.service        # systemd服务配置文件
└── node_exporter-1.9.1.linux-amd64.tar.gz  # Node Exporter二进制包

2. 部署策略对比

项目提供了两种不同的部署策略:

策略A:本地分发模式(add-nodeservice.yaml
  • 优势: 不依赖外网,适合离线环境
  • 机制: 从本地分发预下载的二进制文件
  • 适用场景: 生产环境、网络受限环境
策略B:在线下载模式(prometheus-node-exporter.yml
  • 优势: 自动获取最新版本,配置灵活
  • 机制: 直接从GitHub下载最新二进制文件
  • 适用场景: 开发环境、网络畅通环境

技术架构深度分析

1. Ansible配置分析

ansible.cfg配置
[defaults]
host_key_checking = False
  • 作用: 禁用SSH主机密钥检查
  • 影响: 简化自动化部署,但降低安全性
  • 建议: 生产环境应考虑启用密钥检查
inventory.ini主机清单
[tikv]
new-正式tidb-tikv4  ansible_host=172.31.2.21 ansible_user=grata ansible_password='G*.x.H44EunlsdfNC@10*DD' ansible_connection=ssh

[all:children]
tikv
  • 目标主机: TiKV数据库节点(TiDB集群组件)
  • 认证方式: 密码认证(存在安全风险)
  • 网络: 内网IP地址172.31.2.21

2. 服务配置深度解析

systemd服务配置(node_exporter.service)
[Unit]
Description=node_exporter
Wants=network-online.target
After=network-online.target

[Service]
Restart=on-failure
ExecStart=/data/node_exporter/node_exporter-1.9.1.linux-amd64/node_exporter  --web.listen-address=:53875

[Install]
WantedBy=multi-user.target

关键配置分析:

  • 端口配置: 使用非标准端口53875(而非默认9100)
    • 可能原因:避免端口冲突或安全考虑
  • 重启策略: Restart=on-failure 确保服务稳定性
  • 依赖关系: 等待网络服务就绪后启动

3. 部署流程深度剖析

主要部署流程(add-nodeservice.yaml)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值