一个专业运维
技术分享网站!

Linux 用户登陆服务器微信告警

在服务器运维中,很多时候我们不可能24小时盯着屏幕上的各种参数及警告值。于是配置各种告警方式成了我们及时掌握服务器各种状况的有力工具。由于SSH又是最直击系统的服务,为了保证ssh的安全,我们需要对ssh进行监控。对登陆的每一个用户都进行监控,以确保系统的安全。

在某些环境中我们需要对ssh登陆添加一个告警,比如跳板机服务器,或者开放了外网的机器,以判断机器是否有密码被破解的问题。

效果图如下:

脚本内容如下(根据提示修改)

#!/bin/bash

#

#使用方法 sh ./send_message.sh "发送内容"

#如 sh ./send_message.sh "测试环境,正在更新"

 
#保存要发送人员的账号,在通讯录可获取,多个人员之间使用空格分隔,以下为展示数据

user="XXXX"

#企业微信ID:企业微信管理界面-’我的企业‘页面中获取

corpid="wwc1...."

#应用秘钥:在‘自建应用’-‘创建应用’-‘应用管理’中获取

corpsecret="f2MB1IhLrpM3N..."

#企业应用ID:在'自建应用'-'创建应用'-'应用管理'中获取

agentld=1000003

 

#------------------------以上变量需要自行修改-----------------------------------


#保存信息内容变量

msg='请检查服务器登录用户:\n主机名: '`hostname`'\n主机IP: '`ifconfig eth0|awk -F '[ :]+' 'NR==2 {print $3}'`'\n登录用户: '`whoami`'\n登录IP: '`who am i |awk -F '[()]' '{print $2}'`'\n登录时间: '`date '+%Y-%m-%d-%H:%M:%S'`''

 


#curl -s 静默模式,就是不显示错误和进度

A=`curl -s https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpid\&corpsecret=$corpsecret`

#解析json格式 并获取access_token值

token=`echo $A | jq -c '.access_token'`

#去除变量值两边的双引号

token=${token#*\"}

token=${token%*\"}

#请求地址

URL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$token"

 
for I in $user;do

#发送的JSON内容

 JSON="{\"touser\": \"$I\",\"msgtype\": \"text\",\"agentid\": \"$agentld\",\"text\": {\"content\": \"$msg\"},\"safe\":0 }"

#以POST的方式请求

 curl -d "$JSON" "$URL" >/dev/null 2>&1

done


exit 0

脚本中还涉及jq命令,这里我们安装一下

[[email protected] ~]# yum install -y jq
历史上的今天
December
22
    哇哦~~~,历史上的今天没发表过文章哦
赞(4) 打赏
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。小柳实验室 » Linux 用户登陆服务器微信告警

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏