ansible推送脚本巡检闽政通-创新互联

ansible 推送脚本巡检闽政通

创新互联建站服务项目包括台江网站建设、台江网站制作、台江网页制作以及台江网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,台江网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到台江省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

ansible 推送脚本巡检闽政通

推送的需要的机子多最好使用数据库,机子少就写死变量了,在被巡检主机上新建一个普通用户,被巡检主机免安装,增加ansible-hosts新加巡检主机,多个租户可以用docker隔离,

扩展可以用yml role代码复用配上数据库就很方便了,现在更新巡检脚本只要更新ansible-server上的脚本,增加新功能。

这里需要被巡检主机免安装就没用数据库记录,yml要用copy模块后用sh执行脚本,用script模块会找不到执行路径

还写了一套用于监控告警的脚本,还在继续写。。。

ansible 推送脚本巡检闽政通

#!/bin/bash #yejunhai  #2020-2-27 #巡检并发连接数 发送企业微信告警 定期巡检通知 #告警阀值可以自定义 #定义时间 cur_time(){ date "+%Y-%m-%d %H:%M:%S" } wx(){ #生成告警脚本 发送到企业微信 sh_name=$0 cat > $sh_name.json <<-EOF curl '填写微信机器人Webhook地址:' \    -H 'Content-Type: application/json' \    -d '    {         "msgtype": "text",         "text": {             "content": "$1",             "mentioned_mobile_list":["$2"]         }    }' EOF #发送告警脚本,发送成功后清空脚本 sh $sh_name.json && echo "Send successfully" > $sh_name.json } cpu_usage(){ top -n 1 -d 1|awk '/%Cpu/{printf("%.2f%\n",(100-$8))}' } #获取本机IP  ip=`ifconfig eth0|awk '/inet /{print$2}'` #监控端口 并发数告警阀值 获取当前并发数 port=8303 #并发数告警阀值  max_number=2000 #获取当前并发数 number=`netstat -ant|grep -w "$ip:$port"|grep "ESTABLISHED"|wc -l` mem=`free|awk '/Mem:/{printf("%.2f%\n",($2-$4)/$2*100)}'` #磁盘读: read=`iostat|awk '/.da/{print$3 "kb/s"}'` #磁盘写: write=`iostat|awk '/.da/{print$4 "kb/s"}'` #IO利用率: io=`iostat -x|awk '/.da/{print$14"%"}'` ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/12.1.0/client_1; export ORACLE_HOME PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin export PATH #数据库用tnsping 因为有4台rac的VIP,2个实例,这边没用数据库只能用字典了,还是懒 declare -A instances instances=([192.168.1.1]="a" [192.168.1.2]="a" [192.168.56.195]="b" [192.168.56.196]="b") for db_ip in $(echo ${!instances[*]}) do         status=`tnsping $db_ip:1521/${instances[$db_ip]}|grep "OK"|wc -l`         if [ "$status" -eq 0 ];then                 database="$db_ip:1521/${instances[$db_ip]} Error"                 break         elif [ "$status" -eq 1 ];then                 database="Successfully"         fi done #后续需要多租户使用在改造成函数调用 process=tomcat process_status=`ps -aux|grep "$process"|grep -v "grep --color=auto $process"|wc -l` if [ "$process_status" -eq 0 ];then   tomcat_process="Disabled" else   tomcat_process="Enable" fi for disk_usage in `df -P|awk 'NR>=2{print$5}'|tr -d "%"` do   if [ "$disk_usage" -ge 90 ];then      disk_status="\n磁盘剩余不足 `df -h|grep -w $disk_usage`"   fi done wx "$(cur_time) 巡检主机 \n$(hostname) $ip\n端口: $port 并发连接数: $number \nCPU利用率: $(cpu_usage) \n内存利用率: $mem \nIO利用率: $io \n数据库连接:$database\ntomcat进程:$tomcat_process $disk_status"- hosts: linux   remote_user: centos   gather_facts: false   tasks:    -  name: copy script remote host      copy: src=/root/check dest=/home/centos/check   -  name: execution script      command: sh /home/centos/check

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:ansible推送脚本巡检闽政通-创新互联
URL网址:http://scjbc.cn/article/ceeepi.html

其他资讯