php获取监控数据 php监控系统

PHP监听端口,获取数据并写入文件

参考思路如下:

创新互联自2013年起,公司以做网站、网站制作、系统开发、网络推广、文化传媒、企业宣传、平面广告设计等为主要业务,适用行业近百种。服务企业客户千余家,涉及国内多个省份客户。拥有多年网站建设开发经验。为企业提供专业的网站建设、创意设计、宣传推广等服务。 通过专业的设计、独特的风格,为不同客户提供各种风格的特色服务。

1、在监听的时候把监听到的内容存储起来,数据库/文件/缓存都行。

2、在浏览器能访问的脚本中把内容显示出来就行了;

3、或者直接用websocket来监听,接受到数据直接写在页面上。

如何使用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

#

查看各分区使用情况

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分区的信息

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获取监控数据 php监控系统
转载来源:http://pwwzsj.com/article/ddsdpdd.html