成都网站建设设计

将想法与焦点和您一起共享

php数据监控 php实时监控

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

1,Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。

成都创新互联服务电话:028-86922220,为您提供成都网站建设网页设计及定制高端网站建设服务,成都创新互联网页制作领域十多年,包括工商代办等多个方面拥有多年的网站设计经验,选择成都创新互联,为网站保驾护航!

其实应该通过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分区的信息

用软件增加了一条数据到mysql,是否用PHP可以监控到增加了数据呢

可以用脚本来实现;

思路:

1.创建一个ceshi.txt文件,内容是数据库内数据数量;

2.脚本内容查询数据库数量,读取并更新ceshi.txt内的数量,判断查询出的数量大于ceshi.txt内的数量就是新增,小于就是删除,并执行php程序;

请问php如何实现实时监控文件.

在服务端建立一个根据需要进行循环的PHP脚本就可以。

猜测一下,您的第二个问题,是不是想进行相关检测以避免重复触发这个脚本。

实际上,不建议由用户行为触发这个脚本,无论是服务端代码,还是客户端的异步Ajax。

如果要用PHP脚本进行不停的循环监控,请联系运维人员,服务器启动,即在服务端开始运行这个脚本,他们会向您提供解决方案的。

真正的建议是,如果有任何可能,都不要使用PHP脚本利用循环代码进行服务端的监控。

不得不承认,这个方面PHP的稳定性还差一些,Java或许可以这么做,PHP就比较痛苦了。

比较可能的办法是请运维人员帮忙,通报监控逻辑,然后请他安装各种触发条件调用相应的PHP代码。

如果坚持使用PHP脚本进行相关工作,有两个建议给您:

尽快释放资源,无论脚本使用了什么资源,包括文件、内存、数据库等等,都尽快释放,这种地方可万万不能偷懒,否则就是自虐了。

在这个脚本中进行独立的手工日志输出,任何一层循环的入口都要进行记录,这样在监控失败的时候才有办法查找问题。

PHP程序,如何监控内存情况

看到有人写透视宝做php监控的原理图,跟你分享下。我估计大家做的方式都是差不多。

PHP运行支撑的ZendEngine早在设计过程中已经预留了丰富的Hook,可以有效干涉处理过程中的几个关键步骤。利用了以下几个Hook,就能方便的获取数据:

1.           zend_compile_file zend_compile_string

加载分析文件或字符串,本身就会造成非常大的IO,如果过多地执行加载,无疑会造成内存和CPU的消耗.通过这两个hook,可以取得文件名、执行行数、使用内存和CPU占用时间。

2.           zend_execute zend_execute_internal

通过这两个hook的使用,我们可以准确地分析得出一个PHP应用中的类调用、方法调用、方法参数、内存占用和CPU占用,加以分析,便可以准确得出应用系统运行过程中的方法运行栈,API调用地址,SQL语句,CacheKey以及Cache命中等关键信息。

3.           zend_throw_exception_hook

利用异常钩子,可以准确地得到应用系统运行过程中出现的异常信息,当然包括异常发生的类\方法位置,参数,异常code和异常message。

4.           zend_error_cb

错误钩子则更加直接,可以准确得到系统运行过程中出现的任何一个warning,代码错误或语法错误。

PHP如何实施监控数据库的更新,一旦有更新,就把更新的数据推送给Android?

那你可以在插入数据库那里设置监听呀,一有插入就往Android推送消息。

不然你只能通过每隔一段时间刷新一下读取数据库,看看有没有更新,有就推送,没有就继续监听,这个你可以自己设置更新时间。


文章题目:php数据监控 php实时监控
当前地址:http://chengdu.cdxwcx.cn/article/hpcgoh.html