ansible 推送脚本巡检闽政通
admin
2023-02-03 14:23:17
0

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


相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...