如何使用PHP实时监控Linux服务器的cpu,内存,硬盘信息

如何使用PHP实时监控Linux服务器的cpu,内存,硬盘信息,第1张

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
#
查看各分区使用情况
du
-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分区的信息

对于远程监控Linux主机系统CPU,内存使用情况,以前也使用了top等命令,但是最后还是觉得使用vmstat比较好
运行top命令获得系统CPU使用情况有两个缺点,
第一运行top命令,执行的shell语句相对复杂
用top命令获得CPU使用情况的shell语句
top -b -n 2 | grep Cpu |sed 1d | awk '{print $5}' | cut -f 1 -d ""
第二:有时候系统峰值时间很短暂,容易造成误判
注意:运行本例子,你还需要下载第三方ganymed-ssh2-build251beta1jar,改软件主要用于通过ssh远程登录被监控主机
ITjob上。看。的

Monit是什么?
Monit是
一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。Monit特别易于安装,而且非常轻量级(只
有500KB大小),并且不依赖任何第三方程序、插件或者库。然而,Monit可以胜任全面监控、进程状态监控、文件系统变动监控、邮件通知和对核心服务
的自定义动作等场景。易于安装、轻量级的实现以及强大的功能,让Monit成为一个理想的后备监控工具。

已经在一些机器使用Monit几年了,而且我对它的可靠性非常满意。甚至作为全面的监控系统,对任何Linux系统管理员来说Monit也是非常有用和强
大的。在这篇教程中,我会展示如何在一个本地服务器部署Monit(作为后备监控系统)来监控常见的服务。在部署过程中,我只会展示我们用到的部分。
在Linux安装Monit
Monit已经被包含在多数Linux发行版的软件仓库中了。
Debian、Ubuntu或者Linux Mint:
$ sudo aptitude install monit
Fedora或者CentOS/RHEL:
在CentOS/RHEL中,你必须首先启用EPEL或者Repoforge软件仓库
# yum install monit
Monit
自带一个文档完善的配置文件,其中包含了很多例子。主配置文件在/etc/monitconf(Fedora/CentOS/RHEL
中),或者/etc/monit/monitrc(Debian/Ubuntu/Mint
中)。Monit配置文件有两部分:“Global”(全局)和“Services”(服务)。
Global Configuration: Web Status Page (全局配置:Web状态页面)
Monit可以使用邮件服务来发送通知,也可以使用>我们公司用的监控软件是SUM服务器监控软件。
所有常见系统都可以监控的,跨平台的,支持LINUX系统,对LINUX系统下的APACHE,主要监控Apache的请求率、流量、工作线程、每秒请求处理量等Apache的核心性能,对我来说已经够用了!
可以定制报表,也能设置监控报警,不知道是不是你需要的。

1、查看主机网卡流量
#!/bin/bash
#network
#MikeXu
while : ; do
time=’date +%m”-”%d” “%k”:”%M’
day=’date +%m”-”%d’
rx_before=’ifconfig eth0|sed -n “8″p|awk ‘{print $2}’|cut -c7-’
tx_before=’ifconfig eth0|sed -n “8″p|awk ‘{print $6}’|cut -c7-’
sleep 2
rx_after=’ifconfig eth0|sed -n “8″p|awk ‘{print $2}’|cut -c7-’
tx_after=’ifconfig eth0|sed -n “8″p|awk ‘{print $6}’|cut -c7-’
rx_result=$[(rx_after-rx_before)/256]
tx_result=$[(tx_after-tx_before)/256]
echo “$time Now_In_Speed: “$rx_result”kbps Now_OUt_Speed: “$tx_result”kbps”
sleep 2
done
2、系统状况监控
#!/bin/sh
#systemstatsh
#MikeXu
ip=1921681227
top -n 2| grep “Cpu” >>/temp/cputxt
free -m | grep “Mem” >> /temp/memtxt
df -k | grep “sda1″ >> /temp/drive_sda1txt
#df -k | grep sda2 >> /temp/drive_sda2txt
df -k | grep “/mnt/storage_0″ >> /temp/mnt_storage_0txt
df -k | grep “/mnt/storage_pic” >> /temp/mnt_storage_pictxt
time=`date +%m””%d” “%k”:”%M`
connect=`netstat -na | grep “21923814830:80″ | wc -l`
echo “$time $connect” >> /temp/connect_counttxt
3、监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告
#!/bin/bash
#monitor available disk space
SPACE=’df | sed -n ‘/ / $ / p’ | gawk ‘{print $5}’ | sed ’s/%//’
if [ $SPACE -ge 90 ]
then
fty89@163com
fi
4、监控CPU和内存的使用情况
#!/bin/bash
#script to capture system statistics
OUTFILE=/home/xu/capstatscsv
DATE=’date +%m/%d/%Y’
TIME=’date +%k:%m:%s’
TIMEOUT=’uptime’
VMOUT=’vmstat 1 2′
users=’echo $TIMEOUT | gawk ‘{print $4}’ ‘
LOAD=’echo $TIMEOUT | gawk ‘{print $9}’ | sed “s/,//’ ‘
FREE=’echo $VMOUT | sed -n ‘/[0-9]/p’ | sed -n ’2p’ | gawk ‘{print $4} ‘ ‘
IDLE=’echo $VMOUT | sed -n ‘/[0-9]/p’ | sed -n ’2p’ |gawk ‘{print $15}’ ‘
echo “$DATE,$TIME,$USERS,$LOAD,$FREE,$IDLE” >> $OUTFILE
5、全方位监控主机
#!/bin/bash
# check_xush
# 0 /home/check_xush
DAT=”`date +%Y%m%d`”
HOUR=”`date +%H`”
DIR=”/home/oslog/host_${DAT}/${HOUR}”
DELAY=60
COUNT=60
# whether the responsible directory exist
if ! test -d ${DIR}
then
/bin/mkdir -p ${DIR}
fi
# general check
export TERM=linux
/usr/bin/top -b -d ${DELAY} -n ${COUNT} > ${DIR}/top_${DAT}log 2>&1 &
# cpu check
/usr/bin/sar -u ${DELAY} ${COUNT} > ${DIR}/cpu_${DAT}log 2>&1 &
#/usr/bin/mpstat -P 0 ${DELAY} ${COUNT} > ${DIR}/cpu_0_${DAT}log 2>&1 &
#/usr/bin/mpstat -P 1 ${DELAY} ${COUNT} > ${DIR}/cpu_1_${DAT}log 2>&1 &
# memory check
/usr/bin/vmstat ${DELAY} ${COUNT} > ${DIR}/vmstat_${DAT}log 2>&1 &
# I/O check
/usr/bin/iostat ${DELAY} ${COUNT} > ${DIR}/iostat_${DAT}log 2>&1 &
# network check
/usr/bin/sar -n DEV ${DELAY} ${COUNT} > ${DIR}/net_${DAT}log 2>&1 &
#/usr/bin/sar -n EDEV ${DELAY} ${COUNT} > ${DIR}/net_edev_${DAT}log 2>&1 &
放在crontab里每小时自动执行:
0 /home/check_xush
这样会在/home/oslog/host_yyyymmdd/hh目录下生成各小时cpu、内存、网络,IO的统计数据。如果某个时间段产生问题了,就可以去看对应的日志信息,看看当时的主机性能如何。

Hostmonitor 主机:
IP:1921681228
位置:15号楼甲幢2楼
账号:administrator
密码:p@ssw0rd
域:未加域
系统:WIN 2003 SP2
Hostmonitor功能:
监控服务器运行状况。
Hostmonitor使用:
进入主机,点击桌面程序“Hostmonitor”进入程序。File->Load TestList 加载配置文件,
进入监控界面,下图。这是效果图,我已经先编辑好文档的
监控各远程服务器明细:部分
如何增加监控服务器:(环境举例1921681228为监控主机,192168100100为被监控服务器)
1通过MSTSC进入192168100100,管理员身份进入。
2开始-运行-\\1921681228,将RMA-Win文件夹拷贝至D盘。
3在192168100100中双击rma_cfgexe
4选择passive RMA,点击OK。
5见图示。
见图示
至此,被监控主机已经设置完成。记牢第5步中设置的端口号及密码。
8通过MSTSC进入1921681228
9见图示
10可以看到刚刚成功连接的被监控主机。
11选择进入,在Test method中添加需要监控的内容。
如何修改监控服务器:(环境举例1921681228为监控主机,192168100100为被监控服务器)
1进入192168100100
2程序文件夹在D盘,直接双击点开即可。参照如何新增监控服务器中第5步。
3回到监控主机修改信息,参照如何新增监控服务器中第9步。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12685199.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存