Node_exporter一键安装部署脚本(Shell)
#!/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)的更多相关文章
- 分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署
最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...
- linux一键安装vncserver脚本
title: linux一键安装vncserver脚本 date: 2016-04-11 14:32:04 tags: --- linux多数情况下是作为服务器使用的,管理员一般也喜欢使用命令行来管理 ...
- Rehat一键安装mysql脚本和备份数据库脚本
Rehat一键安装mysql脚本 ##说明:适用,Rehat 5 6 7 1.运行状态,运行成功输出mysql临时密码 2.代码如下 #!/bin/bash #获取系统信息 sudo cat /etc ...
- (转)CentOS一键安装Nginx脚本
原文:https://www.xiaoz.me/archives/10301 https://blog.slogra.com/post-676.html-----centos7一键安装nginx脚本
- rsync服务端一键安装rsync脚本(非源码)
export RSYNC_PASSWORD=123 USER=rsync AUTHUSERS=bck MK=backupmk local_dir=/backup yum remove rsync &a ...
- 通过跳板机建立信任,对多个tomcat服务统一安装部署(shell编写)
unifyDeploy 自动化统一安装部署 系统版本: unifyDeploy0.1 文件编号: 0.1 发布日期: 2014-06-26 编 制: WangYong 版权所有 内部资料注意保密 ...
- 一键安装cobbler脚本
#!/bin/bash # # Install Cobbler(Kickstart) Tools / # Created by OceanHo(gzhehai@foxmail.com) AT -- # ...
- 一键安装lnmp脚本
前段时间一直在找一个快速部署lnmp环境的方法,也没找着,就自己写了一个,结合网上的大神们的.我的方法是脚本结合源码包,很多依赖裤都是yum安装的,这都在脚本里面,需要的源码包我都下载好了,打包成压缩 ...
- 最新版kubernetesV1.14.1集群一键自动部署脚本
部署命令如下:详情及注意事项请看README.md git clone https://github.com/luckman666/deploy_Kubernetes-v1.14.1.git cd d ...
随机推荐
- Django表单集合----Formset
概述:Formset(表单集)是多个表单的集合.Formset在Web开发中应用很普遍,它可以让用户在同一个页面上提交多张表单,一键添加多个数据,比如一个页面上添加多个用户信息,下面将会详细讲述如何使 ...
- Java 向数组中添加一个元素
方法 一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度. 向数组中添加元素思路: 第一步:把 数组 转化为 集合 list = Arrays.asList(array); 第二 ...
- Kong05-Kong 的健康检查和监控
您可以让 Kong 代理的 API 使用 ring-balancer , 通过添加包含一个或多个目标实体的upstream 实体来配置,每个目标指向不同的IP地址(或主机名)和端口.ring-bala ...
- 真正的打包scrapy单文件(不包含cfg)
前置:https://www.cnblogs.com/luocodes/p/11827850.html 解决最后一个问题,如何将scrapy真正的打包成单文件 耗了一晚上时间,今天突然有灵感了 错误分 ...
- centos下docker离线部署
安装准备 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化. 环境要求 Centos 安装包下载地址 安装包下载以下 ...
- 『题解』POJ1753 Flip Game
题目传送门 题意描述 有\(4 \times 4\)的正方形,每个格子要么是黑色,要么是白色,当把一个格子的颜色改变(黑\(\to\)白 或 白\(\to\)黑)时,其周围上下左右(如果存在的话)的格 ...
- Python实现王者荣耀小助手(二)
接下来我们获取英雄和武器信息,详细代码KingGlory.py如下(代码中有详细注解): # -*- coding: utf-8 -*- #!/usr/bin/env python # @Time : ...
- 一道笔试题(vue,react)
题目: vue代码 <template> <div class="colculate"> <div> <select v-model=&q ...
- PHP判断是否关注微信公众号
PHP判断是否关注微信公众号 1 服务号直接请求这个接口https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839 su ...
- 关于Eratosthenes筛子算法筛选小于n的素数的理解
今天在学习Java核心技术第九章集合框架中的BitSet时,遇到了这个算法.Eratosthenes筛子算法时一个查找素数的方法,这并不是查找素数的最好方法,但是测试编译程序性能的一种流行的基准. 一 ...