易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux下用脚本写监控代理程序

Linux下用脚本写监控代理程序
吴旻
泰岩网络工作室
 
         因工作需要,我需要监控几台服务器的程序状态,SNMP(简单网络管理协议)可以用,但并不能满足我的要求,而且并不简单。我希望实时得到诸如进程的信息、CPU使用、内存使用、网络流量、网络端口、磁盘信息使用等众多参数。
         我很快写好了监控服务端和客户端程序,但对代理端程序却一时难以确定技术方案。用任何一种语言获得这些参数都需要深入了解操作系统,好在Linux下有丰富的命令程序,估计可以帮我尽快解决问题。
      一、各种数据的收集。
这个难度不太大,因为Linux下命令丰富,所以可以很快搞定。比如,我想知道当前有没有程序使用网络端口8888,用如下命令即可解决:
netstat -ant | grep :8888
或者类似我下面的,将得到的数据更具体一些:
netstat -ant | grep 192.168.10.22:8888 | awk '{print $5,$4}'
      二、格式化保存
         网络数据一般都是有固定格式,甚至包括校验值等功能。我的这个没那么复杂,但也同样要有包标识符、包消息ID、包消息体长度等值。我是这样实现的:     MonitorMsg="\xff\xff\xff\xff"                 # msg_flag = 0xFFFFFFFF    MonitorMsg=$MonitorMsg"\x01\x00\x00\x00"      # msg_id = 1
MonitorMsg=$MonitorMsg"\x44\x00\x00\x00"      # msg_len = 68 Bytes
消息体的具体内容就完全是个性化数据了,比如,我想加入当前操作系统时间:
    timeNow=`date +%H%M%S`
    MonitorMsg=$MonitorMsg$timeNow"\x00\x00" 
因为时间是HH:MM:SS,为了内存对齐,后面又补了2字节的0x00。
         再下面要做的就是将这些数据保存到文件中。echo命令完成了这一工作:
    echo -ne $MonitorMsg >> /usr/montor.dat
使用参数 –ne 是因为默认情况下echo会自动加上回车,从而导致数据对不齐。
      三、将保存后的数据发送�


相关文档:

Linux 信号signal处理机制 三

前面两节已经介绍了有关信号的大部分知
识。这一节我们来了解一下这些系统调用。其中,系统调用signal是进程用来设定某个信号的处理方法,系统调用kill是用来发送信号给指定进程的。这

两个调用可以形成信号的基本操作。后两个调用pause和alarm是通过信号实现的进程暂停和定时器,调用alarm是通过信号通知进程定时器� ......

Linux 信号signal处理机制 四

4、alarm和 setitimer系统调用
        系统调用alarm的功能是设置一个定时器,当定时器计时到达时,将发出一个信号给进程。该调用的声明格式如下:
        unsigned int alarm(unsigned int seconds);
      &n ......

linux编写c程序发现

这几天我安装了一个Linux系统,想在里面学一下C语言的编写,发现在里面运行有一个好奇怪的现象:如下面
#include<stdio.h>
void mian(){
printf("hello world!");
}
输出没有结果!搞的我看了半天,程序没有错误啊!怎么这样!后来我把程序改为
#include<stdio.h>
void mian(){
printf("hello ......

linux cpu 硬亲和 和 其他

现在嵌入式也玩多核了。
利用./mpstat -P ALL 1 100 可以来查看cpu的使用情况。
这个是转的一个例子:
在多CPU的趋势越来越大了. 有时候为了更好地操作机器, 需要将某个进程绑定到具体的CPU上去. 下面给出了一个进程绑定到具体的CPU上去的一个例子.
view plaincopy to clipboardprint?
···&midd ......

64位Linux上安装Memcached详细步骤

由于32位操作系统下面单进程最大内存使用不能超过2G,而我们用Memcached经常需要使用更大的内存空间,所以选择64位的Linux版本是必须的,64位OS下的Memcached安装和32位OS下差不多,只有一个地方稍有不同,详见下面的红色字体部分。
我们以版本memcached-1.2.6为例,对于其他版本替换相应版本号即可;
下载地址:http://w ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号