首页 > 编程语言 >node_exporter一键部署脚本

node_exporter一键部署脚本

时间:2025-01-17 10:22:01浏览次数:1  
标签:node exporter exporter41 service 一键 install root

一.node_exporter一键部署脚本

1.脚本内容展示

[root@node-exporter41 ~]# cat install-node-exporter.sh 
#!/bin/bash
# blog: https://www.cnblogs.com/yinzhengjie


VERSION=1.8.2
SOFTWARE=node_exporter-${VERSION}.linux-amd64.tar.gz
URL=https://github.com/prometheus/node_exporter/releases/download/v${VERSION}/${SOFTWARE}
DOWNLOAD=./download
INSTALLDIR=/yinzhengjie/softwares
BASEDIR=${INSTALLDIR}/node_exporter-${VERSION}.linux-amd64
HOST="0.0.0.0"
PORT=9100
hostname=`hostname`


function prepare() {
   # 判断目录是否存在,若不存在则创建
   [ -d $INSTALLDIR ] || mkdir -pv ${INSTALLDIR}
   [ -d $DOWNLOAD ] || mkdir -pv ${DOWNLOAD}
   
   if [ "$ID" == "centos" ];then
     # 判断系统是否安装curl
     [ -f /usr/bin/wget ] || yum -y install wget
   fi

   # 判断文件是否存在,若不存在则下载
   [ -s ${DOWNLOAD}/${SOFTWARE} ] || wget $URL -O ${DOWNLOAD}/${SOFTWARE}
}

function install() {
  # 检查环境
  prepare

  # 解压文件软件包
  tar xf ${DOWNLOAD}/${SOFTWARE} -C ${INSTALLDIR}

  # 生成启动脚本
  cat > /etc/systemd/system/node-exporter.service <<EOF
[Unit]
Description=yinzhengjie Linux Node Exporter
Documentation=https://www.cnblogs.com/yinzhengjie
After=network.target

[Service]
ExecStart=${BASEDIR}/node_exporter --web.telemetry-path="/metrics" \
   --web.listen-address=${HOST}:${PORT}


[Install]
WantedBy=multi-user.target
EOF

     # 将服务设置为开机自启动
     systemctl daemon-reload
     systemctl enable --now node-exporter.service
     systemctl status node-exporter.service
     ss -ntl | grep 9100
}

function remove(){
  systemctl disable --now node-exporter.service
  rm -rf /etc/systemd/system/node-exporter.service $BASEDIR
}


function main() {
  case $1 in 
    install|i)
      install
      echo "${hostname} 的node-exporter 已经部署成功![successfully]"
      ;;
    remove|r)
      remove
      echo "${hostname} 的node-exporter 已经卸载成功,期待下次使用~"
      ;;
    *)
      echo "Usage: $0 install[i]|remove[r]"
      ;;
  esac
}


main $1
[root@node-exporter41 ~]#  

2.访问node_exporter的WebUI
image

二.测试验证

1.安装node_exporter
image

[root@node-exporter41 ~]# ./install-node-exporter.sh i
Created symlink /etc/systemd/system/multi-user.target.wants/node-exporter.service → /etc/systemd/system/node-exporter.service.
● node-exporter.service - yinzhengjie Linux Node Exporter
     Loaded: loaded (/etc/systemd/system/node-exporter.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2024-11-07 10:10:47 CST; 8ms ago
       Docs: https://www.cnblogs.com/yinzhengjie
   Main PID: 49349 (node_exporter)
      Tasks: 4 (limit: 4514)
     Memory: 1.1M
        CPU: 2ms
     CGroup: /system.slice/node-exporter.service
             └─49349 /yinzhengjie/softwares/node_exporter-1.8.2.linux-amd64/node_exporter --web.telemetry-path=/metrics --web.listen-address=0.0.0.0:9100

Nov 07 10:10:47 prometheus-server31 systemd[1]: Started yinzhengjie Linux Node Exporter.
prometheus-server31 的node-exporter 已经部署成功![successfully]
[root@node-exporter41 ~]# 

2.卸载node_exporter

[root@node-exporter41 ~]# ./install-node-exporter.sh r
Removed /etc/systemd/system/multi-user.target.wants/node-exporter.service.
almco脚本: prometheus-server31 的node-exporter 已经卸载成功,期待下次使用~
[root@node-exporter41 ~]#

3.其他节点部署node-exporter
image

3.1 拷贝脚本到其他服务器
[root@node-exporter41 ~]# scp -p install-node-exporter.sh 10.0.0.42:~
[root@node-exporter41 ~]#
[root@node-exporter41 ~]# scp -p install-node-exporter.sh 10.0.0.43:~

3.2 其他节点部署node-exporter
[root@node-exporter42 ~]# ./install-node-exporter.sh i

[root@node-exporter43 ~]# ./install-node-exporter.sh i

3.3 分别访问webUI即可

标签:node,exporter,exporter41,service,一键,install,root
From: https://www.cnblogs.com/almco/p/18676402

相关文章

  • https证书一键自动续期,帮你解放90天限制
    前言前几天网站证书到期,发觉证书颁发每次只能90天有效期,这谁能忍受,于是乎发觉网上有免费的一键续期脚本,真正解放我们的双手。项目如下acme.sh。期间由于"墙"的原因,踩了很多的坑,此文记录一下踩坑的过程,同时也帮助我们"墙内"的程序员,不需要踩不必要的坑。1、安装acme.sh脚本官网......
  • k8s添加新master或node.210709
    Master1,在master上生成新的token[root@it-1c2d]#kubeadmtokencreate--print-join-commandkubeadmjoink8s.test:6443--tokenapzooq.r9zivb2vaakn72k7--discovery-token-ca-cert-hash`sha256:255fc6a65316054aa5f1bfd92467ebce52f557983f5e901663a3a460af2c60b5......
  • 一键共享,轻松搞定办公室令人头疼的难题。
    相信有很多伙伴有和我一样的困惑,在办公室局域网环境下,批量共享文件夹和打印机时遇到了难题,希望能找到一款一键批量共享的软件今天就为大家带来两款工具,能够一键实现文件夹和打印机的批量共享。一键批量共享文件夹可批量设置共享,并编辑共享及安全权限。打开软件,直接勾选需共......
  • https证书一键自动续期,帮你解放90天限制
    前言前几天网站证书到期,发觉证书颁发每次只能90天有效期,这谁能忍受,于是乎发觉网上有免费的一键续期脚本,真正解放我们的双手。项目如下acme.sh。期间由于"墙"的原因,踩了很多的坑,此文记录一下踩坑的过程,同时也帮助我们"墙内"的程序员,不需要踩不必要的坑。1、安装acme.sh脚本官网......
  • Debian/Ubuntu 各个版本一键更换国内镜像源
    有时候买了国内的服务器,更新系统或者安装软件速度相当慢,这时候我们可以将系统源一键更换为国内的源,速度就会快很多!!!以下命令复制后,直接在命令行粘贴、回车即可参考地址MirrorZHelpDebian111.备份官方默认源sudocp-a/etc/apt/sources.list/etc/apt/sources.li......
  • blackbox_exporter 如何检测端口
    blackbox_exporter可以通过TCP探测模块来检测目标主机的端口是否开放。以下是配置和使用的详细步骤。1.配置blackbox_exporter1)编辑配置文件打开blackbox_exporter的配置文件blackbox.yml,添加或修改TCP探测模块。示例配置:modules:tcp_connect:pr......
  • 在Gitea中运行Actions demo时,遇到node报错
    错误信息node[39]:../src/node_platform.cc:68:std::unique_ptr<longunsignedint>node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start():Assertion`(0)==(uv_thread_create(t.get(),start_thread,this))'failed.1:0xb9c1f0node::Abort()[no......
  • node.js基于的旅行社管理系统的设计与实现程序+论文 可用于毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于旅行社管理系统的设计与实现这一课题,在国内外已有不少相关研究。现有研究主要以旅游业务流程管理或旅游资源整合为主,专门针对将用户、景点分类、景......
  • node.js智慧校园外卖配送系统程序+论文 可用于毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于校园外卖配送系统的研究,现有研究多以校园配送的一般性流程或商业外卖配送系统在校园的应用为主,专门针对智慧校园外卖配送系统的研究较少 1。在国内......
  • 图像修复(3)| 基于mask操作和图像修复的一键去水印
    前言  上篇文章讲了手动去除水印的方法,下面介绍一下自动化去水印的方法,大体思路是这样子的:使用目标分割模型提取水印mask(本文用的U2net),结合mask和修复神经网络(本文用的MI-GAN)实现一键去除水印老规矩,先上效果图:1.目标分割任务介绍  目标分割(ObjectSegmentat......