工作包括两部分监控端(一二三)和被监控端(四)
回到顶部
一、nrpe.cfg中添加脚本
nrpe.cfg中添加命令索引
1
command[check_used_mem]=/usr/local/nagios/libexec/check_used_mem.sh 80 90
说明:实际内存使用量超过80%警告;超过90%严重警告
回到顶部
二、添加具体脚本
参考脚本check_used_mem.sh
warn=$1
critical=$2
all=`free | sed -n '2p' | awk '{print $2}'`
used=`free | sed -n '3p' | awk '{print $3}'`
let "c=$used*100/$all"
if [[ $c -lt $warn ]]
then
echo "used mem/total <$warn% [used:$used, total:$total:$all]"
exit 0
elif [[ $c -lt $critical ]]
then
echo "used mem/total ≥$warn% [used:$used, total:$total:$all]"
exit 1
else
echo "used mem/total ≥$critical% [used:$used, total:$total:$all]"
exit 2
fi
解释:
1. 1、1、2分别指输入的第一、二个参数,比如:
del.sh脚本内容为
#/bin/bash
echo $1
sh del.sh a#第一个参数是a
chmod a+x ./del.sh a #第一个参数是a
2. free用来查看内存的使用情况
[root@xen_202_12 /]# free -m
total used free sharedbuffers cached
Mem: 3072 2459612 0207 1803
-/+ buffers/cache:447 2624
Swap: 1913 0 1913
total 内存总数: 3072
used 已经使用的内存数: 2459
free 空闲的内存数: 612
shared 当前已经废弃不用,总是0
buffers: Buffer Cache内存数: 13220
cached: Page Cache内存数: 2720160
一、grub2的启动配置文件grub.cfggrub2的启动配置文件grub.cfg是/boot/grub/grub.cfg,而不是以前的memu.lst。
如果你是多系统,有Ubuntu和windows,那么用下面的命令,可以使grub2得到所以可以启动的系统。
sudo update-grub
实际就是让系统自己生成合适的grub.cfg文件。
这个grub.cfg文件是只读属性,so如果你要修改它,需要权限。
sudo chmod +w /boot/grub/grub.cfg
然后可以编辑grub.cfg了。
sudo gedit /boot/grub/grub.cfg
二、默认系统和等待时间
1、set default=0
这是说从第一项启动。每个启动项都是以menuentry开始,menuentry后面“xxx”是启动项名称,然后{xxx}是启动代码。
### BEGIN /etc/grub.d/10_linux ###menuentry “Ubuntu, Linux 2.6.31-14-generic” {recordfail=1if [ -n ${have_grubenv} ]then save_env recordfailfiset quiet=1insmod ext2set root=(hd0,6)search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro quiet splashinitrd /boot/initrd.img-2.6.31-14-generic}menuentry “Ubuntu, Linux 2.6.31-14-generic (recovery mode)” {recordfail=1if [ -n ${have_grubenv} ]then save_env recordfailfiinsmod ext2set root=(hd0,6)search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro singleinitrd /boot/initrd.img-2.6.31-14-generic}### END /etc/grub.d/10_linux ###### BEGIN /etc/grub.d/20_memtest86+ ###menuentry “Memory test (memtest86+)” {linux16 /boot/memtest86+.bin}menuentry “Memory test (memtest86+, serial console 115200)” {linux16 /boot/memtest86+.bin console=ttyS0,115200n8}### END /etc/grub.d/20_memtest86+ ###### BEGIN /etc/grub.d/30_os-prober ###menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)” {insmod ntfsset root=(hd0,1)search –no-floppy –fs-uuid –set 5c108a1c1089fd70drivemap -s (hd0) ${root}chainloader +1}if keystatusthenif keystatus –shiftthenset timeout=-1elseset timeout=10fielseif sleep$verbose –interruptible 3 thenset timeout=10fifi### END /etc/grub.d/30_os-prober ###### BEGIN /etc/grub.d/10_linux ###
menuentry “Ubuntu, Linux 2.6.31-14-generic” {
recordfail=1
if [ -n ${have_grubenv} ]then save_env recordfailfi
set quiet=1
insmod ext2
set root=(hd0,6)
search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry “Ubuntu, Linux 2.6.31-14-generic (recovery mode)” {
recordfail=1
if [ -n ${have_grubenv} ]then save_env recordfailfi
insmod ext2
set root=(hd0,6)
search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro single
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry “Memory test (memtest86+)” {
linux16 /boot/memtest86+.bin
}
menuentry “Memory test (memtest86+, serial console 115200)” {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)” {
insmod ntfs
set root=(hd0,1)
search –no-floppy –fs-uuid –set 5c108a1c1089fd70
drivemap -s (hd0) ${root}
chainloader +1
}
if keystatusthen
if keystatus –shiftthen
set timeout=-1
else
set timeout=10
fi
else
if sleep$verbose –interruptible 3 then
set timeout=10
fi
fi
### END /etc/grub.d/30_os-prober ###
我 的第五个启动项是menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)”,我要它默认是以xp启动,所以修改为set default=”4″。(hd0,1)表示第一块硬盘的第一个分区,我的Linux在(hd0,6)。
当然,你也可以把你需要默认启动的系统放到最前面,那么就还是set default=0
2、set timeout=10
if [ ${recordfail} = 1 ]then
set timeout=-1
else
set timeout=10
fi
这里停留在grub选择系统界面的时间就是10秒,即set timeout=10。
有时候我并不想等待这么久,我直接启动xp,需要Ubuntu时才按几下Shift键进入grub选择系统界面。可以添加如下代码:
if keystatusthen
if keystatus –shiftthen
set timeout=-1
else
set timeout=10
fi
else
if sleep$verbose –interruptible 3 then
set timeout=10
fi
fi
ks.cfg文件:又称Kickstart文件,主要用于Linux系统的自动化安装。在CentOS系统中 /root/anaconda-ks.cfg就是一个ks.cfg文件,它指明了当前系统预安装环境时的设置内容。《Linux 就该这么学》
linux安装大致可以分为2个阶段
第一阶段:linux的预安装环境
此阶段是linux的预安装环境,提供linux安装选项的一个接口,可以将它比作是windows中的PE环境
第二阶段:自动安装过程
该段系统会按照第一阶段设定的参数自动安装,
第一阶段有两种模式:交互式和非交互式
交互式就和普通安装一样,按照提示选择选项一步步的安装
非交互式则通过读取kickstart文件的配置,进行自动安装,这和window中的无人值守安装差不多的,这个文件即是ks.cfg文件(相当于window中的wi2k3.sif应答文件)
而在安装linux过程中,获取ks.cfg文件的方式有多种,如直接在cdrom中获取,常见的形式还有http,ftp,nfs等方式。
在使用ks.cfg之前,需要先引导启动环境
引导方式有很多,cdrom,usb,PXE等。
在引导进入第一阶段后,即可通过读取ks.cfg来进行系统的自动安装
这里开始说说ks文件的大致内容
ks.cfg文件组成大致分为3段
1.命令段:
键盘类型,语言,安装方式等系统的配置,有必选项和可选项,如果缺少某项必选项,安装时会中断并提示用户选择此项的选项
2.软件包段:
%packages
@groupname:指定安装的包组
package_name:指定安装的包
-package_name:指定不安装的包
在安装过程中默认安装的软件包,安装软件时会自动分析依赖关系。
3.脚本段(可选):
%pre:预安装脚本(由于只依赖于启动镜像,支持的命令很少)
%post:后安装脚本(基本支持所有命令)
而具体的ks.cfg文件的配置,我们只需要在已经安装好的linux的root家目录找到anaconda_ks.cfg(这个ks文件就是在安装linux后,根据用户的安装选项自动生成的)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)