Zabbix+shell两种方式监控任意web并及时报警

最近有朋友问我怎么监控公司网站:目的是网站不能访问及时报警。

当然一些云服务器肯定是自带功能,可是物理服务器可没有那么智能,但是开源是强大的,这里就分享一下个人监控网站的两种方式。

一、zabbix自带的web检测:

1.1)配置>主机(需联网)>web场景>创建web场景

添加你所需要检测网站的url

1.2)创建触发器(邮件报警,短信报警,微信报警提前配置其一即可)

1.3)监测中>Web检测

1.4)触发

二、shell+nc+namp等工具+crontab

#!/bin/bash
#this is a jiankong qutouwang bash
nc -z -v -w 10   80 &>/dev/null
if [ $? -ne 0 ]
then nmap www.xxx.com  -p 80|grep ‘80/tcp open  http‘
if [ $? -ne 0 ]
then
echo "   is already stopd" | mail -s "www.xxx.com " [email protected]
fi
fi
#https
nc -z -v -w 10    443 &>/dev/null
if [ $? -ne 0 ]
then nmap   -p 443|grep ‘443/tcp open  https‘
if [ $? -ne 0 ]
then
echo "www.xxx.com https is already stopd" | mail -s " " [email protected]
fi
fi

脚本确实很简单,无非利用nc,nmap,curl等命令也可以来对80端口443端口(其它端口也可以)进行握手,为了防止网络延迟问题,用了二次检测。此脚本一年多来用起来很方便,自己想的,比较简单。

如果大家有什么更好的方式,也可以分享!

时间: 2024-12-29 05:41:39

Zabbix+shell两种方式监控任意web并及时报警的相关文章

System.Web.Http.Cors配置跨域访问的两种方式

System.Web.Http.Cors配置跨域访问的两种方式 使用System.Web.Http.Cors配置跨域访问,众多大神已经发布了很多文章,我就不在详细描述了,作为小白我只说一下自己的使用心得.在webapi中使用System.Web.Http.Cors配置跨域信息可以有两种方式.  一种是在App_Start.WebApiConfig.cs的Register中配置如下代码,这种方式将在所有的webapi Controller里面起作用. using System; using Sys

在基于MVC的Web项目中使用Web API和直接连接两种方式混合式接入

在我之前介绍的混合式开发框架中,其界面是基于Winform的实现方式,后台使用Web API.WCF服务以及直接连接数据库的几种方式混合式接入,在Web项目中我们也可以采用这种方式实现混合式的接入方式,虽然Web API或者WCF方式的调用,相对直接连接数据库方式,响应效率上略差一些,不过扩展性强,也可以调动更多的设备接入,包括移动应用接入,网站接入,Winfrom客户端接入,这样可以使得服务逻辑相对独立,负责提供接口即可.这种方式中最有代表性的就是当前Web API的广泛应用,促进了各个接入端

ASP.NET Web API接受AngualrJS的QueryString的两种方式

ASP.NET Web API如何接受来自AngualrJS的QueryString呢?本篇体验两种方式. 第一种方式:http://localhost:49705/api/products?search=GDN 这种方式是QueryString原生的格式. 首先,把当前的域名和端口号放到一个自定义的module中去. 1 (function () { 2 "use strict"; 3 4 angular.module("custommodule", ["

pb对Web Service的操作可使用两种方式实现

从PB8.0/9.0开始,就已经提供Web Service Proxy功能,能够直接进行相关程序的编写. 但是,部分老项目使用PB6.5开发 研究后发现,其实PB6.5要操作Web Service也挺容易. 说明:1.本例子用于pb对Web Service的操作.       2.pb可使用两种方式实现.   3.proxy方式使用pb9自带的Web Service Proxy功能实现,需要将sharedPowerBuilderpbsoapclient90.pbd包含到应用中来.   4.OLE

Asp.net Web API 返回Json对象的两种方式

这两种方式都是以HttpResponseMessage的形式返回, 方式一:以字符串的形式 var content = new StringContent("{\"FileName\": \"" + fileName + "\"}"); HttpResponseMessage response = new HttpResponseMessage() { Content = content }; response.Content

web安全:防范点击劫持的两种方式

防范点击劫持的两种方式 什么点击劫持?最常见的是恶意网站使用 <iframe> 标签把我方的一些含有重要信息类如交易的网页嵌入进去,然后把 iframe 设置透明,用定位的手段的把一些引诱用户在恶意网页上点击.这样用户不知不觉中就进行了某些不安全的操作. 有两种方式可以防范: 使用 JS 防范: if (top.location.hostname !== self.location.hostname) { alert("您正在访问不安全的页面,即将跳转到安全页面!"); t

通过属性 Cesium的FBO主要支持两种方式

角色其实就是一类权限的分组,所以给用户分配角色其实也是在给用户分配权限.在oracle中有三个比较常用的角色.对于一般不是很严格的系统可以授予开发用户CONNECT.RESOURCE角色权限即可. 其中--logdir命令行参数指定的路径必须跟SummaryWriter的logdir参数值保持一致,TensorBoard才能够正确读取到Tensorflow的事件文件. 使用RTTI技术可以避免类型访问错误而程序异常的情况,但是这样做有点不优雅,每增加一个类型,都需要修改if-else结构,并且使

实验--使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用(杨光)

使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 攥写人:杨光  学号:20135233 ( *原创作品转载请注明出处*) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验要求: 选择一个系统调用(13号系统调用time除外),系统调用列表参见http://codelab.shiyanlou.com/xref/linux-3.18.6/arch/x86/syscalls/sys

解决 SharePoint 2010 拒绝访问爬网内容源错误的小技巧(禁用环回请求的两种方式)

这里有一条解决在SharePoint 2010搜索爬网时遇到的“拒绝访问错误”的小技巧. 首先要检查默认内容访问帐户是否具有相应的访问权限,或者添加一条相应的爬网规则.如果目标资源库是一个SharePoint库,验证一下该帐号是否具有对该SharePoint web应用程序具有至少“完全读取”的权限. 当我在升级上来的SharePoint环境中对我新建的博客URL进行爬网时遇到了这个错误. 这个错误发生在当你运行Windows 2008 R2和SharePoint 2010并且爬网进程试图访问一