1. 监控脚本的理解
所谓监控脚本就是用shell python perl的写的小程序,主要是采集对应的数据供运维人员来判断系统正常运行的依据;现在一般是可视化界面的监控,运维可以自己编写代码,设定采集数据的参数;然后可视化界面会把我们脚本采集的数据进行解析,并把对应的数据进行阀值判断,如果超过了安全范围,就发出报警----短信 + 邮件!
2. sar的报警
sar 是对服务器基本数据的采集,cpu mem load等数据,crontab来定时执行脚本
cat /etc/cron.d/tsar
# cron tsar collect once per minute
MAILTO=""
* * * * * root /usr/local/tsar/tsar --cron ------->每分钟都执行一次
sudo strace /usr/local/tsar/tsar --cron -------->查看tsar脚本操作的一个记录,我们可以通过这个命令查看脚本的基本工作
tsar 显示从当前时刻开始过去24小时的数据,没5分钟显示一次(采集一次)
3. linux帐号 shuming hubble
linux 一些帐号是应用程序的帐号,不能登录;在执行某一个程序时会自动切换到其对应的帐号来执行程序;
sudo -u hubble /home/hubble/monitor/script/check_kfc_pat 2905 xengine 用 hubble 帐号来执行 脚本check_kfc_pat
hubble用户是安装hubagent时自动生成的,不能像zengtai.csm一样登录,但是我们可以用此用户执行对应的命令
而且在执行hubagent进程时会自动切换到 hubble用户,所以要保证hubble用户具有执行脚本sudo -u hubble /home/hubble/monitor/script/check_kfc_pat 2905 xengine的权限 ll /.../check_kfc_pat 是 看看 hubble有么有执行权限
[
[email protected] ~]$ sudo -u hubble /home/hubble/monitor/script/check_kfc_pat 2905 xengine
sudo: unable to execute /home/hubble/monitor/script/check_kfc_pat: Success
[
[email protected] ~]$ sudo -u hubble perl /home/hubble/monitor/script/check_kfc_pat 2905 xengine
1333694792 active=1 enabled=1 dps=0.00 dsz=0.00 ips=869.27 isz=779.70 ops=1127.33 osz=611.61 qmax=0 qsz=0.00 apps=64
4. perl 的路径
#!/bin/evn perl --Unix这样写 #!/usr/bin/perl --linux这样写
如果在linux上用 #!/bin/evn perl 在机器上没有path中指定,会出现没有权限之类的错误,所以要#!/usr/bin/perl
which pat----
~guoqing/bin/diff_pkg xweb1.tanx.cm4 xweb2.tanx.cm4 diff_pkg脚本
5. 端口扫描 nc 命令
# nc -v -w 2 192.168.2.34 -z 21-24 ----->扫描192.168.2.34机器的21-14端口,试图在21-24端口建立tcp链接,如果链接成功则说明21-24端口是正常,否则是有问题的
nc: connect to 192.168.2.34 port 21 (tcp) failed: Connection refused
Connection to 192.168.2.34 22 port [tcp/ssh] succeeded!
nc: connect to 192.168.2.34 port 23 (tcp) failed: Connection refused
nc: connect to 192.168.2.34 port 24 (tcp) failed: Connection refused
从本机链接目标主机的端口, nc -v -w 2 172.24.130.106 -z 80
本机连接 172.24.130.106 的80端口,如果成功$?=0 不成功 $? != 0
可以用来扫描某一台主机的80端口,看看80端口是否正常
nc -z -w1 172.24.130.106 80 nc -z -w 1 172.24.130.106 80 --->w:timeout的时间, w1 w 1 timeout超时超过1s