zoukankan      html  css  js  c++  java
  • snmp安装[freebsd+redhat]+采集脚本

    ===============freebsd服务器====================================================

    安装snmp服务
    #cd /usr/ports/net-mgmt/net-snmp
    #make
    #make install
    安装成功后
    #vi /etc/rc.conf
    添加
    snmpd_enable="YES"
    snmpd_flags="-a -p /var/run/snmpd.pid"
    snmptrapd_enable="YES"
    snmptrapd_flags="-a -p /var/run/snmptrapd.pid"
    #/etc/netstart
    修改snmpd.conf
    #vi /usr/local/share/snmp/snmpd.conf  需要添加如下语句
    rocommunity [ID] [ip]  采集服务器地址
    exec .1.3.5.1.4.1.2021.52 game /bin/sh /home/zcy/game.sh
    启动服务
    #/usr/local/etc/rc.d/snmpd.sh start

    #snmpdwalk -v 1  -c [ID] localhost 看是否有返回值

    安装bsdsar
    安装bsdsar这个程序来显示cpu的使用状态
    cd /usr/ports/sysutils/bsdsar/
    make install
    修改/etc/crontab
    # bsdsar execution
    */5 * * * * root /usr/local/bin/bsdsar_gather
    0 0 * * * /bin/rm /var/log/bsdsar.dat
    %~!*@#&#&注意存档/var/log/bsdsar.dat 不断增加我这里删除了每天凌晨
     
     
    添加脚本
    #cd /home
    #mkdir zcy
    #vi game.sh
    #############log####################
    cpulog=/home/zcy/tmp/bsdcpu.tmp
    netlog=/home/zcy/tmp/bsdnet.tmp
    memlog=/home/zcy/tmp/bsdmem.tmp

    #############cpu####################
    cpu_orig=`/usr/local/bin/bsdsar -u > $cpulog`
    cpu_str=`/usr/bin/tail -1 $cpulog | awk '{print $6}'`
    #############mem####################
    mem_orig=`/usr/local/bin/bsdsar -r > $memlog`
    mem_str=`/usr/bin/tail -1 $memlog | awk '{print $2}'`

    #############net####################
    net_orig=`/usr/local/bin/bsdsar -I | grep em0> $netlog`
     
    net_in=`/usr/bin/tail -1 $netlog | awk '{print $4}'`
    net_out=`/usr/bin/tail -1 $netlog | awk '{print $7}'`

    ############disk####################
    disktmp=/home/zcy/tmp/disk.tmp
    df -k > $disktmp
    disk1=`cat $disktmp | awk 'NR==2 {print $6}'`
    disk2=`cat $disktmp | awk 'NR==3 {print $6}'`
    disk3=`cat $disktmp | awk 'NR==4 {print $6}'`
    disk4=`cat $disktmp | awk 'NR==5 {print $6}'`
    disk5=`cat $disktmp | awk 'NR==6 {print $6}'`
    disk6=`cat $disktmp | awk 'NR==7 {print $6}'`
    disk1use=`cat $disktmp | awk 'NR==2 {print $5}'`
    disk2use=`cat $disktmp | awk 'NR==3 {print $5}'`
    disk3use=`cat $disktmp | awk 'NR==4 {print $5}'`
    disk4use=`cat $disktmp | awk 'NR==5 {print $5}'`
    disk5use=`cat $disktmp | awk 'NR==6 {print $5}'`
    disk6use=`cat $disktmp | awk 'NR==7 {print $5}'`

    ############gse######################
    topsys=/home/zcy/tmp/top.tmp
    top -d 1  > $topsys
    gsecpu=`cat $topsys | grep GSE |awk  '{print $11}'`
    gsemem=`cat $topsys | grep GSE |awk  '{print $7}'`
    ############print####################
    echo $cpu_str"%"
     
     

    =======================redhat==========================================================
    安装snmp服务
    ftp://rpmfind.net/linux/sourceforge/n/ne/net-snmp/net-snmp-5.2.2-1.EL4.i386.rpm
    安装net-snmp的rpm包 net-snmp-5.2.2-1.EL4.i386.rpm
    #rpm -ivh  net-snmp-5.2.2-1.EL4.i386.rpm
    安装后启动/usr/sbin/snmpd -c /etc/snmp/snmpd.conf

    这里snmpd.conf如下[snmpd.conf]redhat附
     
    #snmpdwalk -v 1  -c [ID] localhost 看是否有返回值

    添加脚本
    #cd /home
    #mkdir zcy
    #vi game.sh
    ===========================================cpumemgesdiskinout.shell===================================
     
    topsys=/home/zcy/tmp/top.tmp

    top -n 1 b > $topsys
    cpu=`cat $topsys | awk  '/^(Cpu)/{print $8}'`
    memf=`free | awk  '/^(Mem)/{print $4}'`
    #memt=`free | awk '/^(Mem)/{print $2}'`
    gsecpu=`cat $topsys | awk  'NR==10 {print $9}'`
    gsemem=`cat $topsys | awk  'NR==10  {print $10}'`
     

    disk1=/
    disk2=/data
    disk1use=`df -k | awk 'NR==2 {print $5}'`
    disk2use=`df -k | awk 'NR==3 {print $5}'`
     
    infirst=$(awk '/'eth0'/{print $1 }' /proc/net/dev |sed 's/'eth0'://')
    outfirst=$(awk '/'eth0'/{print $9 }' /proc/net/dev |sed 's/'eth0'://')
    sumfirst=$(($infirst+$outfirst))
    sleep 1
    inend=$(awk '/'eth0'/{print $1 }' /proc/net/dev |sed 's/'eth0'://')
    outend=$(awk '/'eth0'/{print $9 }' /proc/net/dev |sed 's/'eth0'://')
    in=$(($inend-$infirst))
    out=$(($outend-$outfirst))
    ===========================================================================================================
    !!!保存后执行看输出结果!!!
    92% 843096K GES:23.49%,224M /,36%,/dev,100%,/home,1%,/tmp,0%,/usr,12%,/var,0% 67649,22566
    !!!如有问题校对相应位置!!!
    结束!!
     
  • 相关阅读:
    数据库范式
    SQL基础
    JAVA流
    response.getWriter()和jsp中的out对象的区别
    JAVA排序(冒泡,直接选择,反转)
    Collections类常用方法
    JAVA集合
    JAVA面向对象(重载,重写 常用的 toString/equals)
    Java面向对象一(封装 继承 多态 类 对象 方法)
    JAVA基础
  • 原文地址:https://www.cnblogs.com/d9394/p/10611810.html
Copyright © 2011-2022 走看看