基础监控服务器资源的脚本
1. 如何使用PHP实时监控linux服务器的cpu,内存,硬盘信息
1,Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。
其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可以查看physical id 的值,相同则为同一个物理CPU
2,查看内存大小:
cat /proc/meminfo |grep MemTotal
3,其他一些可以查看详细linux系统信息的命令和方法:
uname -a # 查看内核/操作系统/CPU信息的linux系统信息命令
head -n 1 /etc/issue # 查看操作系统版本,是数字1不是字母L
cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令
hostname # 查看计算机名的linux系统信息命令
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备的linux系统信息命令
lsmod # 列出加载的内核模块
env # 查看环境变量资源
free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
-sh # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载磁盘和分区
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况网络
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息进程
ps -ef # 查看所有进程
top # 实时显示进程状态用户
w # 查看活动用户
id # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l # 查看当前用户的计划任务服务
chkconfig –list # 列出所有系统服务
chkconfig –list | grep on # 列出所有启动的系统服务程序
rpm -qa # 查看所有安装的软件包
cat /proc/cpuinfo :查看CPU相关参数的linux系统命令
cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令
cat /proc/meminfo :查看linux系统内存信息的linux系统命令
cat /proc/version :查看版本,类似uname -r
cat /proc/ioports :查看设备io端口
cat /proc/interrupts :查看中断
cat /proc/pci :查看pci设备的信息
cat /proc/swaps :查看所有swap分区的信息
2. zabbix 3.0.1怎么配置脚本
配置方式:
1. 完成自定义监控脚本的编写(windows或linux脚本)
脚本要求:(1)既然是监控,那必然要有输出结果值(字符串,数字皆可)
(2)必须要求zabbix用户有执行权限,当然可以直接设置所有用户都有执行权限(chmod 777 脚本文件)
(3)若脚本需要传入参数,按照参数传入的顺序,在脚本中可用$1-$9来引用传入的参数
2 找到zabbix agent的配置文件zabbix_agentd.conf,修改如下两个参数
UnsafeUserParameters=0 => UnsafeUserParameters=1并去掉前面的注释符
UserParameter= => UserParameter=aaa.bbb[*], /usr/local/script/monitor.sh $1 $2 ...
说明:aaa.bbb[*] ---zabbix服务器添加监控信息时需要用到的key值,
格式:aaa.bbb[*](例:system.file.size[*])
/usr/local/script/monitor.sh ----监控脚本绝对路径
为了便于灵活监控,有时脚本需要传入参数,此参数可从zabbix服务器端传入,所有参数按顺序分别从$1-$9表示
注:(1)若无需传入参数,则红色部分可省略
(2)该自定义脚本可由zabbix服务器控制收集数据的频率(如:每30s运行一次),无需再添加计划任务
(3)以上参数请根据实际情况填写,并注意去除参数前注释符(#)
(4)注意在key值和后面的脚本之间有个逗号隔开
至此,自定义监控脚本zabbix agent端配置结束
3. 测试
测试命令: /usr/local/bin/zabbix_agentd -t key[参数]
示例:/usr/local/bin/zabbix_agentd -t system.file.size[/etc/a.txt,abc,...]
4. 监控脚本举例:
脚本名称:/usr/local/script/monitor.sh
脚本内容:echo `date +"%F %T"`
脚本要求:必须在控制台输出值,该值将作为返回值返回给zabbix服务器端
3. 请问监控Linux服务器磁盘容量的脚本怎么写
看看下面这个脚本(注意要用英文的标点符号):
#!/bin/bash
partion_list=( 'df -h | awk ‘NF>3&&NR>1{sub(/%/,””,$(NF-1));print $NF,$(NF-1)}’' )
critical=90
notification_email()
{
emailuser='[email protected]' “发送邮件地址”
emailpasswd='password' “成功开启POP3/SMTP服务,在第三方客户端登录时,密码框请输入的授权码”
emailsmtp='smtp.qq.com'
sendto='[email protected]' “接收邮箱地址”
title='Disk Space Alarm' “邮件标题”
/usr/local/bin/sendEmail -f $emailuser -t $sendto -s $emailsmtp -u $title -xu $emailuser -xp $emailpasswd -m $emailmessage
}
crit_info=””
for (( i=0;i<${#partition_list[@]};i+=2 ))
do
if [ “${partition_list[ ((i+1)) ]}” -lt “$critical” ];then
echo “ok! ${partition_list[i]} used ${partition_list[ ((i+1)) ]}%”
else
if [ “${partition_list[ ((i+1)) ]}” -gt “$critical” ];then
crit_info=$crit_info”Warning!!! ${partition_list[i]}
used ${partition_list[ ((i+1) ] }%\n”
fi
fi
done
if [ “$crit_info” != ”” ];then
echo -e $crit_info | notification_email
fi
上面脚本的功能是监控每个磁盘分区,当磁盘分区使用空间超过90%时,就通过sendEmail来发送邮件告警。sendEmail是个开源工具,可以从http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz下载;
解压后把sendEmail拷贝到/usr/local/bin下即可。
4. 如何利用shell脚本监控服务器温度
统:centos 5.5 1.监控服务器状态脚本内容:
01 #!/bin/bash 02
IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`
03
04 cpu_num=`grep -c 'model name' /proc/cpuinfo` 05
06 load_15=`uptime | awk '{print $NF}'` 07 08
average_load=`echo "scale=2;a=$load_15/$cpu_num;if(length(a)==scale(a)) print 0;print a" | bc`
09
10 average_int=`echo $average_load | cut -f 1 -d "."` 11
12 load_warn=0.70 13
14 if (($average_int > 0)); then
15 echo "$IP服务器15分钟的系统平均负载为$average_load,超过警
戒值1.0,请立即处理!!!" | mailx -s "$IP 服务器系统负载严重告警!!!
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
" [email protected] 16 else 17
18 load_now=`expr $average_load \> $load_warn` 19
20 if (($load_now == 1)); then
21 echo "$IP服务器15分钟的系统平均负载达到 $average_load,超过警戒值0.70,请及时处理。" | mailx -s "$IP 服务器系统负载告警
" [email protected] 22 fi 23 24 fi 25
26 cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f 1 -d "."` 27
28 if (($cpu_idle < 20)); then
29
echo "$IP服务器cpu剩余$cpu_idle%,使用率已经超过80%,请及时
处理。" | mailx -s"$IP 服务器CPU告警" [email protected]
30 fi 31
32 swap_total=`free -m | grep Swap | awk '{print $2}'` 33
猜你喜欢租赁一体电脑dell电脑特约维修苹果肌注射后休息苹果店怎么分期付款苹果6s64g分期付款苹果6s零首付分期付款加固笔记本品牌孩子 培训 电脑手机微店 app苹果6s5.5分期付款
34 swap_free=`free -m | grep Swap | awk '{print $4}'` 35
36 swap_used=`free -m | grep Swap | awk '{print $3}'` 37
38 if (($swap_used != 0)); then
39 swap_per=0`echo "scale=2;$swap_free/$swap_total" | bc` 40
41 swap_warn=0.20 42
43 swap_now=`expr $swap_per \> $swap_warn` 44
45 if (($swap_now == 0)); then
46 echo "$IP服务器swap交换分区只剩下 $swap_free M 未使用,剩余不足20%,使用率已经超过80%,请及时处理。" | mailx -s "$IP 服务器
内存告警" [email protected] 47 fi 48 49 fi 50
51
#disk_sda=`df -h | grep /dev/sda3 | awk '{print $5}' | cut -f 1 -d "%"`
52 disk_sda=`df -Ph |grep /dev/mapper/VolGroup00-LogVol00|awk '{print
5. 如何用shell脚本监控服务器负载,cpu,内存,硬盘和登录用户数
试试档厅这个方法:告袜Check if this entry is a directory or a file.
const size_t filenameLength = strlen(fileName);
if (fileName[filenameLength-1] == '行友隐/')
{
{
6. linux服务器监控的几个方法和命令
监控会降低性能的。同问filter、simls是什么?没用过。
当服务器系统性能突然低于平均应有的情况,问题可能来自在执行的进程、内存的使用率、磁盘的性能和CPU 的压力。在预算有限的时代,理解如何优化系统性能比以往任何时候都重要。要实现它的前提是,你必须充分了解自己的服务器,从而找到真正的瓶颈所在。本文提供一些基础的工具来辨别和处理一些性能问题。工作过程是:首先查看整个系统的状态(服务器整体)后是检查特定的子系统(内存、处理器、IO等)。
一、系统负载监测
1.使用uptime命令
2.使用cron命令进行定时监测系统负载:
二、Unix进程运行的监测
1.使用ps命令
Unix系统提供了ps等察看进程信息的系统调用,通过结合使用这些系统调用,我们可以清晰地了解进程的运行状态以及存活情况,从而采取相应的措施,来确保Unix系统的性能。它们是目前在Unix下最常见的进程状况查看工具,是随 Unix版本发行的,安装好系统之后,用户就可以使用。 这里以ps命令为例,ps命令是最基本同时也是非常强大的进程查看命令。利用它可以确定有哪些进程正在运行及运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等。ps命令可以监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的
2.使用进程监控工具
如果安装了CDE环境,可以使用图形界面进程等系统信息,使用方法是单击“前面板”上“工具”子面板上的“查找进程”控件。 显示“进程管理器”主窗口。它立即对工作站进行采样,并显示所有当前进程的采样。
三、内存使用情况监测
内存是Unix内核所管理的最重要的资源之一。内存管理系统是操作系统中最为重要的部分,因为系统的物理内存总是少于系统所需要的内存数量。虚拟内存就是为了克服这个矛盾而采用的策略。系统的虚拟内存通过在各个进程之间共享内存而使系统看起来有多于实际内存的内存容量。Unix支持虚拟内存, 就是使用磁盘作为RAM的扩展,使可用内存相应地有效扩大。核心把当前不用的内存块存到硬盘,腾出内存给其他目的。当原来的内容又要使用时,再读回内存。
7. 求一个linux服务器巡检脚本,50多台服务器,结果要做成一个excel表格,每天手动开始执行即可!
你可以在每台服务器上面放同一个脚本。
这个linux脚本加入cron,这个脚本每天定时把df -k free -m uptime 这三项的结果保存到文本文件里面,比如uptime可以保存到uptime_20140112.txt,以此类推。
然后脚本把这些文件ftp到一个单独的服务器上面,比如192.168.1.100,这个服务器可以是windows。
然后写个程序读当天或者几天的txt文件,然后输出到excel。可以用你熟悉的语言来写,应该不难。
8. 怎样使用loadrunner监控linux系统资源
1 准备工作
首先,监视Linux一定要有rstatd这个守护进程,有的Linux版本里也有可能是rpc.rstatd这里只是名字不同而已,功能是一样的
一般来说LINUX需要下载一个包才有这个服务,包名字是rpc.rstatd-4.0.1.tar.gz. 这是一个源码,需要编译,
下载并安装rstatd
tar -ivh rpc.rstatd-4.0.1.tar.gz
./configure —配置
make —编译
make install —安装
rpc.rstatd —启动rstatd进程
配置rstatd 目标守护进程是xinetd,它的主配置文件是/etc/xinetd.conf 里面内容是
只有基本信息
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
includedir /etc/xinetd.d
里面内容的意思在这里就不说了!网上有具体解释,
我们这里需要修改的是/etc/xinetd.d/下的三个conf文件 rlogin ,rsh,rexec 这三个配置文件,
打这三个文件里的disable = yes都改成 disable = no ( disabled 用在默认的 {} 中 禁止服务)
或是把# default: off都设置成 on 这个的意思就是在xinetd启动的时候默认都启动上面的三个服务!
(由于貌似用ps ax不能看到rlogin ,rsh ,rexec这三个进程是否开启,所以使用default: on,因为rstatd和xinetd这二个服务是否启动在ps ax里是看的到的)
然后你在保证Linux机器上的进程里有rstatd和xinetd这二个服务就可以用LR去监视了
几点小的技巧:
检查是否启动: rsh server 监听和TCP 是514。
# netstat -an |grep 514
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN
如果能看到514在监听说明rsh服务器已经启动。
检查是否启动: rstatd
输入命令: rpcinfo -p
如果能看到
程序 版本 协议 端口
*** **** udp 741 rstatd
Average load:
Average number of processes simultaneously in Ready state ring the last minute
上一分钟同时处于“就绪”状态的平均进程数
Collision rate
Collisions per second detected on the Ethernet
每秒钟在以太网上检测到的冲突数。
Context switches rate
Number of switches between processes or threads, per second
每秒钟在进程或线程之间的切换次数。
CPU utilization
Percent of time that the CPU is utilized
CPU 的使用时间百分比。
Disk rate
Rate of disk transfers
磁盘传输速率。
Incoming packets error rate
Errors per second while receiving Ethernet packets
接收以太网数据包时每秒钟接收到的错误数。
Incoming packets rate
Incoming Ethernet packets per second
每秒钟传入的以太网数据包数。
Interrupt rate
Number of device interrupts per second
每秒内的设备中断数。
Outgoing packets errors rate
Errors per second while sending Ethernet packets
发送以太网数据包时每秒钟发送的错误数。
Outgoing packets rate
Outgoing Ethernet packets per second
每秒钟传出的以太网数据包数。
Page-in rate
Number of pages read to physical memory, per second
指标表明的是每秒交换到物理内存中的页面数。
Page-out rate
Number of pages written to pagefile(s) and removed from physical memory, per second
表示每秒从物理内存中移出或者写入到页面数。
Paging rate
Number of pages read to physical memory or written to pagefile(s), per second
每秒钟读入物理内存或写入页面文件中的页数。
Swap-in rate
Number of processes being swapped
每秒交换到内存的进程数。
Swap-out rate
Number of processes being swapped
每秒从内存交换出来的进程数。
System mode CPU utilization
Percent of time that the CPU is utilized in system mode
在系统模式下使用 CPU 的时间百分比。
User mode CPU utilization
Percent of time CPU is utilized in user mode
在用户模式下使用 CPU 的时间百分比。
一些常见的问题及处理方法:
1、在执行配置或安装命令过程中出现“拒绝的权限”的提示?
答:是由于文件的权限引起的,应该给当前用户所有文件的“777”权限,即完全控制权限。
2、安装好后从LoadRunner中看不到信息,但是没有报错?
答:可能是返回的信息值比较小,所以在图中几乎看不到,例如:如果没有运行程序的话,CPU的使用率接近于0,所以在监视图中看不到变化。也有可能是采样的频率过大,可以在图表中设置没1 秒获取一次信息,这样界面就刷新的比较及时了。
3、监视一段时间后LoadRunner中提示有错误发生不能继续监视到信息?
答:可能是由于CPU长时间处于高负荷状态,而导致系统自动关闭了该服务。可以在LoadRunner中重新加一次计数器,并且设置取样的时间稍长一点,就会避免这种情况。
4、以前用LoadRunner监视都是成功的,但是再次监视不到信息?
答:有可能是由于系统重新启动,而没有打开rstatd守护进程。可以手工重新打开一次,使用命令“rpc.rstatd”,另外可以使用“rpcinfo -p”命令来查看当前系统是否已经启动了rstatd守护进程。
5、使用LR监视Linux窗口,经常丢失?
这是你图形显示时间设置问题,跟lr稳定不稳定没关系,具体设置如下:
1.运行Controller
2.在"Unix Resources"图形窗口中,点击右键,选择Configure选项
3.随后弹出“Graph Configuration”窗口,在该窗口有一个选项“Graph Time(sec)”,默认显示是60秒
这里共有4个选项:60秒,180秒,600秒,3600秒,whole scenario(整个场景运行都显示图形数据)
注:如果按照你疲劳测试动则十几小时的情况来看,应该选择whole scenario(整个场景运行都显示图形数据)
9. 如何在Loadrunner中监控服务器资源使用情况
一 监控需要进行的配置:在LR控制台设置监控Windows服务器的资源比较容易,直接添加Measurements即可。但是大多情况下面服务器的操作系统是Linux或者Unix,这时想监控系统的资源使用情况就需要进行一些设置:1 由于LR是通过rpc rstatd进程获得系统的性能数据,因此首先查看进程中是否存在该进程,或者能否通过运行 rpc rstatd启动该进程,如果可以,恭喜你,你可以直接在LR的控制台添加Measurements;否则需要下载rstatd tar gz,下载地址: 安装rstatd tar xvzf rstatd tar gz cd rpc rstatd configure prefix usr make sudo su mak