监控(1)-企业常用服务监控shell
-----------------企业监控------------------------
主动探测监控(“监控机”主动探测“被监控机”)
HTTP服务器监控
#!/bin/sh
LANG=C
#被监控服务器、端口列表
server_all_list=(\
192.168.1.1:80 \
192.168.1.2:80 \
192.168.1.3:80 \
)
date=$(date -d "today" +"%Y-%m-%d_%H:%M:%S")
#采用HTTP POST方式发送检测信息给接口程序interface.php,接口程序负责分析信息,决定是否发送报警MSN消息、手机短信、电子邮
件。
send_msg_to_interface()
{
/usr/bin/curl -m 600 -d menu=http -d date=$date -d ip=$server_ip -d port=$server_port -d status=$status http://127.0.0.1:8888/interface.php
}
server_all_len=${#server_all_list[*]}
i=0
while [ $i -lt $server_all_len ]
do
server_ip=$(echo ${server_all_list[$i]} | awk -F ':' '{print $1}')
server_port=$(echo ${server_all_list[$i]} | awk -F ':' '{print $2}')
if curl -m 10 -G http://${server_all_list[$i]}/ > /dev/null 2>&1
then
#status: 0,http down 1,http ok 2,http down but ping ok
status=1
echo "服务器${server_ip},端口${server_port}能够正常访问!"
else
if curl -m 30 -G http://${server_all_list[$i]}/ > /dev/null 2>&1
then
status=1
echo "服务器${server_ip},端口${server_port}能够正常访问!"
else
if ping -c 1 $server_ip > /dev/null 2>&1
then
status=2
echo "服务器${server_ip},端口${server_port}无法访问,但是能够Ping通!"
else
status=0
echo "服务器${server_ip},端口${server_port}无法访问,并且无法Ping通!"
fi
fi
fi
send_msg_to_interface
let i++
done
-----------------企业监控------------------------
一、前期准备
1. # service sendmail start 用于发送邮件
2. # service crond start 用于定时任务
3. # chkconfig sendmail on
4. # chkconfig crond on
二、配置飞信
1、下载下来的飞信应该是如下结构
# ls /usr/local/fetion/
done libACE_SSL-5.7.2.so libssl.so.4
cache fetion libcrypto.so.4 logs
commands libACE-5.7.2.so libeay32.dll plugins
2、需要把libACE-5.7.2.so、libcrypto.so.4、libssl.so.4、libACE_SSL-5.7.2.so 复制到/usr/lib目录中,给fetion添加执行权限,飞信才可以正常
运行
1. # cp libACE-5.7.2.so libcrypto.so.4 libssl.so.4 libACE_SSL-5.7.2.so /usr/lib
2. # chmod +x fetion
3、发送飞信的脚本
1. # /usr/local/fetion/fetion --mobile=1356440xxxx --pwd 123456 --to=1885151xxxx --msg-utf8="hi"
1) mobile后面是发送手机号;
2) pwd后面是飞信密码
3) to后面是接收短信的号码
注:mobile后的手机号必须开通飞信服务,并且to后的手机号必须是mobile的飞信好友
三、脚本监控
1. #!/bin/bash
2.
3. #网站url地址
4. for URL in http://www.abc.com http://www.88888.cn
5.
6. do
7. #获取http响应代码
8. HTTP_CODE=`curl -o /dev/null -s -w "%{http_code}" "${URL}"`
9.
10. #服务器能正常响应,应该返回200的代码
11. if [ $HTTP_CODE = 200 ]
12. then
13. echo "$URL is OK" | /bin/mail -s "Http Check" qq@163.com
14. # else
15. # /usr/local/fetion/fetion --mobile=1356440xxxx --pwd 123456 --to=1885151xxxx --msg-utf8="$URL is ERROR; error code is $HTTP_CO
DE"
16.
17. fi
18.
19. done
此脚本监控了2个网站www.abc.com与www.88888.cn
使用了for循环
通过取网站正常时的返回值,为200 来匹配
如果正常就发送“相应网站 is OK" 到指定邮箱
如果失败就直接发送短信到1885151xxxx
监控(1)-企业常用服务监控shell的更多相关文章
- prometheus(6)之常用服务监控
监控常用服务 1.tomcat 2.redis 3.mysql 4.nginx 5.mongodb prometheus监控tomcat tomcat_exporter地址 https://githu ...
- 微服务监控zipkin+asp.net core
0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 监控目录:微服务监控zipkin.skywalking以及日志ELK监控系列 一.zipkin介绍 zipkin是一种分布式跟踪系 ...
- springCloud-Hystrix服务监控Dashboard
1.Hystrix服务监控Dashboard 介绍 Hystrix服务监控Dashboard仪表盘 在实际生产中,成千上万的服务,我们怎么知道提供服务的高可用情况,即服务的成功失败超时等相关情况; H ...
- 8个DBA最常用的监控Oracle数据库的常用shell脚本
本文介绍了8个常用的监控数据shell脚本.首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行DBA脚本.网上也有好多类似的文章,但基本上都不能正常运行,花点时间重 ...
- Security基础(四):OpenSSL及证书服务常用系统监控命令、搭建nagios监控服务器、配置文件及插件使用、监控远程主机的公有数据、监控远程主机的私有数据
一.OpenSSL及证书服务常用系统监控命令 目标: 本案例要求练习常用的系统监控命令完成以下任务: 使用vmstat命令监控内存及磁盘I/O信息 使用iostat命令监控CPU处理器及磁盘的I/O信 ...
- Atitit.远程接口 监控与木马 常用的api 标准化v2 q216
Atitit.远程接口 监控与木马 常用的api 标准化v2 q216 1. 木马与远程接口 监控的常用的api2 1.1. 文件复制2 1.2. 屏幕定时截图2 1.3. 邮件发送2 1.4. ...
- 常用开源<监控软件>介绍
转载地址:http://blog.csdn.net/lx_9986/article/details/6803243 一.Zenoss Core Zenoss Core是开源企业级IT管理软件-是智能监 ...
- 运维架构服务监控Open-Falcon
一. 介绍 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题.监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择.当公司刚 ...
- 监控与管理dubbo服务
Dubbo是阿里多年前开源的一套服务治理框架,在众多互联网企业里应用广泛.本文介绍了一些如何监控与管理dubbo服务.使用的工具与<dubbox 的各种管理和监管>大致相同,本文更侧重于命 ...
随机推荐
- [Oracle][Standby][PDB]在PDB中修改参数,设置范围为 SPFILE,报 ORA-65099错误
[Oracle][Standby][PDB]在PDB中修改参数,设置范围为 SPFILE,报 ORA-65099错误 在Data Gaurd 的 Standby (或 CDB 是 Read Only ...
- DefWindowProc是一个会产生消息的函数
先看一道题目: 当用户点击右上角关闭按钮的时候,请给下列Windows做出的响应排个序:A:发送 WM_QUIT 消息 B:发送 WM_CLOSE 消息 C:发送 WM_DESTROY ...
- Logview_pro破解版
logViewer Pro 是一款log文件查看器,它可以在短短数秒内打开上G的LOG文件,支持高亮某行文字(例如警告,错误),支持Unicode名字,支持查看的编码:ANSI, OEM, Unico ...
- (8)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- Ocelot网关(Api GateWay)
说到现在现有微服务的几点不足: 1) 对于在微服务体系中.和 Consul 通讯的微服务来讲,使用服务名即可访问.但是对于手 机.web 端等外部访问者仍然需要和 N 多服务器交互,需要记忆他们的服务 ...
- [UWP 自定义控件]了解模板化控件(6):使用附加属性
1. 基本需求 之前的ContentView2添加了PointerOver等效果,和TextBox等本来就有Header的控件放在一起反而变得鹤立鸡群. 为了解决这个问题,这次把ContentView ...
- spring cloud服务提供与调用示例
本文创建方式采用intellij IDEA 创建项目 1.创建基于Eureka的注册中心. 在打开项目中右键,选择new 选择moudle 然后下一步 输入要创建的项目的信息 选择web下面的web ...
- 一个高性能的对象属性复制类,支持不同类型对象间复制,支持Nullable<T>类型属性
由于在实际应用中,需要对大量的对象属性进行复制,原来的方法是通过反射实现,在量大了以后,反射的性能问题就凸显出来了,必须用Emit来实现. 搜了一圈代码,没发现适合的,要么只能在相同类型对象间复制,要 ...
- Notes of Daily Scrum Meeting(12.22)
今天的团队任务总结如下: 团队成员 今日团队工作 陈少杰 进行网络连接的调试 王迪 优化搜索的算法 金鑫 准备前台的接口,查阅相关的资料 雷元勇 优化算法,对搜索进行测试 高孟烨 修改UI的接口,准备 ...
- pandas的to_csv()使用细节和一些参数
dt.to_csv('C:/Users/think/Desktop/Result.csv',sep='?')#使用?分隔需要保存的数据,如果不写,默认是, dt.to_csv('C:/Users/th ...
- book项目分析
需求1:用户注册 需求如下: 1)访问注册页面 2)填写注册信息,提交给服务器 3)服务器应该保存用户 4)当用户已经存在----提示用户注册 失败,用户名已存在 5)当用户不存在-----注册成功 ...