初搞网络,今天把学习到的一点东东写出来,供大家扔砖.
拓扑图:
目标:实现在监控3306端口服务时,出现1次critical软状态时或者在上一次执行后没有成功后出现的第一次硬状态critical情况下,远程执行mysql重启服务,并且每次执行远程重启服务前把报告事件记录到DB中
牵涉技术:
(1)Nagios事件处理原理
(2)Ssh无密码登录执行命令
(3)Perl操作mysql
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1:0 htb
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 384kbit ceil 384kbit
tc class add dev eth0 parent 1:1 classid 1:10 h..
在上一篇文章中,有兄弟问我要code source,因前面写的数据收集用的是本地获取的,所以就想先改进下数据收集方式,再发出来。今天,我采用snmp方式把数据收集出来,并画图。
以下代码仅供参考:
#!/usr/bin/perl..
#!/usr/bin/perl
use HTML::TokeParser;
use LWP::Simple;
$url="http://www.51cto.com/";
$filename="51cto.html";
my $status_code=getstore("$url",$filename);
..
为了在第一时间知道这几天的天气状况(家里有baby,所以需要每天的天气状态),我参考网上和自己的一些想法,写了下面的脚本。
#!/usr/bin/perl
use strict;
use warnings;
use URI;
use Web::Scraper;
..
perl捕获异常,仅供参考,可以扩展...
####打开文件句柄
eval {
open(FH,"domains.txt") or die "Can't open files,$!";
};
#捕获异..
本文受http://wangxiaoyu.blog.51cto.com/922065/514570这篇文章的感染,就模拟用perl写了一个,供参考。呵呵...
本脚本运行环境:
badboy@www:~$more /etc/issue
Ubuntu 10.04.2 LTS \n \l
badboy@..
perlcookbook第二版16.4一节中,关与管道的用法,在这里写了一个自己的写程序。将程序的输出给另一个程序,以供另一个程序使用的小例子。仅供参考:
main.pl
#/usr/bin/perl -w
$default_files="/etc/..
perl对字符串的处理
当我们对字符串其中的某部分做截出,替换,删除(不包括搜索)。我们可以想到的用substr,unpack,regex这些方法来做。
如果搜索,那么让我们想到的是index,rindex.
(1)截出
substr
$..
根据合法ip规格,写了个检验程序:
合法ip:(1..255).(0..255).(0..255).(0..255)范畴
sub report{
print $_[0];
exit($_[1]);
}
sub check_ip{
if ($_[0] =~ ..
今天,我拿Web HA一例来学习heartbeat。
WEB OS:Centos5.5
WEB Software:nginx
WEB Scripts Name:Start_Nginx
Start_Nginx
#!/usr/bin/env bash
case "$1" in
start)
/usr/local/nginx/sbin/nginx
;;
stop)
killall nginx
;;
status)
;;
esac.
[前言]看过很多与架构有关的文章,但大部分都是其架构中一部分的某部分,经过很长一段时间思考,想将其一部分的一部分的知识整合到一起形成一个“看似比较大点的部分” ,也就有了我这篇文章。当然大家也可以说我这篇文章也是架构的一部分的某部分,但我觉得它还是值得大家参考学习的,最起码我是这样想的。
这篇文章可能会一直处与有待修整状态,因为它不是最完美的,会随着我的测试而更新,但直到我的这台测试机下线为止,可能将无法再提供更新!
下午闲来无事,就搞个批量密码修改工具玩玩...
#!/usr/bin/env python
import paramiko
import time
ip_list=('ip1','ip2')
log_file=open('mpwdok.log','w+')
log_file1=open('mpwderr.log','w+')..