服务器监控邮件

平时在监控linux服务器的时候都是主动远程登录到系统上输入df , top, free, ps 等命令查看系统运行状态。在机器不多的情况下这种方式是可以接受的,但是服务器一多起来,这种管理方式就显得有点笨拙了。
我的解决方案是:根据服务器的具体情况,编写能反应服务器运行状况的角本,然后在crontab中定时运行角本并将结果通过email发送至指定邮箱。
以下是我一台运行samba服务的服务器的监控角本:

#!/bin/bash

#Collect the server running status
#Author: CMZSteven
#Create time: 2015-04-18

#查看内存剩余情况,只查看内存实际使用情况和swap
echo "Memory Info------------------------------------------------------------------"
free -m|sed -n -e '1'p -e '3,4'p
echo "-----------------------------------------------------------------------------"
echo ""

#查看top上的CUP负载信息及占用CPU最高的前10个进程
echo "CPU Load Info----------------------------------------------------------------"
top -bn1|sed -n -e '1,3'p -e '6,17'p
echo "-----------------------------------------------------------------------------"
echo ""

#由于我的服务器是运行samba服务的,我只列出我用作samba服务的二个磁盘的使用情况
echo "Disk Use Info----------------------------------------------------------------"
df -h | sed -n -e '1'p -e '5,6'p
echo "-----------------------------------------------------------------------------"
echo ""

#查看samba服务的pid, stime(开始运行时间), etime(总运行时间)
echo "Samba Elapsed Time-----------------------------------------------------------"
ps -A -o pid,stime,etime,args|sed -n -e '1'p -e'/smbd/'p|grep -v 'sed'
echo "-----------------------------------------------------------------------------"
echo ""


#查看top中samba相关进程的运行情况
echo "Samba Running Info-----------------------------------------------------------"
top -bn1|sed -n -e '7'p -e '/smbd/'p
echo "-----------------------------------------------------------------------------"


然后运行命令:vim /etc/crontab 
在最后一行输入
0 */8 * * * root server_monitor.sh|mail -s "Server Running Status" 123@163.com
mail是用来发送邮件的命令,-s 是邮件主题,后面直接跟要接收邮件的地址。
在使用之前你先查看一下系统里是否安装了mail命令

which mail

如果没有的话,使用yum安装一下mailx包

yum install -y mailx


每隔8小时以root用户的身份运行角本,并将结果发送至指定邮箱。

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
0 */8 * * * root server_monitor.sh|mail -s "Server Running Status" 123@163.com

收到的邮件内容为:
Memory Info------------------------------------------------------------------
total used free shared buffers cached
-/+ buffers/cache: 212 1654
Swap: 4095 0 4095
-----------------------------------------------------------------------------

CPU Load Info----------------------------------------------------------------
top - 18:34:19 up 10 days, 6:01, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 95 total, 1 running, 94 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.6%us, 1.1%sy, 0.0%ni, 95.3%id, 2.9%wa, 0.0%hi, 0.1%si, 0.0%st

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 19232 1408 1116 S 0.0 0.1 0:00.56 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.04 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 4:51.27 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0
6 root RT 0 0 0 0 S 0.0 0.0 0:00.53 watchdog/0
7 root RT 0 0 0 0 S 0.0 0.0 0:00.24 migration/1
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/1
9 root 20 0 0 0 0 S 0.0 0.0 4:57.64 ksoftirqd/1
10 root RT 0 0 0 0 S 0.0 0.0 0:00.39 watchdog/1
-----------------------------------------------------------------------------

Disk Use Info----------------------------------------------------------------
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 1.8T 395G 1.4T 23% /samba/file_server
/dev/sdc1 1.8T 1.1T 692G 61% /samba/vedio_bakup
-----------------------------------------------------------------------------

Samba Elapsed Time-----------------------------------------------------------
PID STIME ELAPSED COMMAND
9821 Apr13 6-09:23:15 smbd -D
9823 Apr13 6-09:23:14 smbd -D
9999 Apr13 5-18:35:05 smbd -D
-----------------------------------------------------------------------------

Samba Running Info-----------------------------------------------------------
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9821 root 20 0 208m 3344 2284 S 0.0 0.2 0:00.10 smbd
9823 root 20 0 209m 2520 1072 S 0.0 0.1 0:00.63 smbd
9999 root 20 0 221m 7176 5808 S 0.0 0.4 15:45.28 smbd
-----------------------------------------------------------------------------
我写入的计划任务是每隔8小时运行一次,你可以根据自己的需要适当调整邮件发送时间。


更多Linux方面的资料请访问:http://www.aminglinux.com/bbs/?fromuid=4297
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值