nagios 实时监控 iptables 状态

实时监控Iptables,防止人为关闭后,忘了开启,或者监控规则是否有增删。

在客户端(被监控端):

# cd /usr/local/nagios/etc

# vim nrpe.cfg 增加如下内容:

command[check_iptables]=/usr/local/nagios/libexec/check_iptables.sh

# cd /usr/local/nagios/libexec

# touch check_iptables.sh

# chmod 755 check_iptables.sh

# chown nagios:nagios check_iptables.sh

# vim check_iptables.sh ;增加如下内容:

---------------------------------

#!/bin/bash

local_iptables_md5="975fe1cb63de080b470a1073bebb0f56"  //首先获取iptables 开启状态下的MD5值

check_iptables_md5=`sudo /sbin/iptables -n -t filter -L|md5sum|awk ‘{print $1}‘`

if [ $local_iptables_md5 == $check_iptables_md5 ]; then

echo "OK - Iptables is OK"

exit 0

else

echo "CRITICAL - Iptables is CRITICAL"

exit 2

fi

---------------------------------

脚本说明:先获取iptables的值,然后对比现在的值,如果一样,说明iptables状态正常,否则报异常;

# visudo  增加如下内容:

nagios ALL= NOPASSWD: /sbin/iptables -n -t filter -L

注:脚本调用了iptables命令,iptables默认只允许root调用,所有需要修改sudo。以上语句,表示只允许nagios用户不用密码使用该条命令。

在服务端(监控端):

在监控配置文件里新增如下内容:

define service {

use                  web-service

host_name             ip address

service_description   iptables_status

check_command           check_nrpe!check_iptables

}

最后检测配置并重启nagios。

时间: 2024-10-09 23:02:51

nagios 实时监控 iptables 状态的相关文章

nagios监控iptables状态

最近我们运维要加强安全防护,老大让我们监控iptables的状态.这里我废了九牛二虎之力,再加上我师父(聪哥)的指导,才成功完成. 下面给大家看下我写的监控脚本 #!/bin/bash   prefix=/usr/local/nagios/libexec;   check_iptab_md5=`/usr/bin/sudo iptables -L -n | md5sum | awk '{print $1}'` #这里是计算iptables的filter链的MD5值,一旦发生改变.或者iptable

iOS实时监控网络状态的改变

在网络应用中,有的时候需要对用户设备的网络状态进行实时监控,有两个目的: (1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能) (2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 WIFI网络:自动下载高清图片 4G/3G网络:只下载缩略图 没有网络:只显示离线的缓存数据 常用的有以下两种方法: (1).使用苹果观法提供的检测iOS设备网络环境用的库 Reachablity (2).使用AFN框架中的AFNetworkReachabilityManager来监听网络状态的

nagios监控iptables状态(二)

由于上一篇上面写的那个脚本不是很好用,每次加了防火墙规则以后都需要手动删除MD5文件.所以重新写了一个shell,通过计算他的规则条数来判断iptables是否做了修改! #!/bin/bash iptable_num=$(sudo /sbin/iptables -L -n|wc -l) if [ ${iptable_num} = 8 ];then      echo iptables is stoped    exit 1 else      echo iptables is started 

实时监控MySql状态

大多网站的性能瓶颈都会出在数据库上,所以想把Mysql监控起来,就搜索了下相关资料. 后来和同事讨论了下cacti和nagios有些老套和过时,graphite比较时尚,然后就搜了下相关的资料,最后搞出来了,效果如下 可以实时查看mysql打开的table数,文件数,正在执行,已经创建,已经连接的线程数,锁,查询缓存,表扫描相关的计数器,以及已经完成的select,insert, delete, update的sql数等,总之Mysql的各种状态一览无余. 具体各个指标的意思参考如下链接: ht

实时监控php-fpm状态

今天无意间看到同事在配PHP-fpm的状态,,于是看了下,在nginx里面加一个location就可以了,具体设置如下: location ~ ^/status$ {                 include fastcgi_params;                 fastcgi_pass 127.0.0.1:9000;                 fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;         } 然后在

ngxtop实时监控nginx状态

ngxtop实时解析nginx访问日志,并且将处理结果输出到终端,功能类似于系统命令top,所以这个软件起名ngxtop.有了ngxtop,你可以实时了解到当前nginx的访问状况,再也不需要tail日志看屏幕刷新. 1. 安装ngxtop 1.1 源码安装 1 2 3 4 5 6 # wget https://github.com/lebinh/ngxtop/archive/master.zip -O ngxtop-master.zip # unzip ngxtop-master.zip #

用c#监控网络状态

1.查询当前网络状态: using Microsoft.VisualBasic.Devices; //判断当前网络连接状态 Network nw=new Network(); if(nw.IsAvailable) lbmsg.Text="网络已连接"; else lbmsg.Text="网络已断开"; 2.实时监控网络状态 using System.Net.NetworkInformation; // Constructor public MainPage() {

Nagios中官方iptables监控脚本调整

在Nagios的官方网站上有提供一个用于监控iptables的状态的脚本,但是官方提供的脚本直接是不能使用的需要修改才能使用,在这里就大致所以下,因为Nagios的中命令机制是使用Nagios用户运行的,所以在官网上提供的脚本没有做出调整前是无法正常使用的,官网提供的iptables监控脚本很简单,是使用iptables的指令统计出INPUT上实时的条数的有多少,如果条数-1小于0就告警.但是在普通用户是无法正常使用iptables的命令,如果没有做出调整在Nagios中会出现NRPE:Unab

关于nagios系统下使用shell脚本自定义监控插件的编写以及没有实时监控图的问题

关于nagios系统下shell自定义监控插件的编写.脚本规范以及没有实时监控图的问题的解决办法 在自已编写监控插件之前我们首先需要对nagios监控原理有一定的了解 Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控.检测功能都是通过各种插件来完成的. 启动Nagios后,它会周期性的自动调用插件去检测服务器状态,同时Nagios会维持一个队列,所有插件返回来的状态信息都进入队列, Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过web显示出来. N