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 ...
随机推荐
- Linux 编译与交叉编译
在Linux环境中,所处平台不同,执行文件也就不同,同一执行文件不能在不同平台下使用 如在Ubnutu下 是用gcc编译一个.c文件 gcc main.c -o main.out -o 可以指定输出文 ...
- .NET Core 又一杀器! Web Blazor框架横空出世!
多年来,Javascript(及其子框架)已在浏览器中运行DOM(文档对象模型),并且掌握了脚本知识才能真正操作客户端UI.大约2年前,所有这些都随着Web Assembly的引入而发生了变化-Web ...
- activeMQ 安装及启动异常处理
一.环境: [root@centos_6 ~]# cat /etc/system-release CentOS release 6.5 (Final) [root@centos_6 ~]# uname ...
- Java 导出数据库表信息生成Word文档
一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看看生成的word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导 ...
- Go服务监控
使用Golang可以开发出高性能的HTTP.GRPC服务.一般项目运行后,我们也需要监控服务的性能或者进行调试.除了打日志,还有没有其他可视化的方案呢?答案是有的. 本文将会介绍几种常用的监控方案. ...
- numpy.array 中的运算
简单运算 现在有有个需求,给定一个数组,让数组中每一个数乘以2,怎么做呢 n = 10 L = [i for i in range(n)] L # [0, 1, 2, 3, 4, 5, 6, 7, 8 ...
- [考试反思]0812NOIP模拟测试18:稀释
[]200 [4]190[5]180 [6]170[7]150 [11]140[16]130[19]120[24]100 有些事情,看淡了,也就简单了. 连续爆炸之后,没什么感觉了. 把态度放正,把结 ...
- 『题解』LibreOJ6277 数列分块入门 1
更好的阅读体验 Portal Portal1: LibreOJ Description 给出一个长为\(n\)的数列,以及\(n\)个操作,操作涉及区间加法,单点查值. Input 第一行输入一个数字 ...
- Python实现自动化监控远程服务器
最近发现Python课器做很多事情,在监控服务器有其独特的优势,耗费资源少,开发周期短. 首先我们做一个定时或者实时脚本timedtask.py,让其定时监控目标服务器,两种方式: 第一种: #!/u ...
- Abp vNext 自定义 Ef Core 仓储引发异常
问题 在使用自定义 Ef Core 仓储和 ABP vNext 注入的默认仓储时,通过两个 Repository 进行 Join 操作,提示 Cannot use multiple DbContext ...