首页 > 其他分享 >阿里云argusagent的监控客户端的安装脚本,值得借鉴

阿里云argusagent的监控客户端的安装脚本,值得借鉴

时间:2023-10-30 22:31:58浏览次数:44  
标签:fi DEST echo 阿里 FILE HOME argusagent CMS 客户端


阿里云argusagent的监控客户端的安装脚本

agent_install_necs-1.7.sh 

#!/bin/bash

echo "installing"

export LANG=en_US.UTF-8
export LANGUAGE=en_US:

#有些系统下安装后可能没有写文件的权限,导致日志文件写入失败
ulimit -v unlimited
if [[ -z "${VERSION}" ]]; then
  VERSION=2.1.56
fi
if [[ -z "${ARGUS_VERSION}" ]]; then
  ARGUS_VERSION=3.4.3
fi
if [ -x "$(command -v wget)" ]; then
  HAS_WGET=1
  echo "will use wget to download"
else
  HAS_WGET=0
  echo "will use curl to download"
fi
if [[ -z "${CMS_HOME}" ]]; then
  CMS_HOME_PREFIX="/usr/local"
  if [[ -f /etc/os-release && ! -z "`egrep -i coreos /etc/os-release`" ]];then
    CMS_HOME_PREFIX="/opt"
  fi 
fi
CMS_HOME="${CMS_HOME_PREFIX}/cloudmonitor"

if [[ `uname -m` = "x86_64" ]]; then
    ARCH="amd64"
    ARGUS_ARCH="linux64"
elif [[ `uname -m` = "aarch64" ]]; then
    ARCH="arm"
    ARGUS_ARCH="arm64"
else
    ARCH="386"
    ARGUS_ARCH="linux32"
fi

case `uname -s` in
  Linux)
    CMS_OS="linux"
    ;;
  *)
    echo "Unsupported OS: $(uname -s)"
    exit 1
    ;;
esac
TAR_FILE=cloudmonitor_${ARGUS_ARCH}.tar.gz
DOWNLOAD_PATH=Argus/${ARGUS_VERSION}/${TAR_FILE}
DEST_UPDATE_FILE=${CMS_HOME}/${TAR_FILE}
DEST_BIN_FILE=${CMS_HOME}/bin/argusagent
DEST_START_FILE=${CMS_HOME}/cloudmonitorCtl.sh
#卸载java和goagent
GOAGENT_ELF_NAME=${CMS_HOME}/CmsGoAgent.${CMS_OS}-${ARCH}
if [[ -d ${CMS_HOME} ]] ; then
  if [[ -f ${DEST_START_FILE} ]];then
    ${DEST_START_FILE} stop
  fi
  if [[ -f ${CMS_HOME}/wrapper/bin/cloudmonitor.sh ]] ; then
    ${CMS_HOME}/wrapper/bin/cloudmonitor.sh remove;
    rm -rf ${CMS_HOME};
  fi 
  if [[ -f ${GOAGENT_ELF_NAME} ]]; then
    ${GOAGENT_ELF_NAME} stop
    rm -rf ${CMS_HOME}
  fi
fi

download()
{
  OSS_URL="http://cms-download.aliyun.com/$DOWNLOAD_PATH"
  echo "${OSS_URL}"

  if [[ -z "${CMS_HTTP_PROXY}" ]] ; then
    if [[ "${HAS_WGET}" -eq 1 ]]; then
      wget -q "$OSS_URL" -O "$DEST_UPDATE_FILE" -t 3 --connect-timeout=2
    else
      curl -s "$OSS_URL" -o "$DEST_UPDATE_FILE" --retry 3 -m 2
    fi
  else
    if [[ "${HAS_WGET}" -eq 1 ]]; then
      wget -e "http_proxy=${CMS_HTTP_PROXY}" -q "$OSS_URL" -O "$DEST_UPDATE_FILE" -t 3 --connect-timeout=2
    else
      curl -s -x ${CMS_HTTP_PROXY} "$OSS_URL" -o "$DEST_UPDATE_FILE" --retry 3 -m 2
    fi
  fi
}

mkdir -p ${CMS_HOME}
if [[ "linux" == "${CMS_OS}" ]]; then
    chown -R root:root ${CMS_HOME}
fi
download

if [[ ! -f "${DEST_UPDATE_FILE}" ]]; then
    echo "download failed: {$DEST_UPDATE_FILE}"
    exit 3
fi
#解压
tar xf ${DEST_UPDATE_FILE} -C ${CMS_HOME_PREFIX}
rm -f ${DEST_UPDATE_FILE}
#配置文件拷贝
mkdir -p "$CMS_HOME/local_data/conf"
if [[ -n "${CMS_AGENT_ACCESSKEY}" ]]; then
    echo cms.agent.accesskey=${CMS_AGENT_ACCESSKEY} > "${CMS_HOME}/local_data/conf/accesskey.properties"
    echo cms.agent.secretkey=${CMS_AGENT_SECRETKEY} >> "${CMS_HOME}/local_data/conf/accesskey.properties"
elif [[ -f accesskey.properties ]]; then
    cp accesskey.properties ${CMS_HOME}/local_data/conf
fi
if [ ! -d /etc/cloudmonitor ];then
	mkdir /etc/cloudmonitor
fi
#启动agent
chmod +x ${DEST_START_FILE}
${DEST_START_FILE} uninstall
${DEST_START_FILE} install
${DEST_START_FILE} start
#版本检测
ACT_VERSION=`${DEST_BIN_FILE} -v`
if [[ -n "${ACT_VERSION}" ]]; then
    echo argusagent v${ACT_VERSION} installed
else
    echo argusagent install failed
    exit 5
fi

阿里云argusagent的监控客户端的安装脚本,值得借鉴_HTTP

标签:fi,DEST,echo,阿里,FILE,HOME,argusagent,CMS,客户端
From: https://blog.51cto.com/lenglingx/8097440

相关文章

  • "阿里巴巴按关键字搜索接口:一键获取海量商品信息,助力商家抢占市场先机!"
    阿里巴巴按关键字搜索商品的接口是通过开放平台提供的API接口来实现的。要使用这个接口,需要进行以下步骤:确认API接口的请求地址和所需参数:需要先查看API文档,了解所要访问的API接口的请求地址和请求参数,以便正确地构造请求和获取数据。注册一个apikey和apisecret调用接入。使用apike......
  • 客户端远程连接linux
    https://www.cnblogs.com/tankblog/p/6080844.html1.查询linux服务器上是否已经有ssh服务   有服务端和客户端未完待续因为我不会使用vim ......
  • Flink客户端操作
    一、mysql数据准备mysql-hip-uroot-p密码CREATEDATABASEflink;USEflink;CREATETABLEuser(idINTEGERNOTNULLPRIMARYKEY,nameVARCHAR(255)NOTNULLDEFAULT'flink',addressVARCHAR(1024),phone_numberVARCHAR(512),emailVARCHAR(255));INSERT......
  • Win10 ssh客户端 scp 传输linux文件到windows 端
    1Window10安装openssh服务2启动windowssshd服务netstartsshd3scplinux向windows传输文件Win10中打开powershell,登录ssh把linux下的shell01.sh传到window10的桌面上[email protected]:/C:/Users/admin/Desktop......
  • 客户端mock和mock server的区别
    客户端Mock和MockServer是用于模拟数据的两种不同方式。客户端Mock:客户端Mock是指在前端应用中使用JavaScript或其他前端语言编写的代码来模拟接口的返回数据。这种方式不需要搭建服务器,而是直接在前端应用中拦截请求,返回预定义的模拟数据。客户端Mock可以用于开发阶段......
  • .net5 websocket 客户端
    stringurl="http://127.0.0.1:2141";HubConnection_conn=newHubConnection(url,true);IHubProxy_proxy=_conn.CreateHubProxy($"/MyHub");_conn.Start();//定义客户端的方法sendMessage()(有两个string类型的参数,当服务端调用sendMessage,需要传入2个string类型参......
  • 用springBoot、netty写TCP客户端/服务端,并用TCP工具测试
    1.启动客户端和连接服务端packagecom.pkx.cloud.test.netty;importio.netty.bootstrap.Bootstrap;importio.netty.channel.*;importio.netty.channel.nio.NioEventLoopGroup;importio.netty.channel.socket.SocketChannel;importio.netty.channel.socket.nio.NioSock......
  • Java - InputStream流Http客户端文件上传
    场景:两个系统文件服务不同,需从另外一个系统中下载文件并上传到另外一个系统中。代码实现//远程服务下载文件Responseresponse=fileCenterService.downloadFile(fileId);InputStreaminputStream=response.body().asInputStream();//调用接口上传到文件服务HttpClienth......
  • Telnet 客户端安装
    Windows安装首先在控制面板或开始菜单下,搜索『启动或关闭Windows功能』找到Telnet客户端并打开勾,点击确定,等待系统启用系统功能。完成后,使用Win+R快捷键,在运行窗口里输入cmd,并在cmd窗口里输入telnet,如果显示如下则安装成功。 Linux下安装在linux下也可以安装telnet......
  • HDFS写流程分析:客户端发送数据
    1.背景在HadoopYarn中,App、AppAttempt、Container、Node都有自己的生命周期,因此Yarn实现了一套状态机进行管理。通过状态机的管理后,用户可以直观看到App、AppAttempt、Container、Node的状态,其状态切换也更规范。但是状态机也导致Yarn的代码可能性很差,无法很好调试。在HDFS中就......