#!/bin/bash
#
# rhel7. 安装node_exporter 用于监控数据采集
# Usage:
# sh addNode.sh
#Logs: /var/log/messages
#History: // v3
#Create_Time: --
# USE: small_wei
#
# WEB_PATH='http://12.0.94.46:8086' #这里是我测试环境下的文件下载链接路径
# https://github.com/prometheus/node_exporter 官方下载地址 Install_PATH=/opt/node
Server_file=/usr/lib/systemd/system
RED_COLOR='\E[1;31m' #红
GREEN_COLOR='\E[1;32m' #绿
RES='\E[0m' node_user=node
node_group=node
Time_date=$(date +"%Y%m%d%H%M%S") if [ ! $(id -u) == ];then
echo -e "${GREEN_COLOR}Please run with the root user!${RES}"
exit
fi #防止重复执行
if [ $(ps -ef | grep $ |grep -v grep | wc -l) -gt ];then #理论值为 , 但这里是
echo -e "${RED_COLOR} $0 The script is executing, do not repeat!, Run id is $$${RES}"
exit
fi #create group if not exists
egrep "^${node_group}" /etc/group >/dev/null
if [ $? -ne ];then
groupadd ${node_group}
echo -e "${node_group} group Creating a successful"
fi #create user if not exists
egrep "^${node_user}" /etc/passwd >/dev/null
if [ $? -ne ];then
useradd -g ${node_group} ${node_user}
echo -e "${node_user} user Creating a successful"
fi port=`netstat -anp|grep `
if test -z "${port}"
then
mkdir -p ${Install_PATH}
chown -R ${node_user}:${node_user} ${Install_PATH}
wget -p ${Install_PATH} $WEB_PATH/downloadFile/node_exporter
chmod +x ${Install_PATH}/node_exporter
if [[ $? == ]];then
echo -e "${GREEN_COLOR}Environment readiness complete${RES}"
fi
#-----------------
if [ -f "${Server_file}/node_exporter.service" ];then
cp -f ${Server_file}/node_exporter.service ${Server_file}/node_exporter.service.bak${Time_date}
fi if [ $? == ];then
echo -e "${GREEN_COLOR}node_exporter.service.bak${Time_date} File The backup successful${RES}"
else
echo -e "${RED_COLOR}node_exporter.service.bak${Time_date} File backup failed${RES}"
exit
fi
cat >${Server_file}/node_exporter.service <<-EOF
[Unit]
Description=Prometheus node exporter
Documentation=https://prometheus.io/
After=local-fs.target network-online.target network.target
Wants=local-fs.target network-online.target network.target [Service]
User=${node_user}
Group=${node_group}
Type=simple
#ExecStart=${Install_PATH}/node_exporter --web.listen-address=: --log.level=error
ExecStart=${Install_PATH}/node_exporter --web.listen-address=: --log.level=info [Install]
WantedBy=multi-user.target
EOF systemctl daemon-reload
systemctl restart node_exporter if [ $? == ];then
echo -e "${GREEN_COLOR}node_exporte Server start success!${RES}"
else
echo -e "${RED_COLOR}node_exporte Server start ERROR!${RES}"
exit
fi
#------------------
else
echo -e "${GREEN_COLOR}port:9100 is busy,failed${RES}"
fi systemctl enable node_exporter
systemctl status node_exporter #验证
curl -I -m -o /dev/null -s -w %{http_code} 127.0.0.1: \n if [ $? == ];then
echo -e "${GREEN_COLOR}register node in consul success${RES}"
else
echo -e "${RED_COLOR}Registration failed or registered, please check! ${RES}"
exit
fi

Node_exporter一键安装部署脚本(Shell)的更多相关文章

  1. 分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署

    最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...

  2. linux一键安装vncserver脚本

    title: linux一键安装vncserver脚本 date: 2016-04-11 14:32:04 tags: --- linux多数情况下是作为服务器使用的,管理员一般也喜欢使用命令行来管理 ...

  3. Rehat一键安装mysql脚本和备份数据库脚本

    Rehat一键安装mysql脚本 ##说明:适用,Rehat 5 6 7 1.运行状态,运行成功输出mysql临时密码 2.代码如下 #!/bin/bash #获取系统信息 sudo cat /etc ...

  4. (转)CentOS一键安装Nginx脚本

    原文:https://www.xiaoz.me/archives/10301 https://blog.slogra.com/post-676.html-----centos7一键安装nginx脚本

  5. rsync服务端一键安装rsync脚本(非源码)

    export RSYNC_PASSWORD=123 USER=rsync AUTHUSERS=bck MK=backupmk local_dir=/backup yum remove rsync &a ...

  6. 通过跳板机建立信任,对多个tomcat服务统一安装部署(shell编写)

    unifyDeploy 自动化统一安装部署 系统版本: unifyDeploy0.1 文件编号: 0.1 发布日期: 2014-06-26 编    制: WangYong 版权所有 内部资料注意保密 ...

  7. 一键安装cobbler脚本

    #!/bin/bash # # Install Cobbler(Kickstart) Tools / # Created by OceanHo(gzhehai@foxmail.com) AT -- # ...

  8. 一键安装lnmp脚本

    前段时间一直在找一个快速部署lnmp环境的方法,也没找着,就自己写了一个,结合网上的大神们的.我的方法是脚本结合源码包,很多依赖裤都是yum安装的,这都在脚本里面,需要的源码包我都下载好了,打包成压缩 ...

  9. 最新版kubernetesV1.14.1集群一键自动部署脚本

    部署命令如下:详情及注意事项请看README.md git clone https://github.com/luckman666/deploy_Kubernetes-v1.14.1.git cd d ...

随机推荐

  1. vue页面首次加载缓慢原因及解决方案

    第一次打包vue的项目部署到服务器下时,发现初次加载特别的缓慢,将近20s页面才加载出来,完全没有开发环境上的那么流畅.主要原因是页面在打包后如果不进行相关配置会导致资源文件特别的大,一次想要全部加载 ...

  2. maven项目部署到tomcat方法

    今天记录下,maven项目部署到服务器的过程 1.首先在ide中里将自己的maven项目打包 mvn clean install 2. 看是否需要修改war包的名字,如果要修改,就用命令 mv xxx ...

  3. 前端组件用 Scope 发布 npm 包的方法

    1.引言 多人.多组织或多组件发布 npm 包到同一个仓库时,可能出现命名冲突问题. 为了解决这个问题,npm 引入了“scope”(范围)概念. 在 Angular 项目中,我们通常可以看到“@an ...

  4. 测试工程师,选择python还是java?

    问:“你平时工作中,用java多还是用python多”? 答:“都还可以,根据具体的场景选择不同的语言”. 问:“比如说呢”? 答:“开发自己的测试平台,肯定会选择java:在centos服务器跑一些 ...

  5. C++ 11新标准实现POJ No.1001-Exponentiation

    Exponentiation(高精度幂计算)(标签:链表,字符串,快速幂计算) 题目描述 对数值很大.精度很高的数进行高精度计算是一类十分常见的问题.比如,对国债进行计算就是属于这类问题. 现在要你解 ...

  6. 开源跳板机(堡垒机)系统 Jumpserver安装教程(带图文)

    环境 系统: CentOS 7 IP: 192.168.244.144 关闭 selinux 和防火墙 # CentOS 7 $ setenforce 0 # 可以设置配置文件永久关闭 $ syste ...

  7. [UWP]使用CompositionAPI的翻转动画

    1. 运行效果 在 使用GetAlphaMask和ContainerVisual制作长阴影(Long Shadow) 这篇文章里我介绍了一个包含长阴影的番茄钟,这个番茄钟在状态切换时用到了翻转动画,效 ...

  8. C/C++企业链表的实现

    首先 先介绍企业链表 和Linux内核链表 和 之前我发的一篇单项链表的区别 结构体变量名是结构体的首地址吗? 这个问题会在待会链表实现中体现!! 答案:有些编译器 支持用结构体变量名做地址的方式但一 ...

  9. python中字典的基础操作

    dict1 = { 'name':'王麻子', 'age':25, 'phone':12580, 'high':160 } dict2 = { 'name':'张三', 'age':38, 'phon ...

  10. HTML和css面试题:内容转载

    1.常见的块级元素 内联元素 div -最常用的块级元素 dl - 和dt-dd 搭配使用的块级元素 form - 交互表单 h1 -h6- 大标题 hr - 水平分隔线 ol – 有序列表 p - ...