hb2k 发表于 2007-2-12 16:45:04

简单的采集linux主机cpu的方法:rsh+shell工具

mrtg是经常用作监控交换机、服务器流量的软件,安装配置不说了,网上教程非常多。
其中大多有问监控cpu啦、内存啦,回答是用cacti或者rrdtools,然后没了下文。
其中mrtg主机采集本机,也就是localhost可以用shell输出来给mrtg赋上数值.
mrtg好古老了,这里主要说一下用rsh作为流量采集工具的思路,mrtg配置应用
参见http://linux.vbird.org/linux_security/old/04mrtg.php
还有chinaunix上也有相关文章,可以采集本机的cpu、内存、连接数。
同样的,换作用网管机采集服务器就不好办了,也可以用编辑snmp.conf,同样要调用脚本算出输出值,
利用本机采集cpu、内存、连接数的mrtg配置同样可以用网管主机进行采集:
1.rsh
被监控主机ip:10.10.10.9
网管主机ip:10.10.10.10
安装 rpm -ivh rsh-server-0.17-29.i386.rpm
rsh-client同样安上
ntsysv里选择开机运行。
配置一个不需要认证的rsh用户:
我用了root,你看着办吧。
cd /root
ls -a(没有的话建一个)
vi .rhosts
insert
10.10.10.10 root(网管机ip为10.10.10.10,跑mrtg)
:wq
cd /etc/xinetd.d
vi rsh
# default: on
# description: The rshd server is the server for the rcmd(3) routine and, \
#       consequently, for the rsh(1) program.The server provides \
#       remote execution facilities with authentication based on \
#       privileged port numbers from trusted hosts.
service shell
{
      disable = no
      socket_type             = stream
      wait                  = no
      user                  = root
      log_on_success          += USERID
      log_on_failure          += USERID
      server                  = /usr/sbin/in.rshd
}
改成上面这样。
cd /etc/pam.d
vi rsh
#%PAM-1.0
# For root login to succeed here with pam_securetty, "rsh" must be
# listed in /etc/securetty.
auth       required   pam_nologin.so
#auth       required    pam_securetty.so
auth       required   pam_env.so
auth       required   pam_rhosts_auth.so
account    required   pam_stack.so service=system-auth
session    required   pam_stack.so service=system-auth
改成这样。
service xinetd restart
回到10.10.10.10
rsh 10.10.10.9 'ls -l'
应该能出来10.10.10.9被监控主机的/root里的内容了。
如果不对,请参考错误提示内容,一般没有什么问题的。
写个脚本:/mrtgcfg/hostCPU.sh
####################
#!/bin/bash
hostCPU=`rsh 10.10.10.9 'sar -u 1 10' | grep Average | awk '{print $5}'`
hostCPUY=$hostCPU
echo "$hostCPU"
echo "$hostCPUY"
#############################
运行它,出来数值了,十秒的cpu平均值。
然后利用http://linux.vbird.org/linux_security/old/04mrtg.php 的mrtg配置文件就可以做出cpu、内存、iptables命中情况、每ip连接数、丢包、延时......
只要在单机上通过命令操作能呈现的数据都能通过mrtg用图表表述出来,然后是rrdtools,有了mrtg,rrdtools就不远了。
以后写rrdtools的。
补充:此法用rsh使root不用密码即可登陆非常危险,没有仔细做好网络规划慎用。

[ 本帖最后由 hb2k 于 2007-2-12 16:47 编辑 ]

hb2k 发表于 2007-2-12 16:49:36

已经一段时间没研究linux路由器了,现在不知发展成什么样了?

寒一个啊。

pop-q 发表于 2007-2-12 22:47:36

恩,好东西

8过这里的朋友最近对3200狂热诶```汗!

DreamCat 发表于 2007-2-15 21:55:41

总是这样子,破解而已。CL也是如此,不过似乎好一点。
页: [1]
查看完整版本: 简单的采集linux主机cpu的方法:rsh+shell工具