From owner-freebsd-questions@FreeBSD.ORG Sun Nov 5 20:15:44 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8DCA016A4AB for ; Sun, 5 Nov 2006 20:15:44 +0000 (UTC) (envelope-from josh.carroll@gmail.com) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.184]) by mx1.FreeBSD.org (Postfix) with ESMTP id EC3BA43D8C for ; Sun, 5 Nov 2006 20:15:16 +0000 (GMT) (envelope-from josh.carroll@gmail.com) Received: by nf-out-0910.google.com with SMTP id i2so2270299nfe for ; Sun, 05 Nov 2006 12:15:14 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=OyHy2Y9SLKX1HT1bldg+WYFowl4p5GJXwJzIOBtDl8n1EDNlHF2vMBbw6yiYHZwuBV51IiQ5LlLZjCMHvt/N/iMgBC6CQtfXUmHrMc0Dz4H/rorDKpvNJF223fKcAlRrh5IGwFEaw0ZrnmDXyjJVwBRCMImDI8P2f8UVlU/ImDc= Received: by 10.82.129.5 with SMTP id b5mr1154414bud.1162757714166; Sun, 05 Nov 2006 12:15:14 -0800 (PST) Received: by 10.82.163.16 with HTTP; Sun, 5 Nov 2006 12:15:14 -0800 (PST) Message-ID: <8cb6106e0611051215i5d2e8692o2f294d2764bc013@mail.gmail.com> Date: Sun, 5 Nov 2006 12:15:14 -0800 From: "Josh Carroll" Sender: josh.carroll@gmail.com To: "Don O'Neil" In-Reply-To: <06ca01c70113$84c07400$0400020a@mickey> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <06ca01c70113$84c07400$0400020a@mickey> X-Google-Sender-Auth: cc7d691422b4b7af Cc: freebsd-questions@freebsd.org Subject: Re: Determining system info X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Nov 2006 20:15:44 -0000 > if [ "$TYPE" = "load" ]; then > INDATA=`cat /proc/loadavg | cut -d ' ' -f2 | sed 's/\.//g' | sed > 's/^0//g'` > OUTDATA=`cat /proc/loadavg | cut -d ' ' -f3 | sed 's/\.//g' | sed > 's/^0//g'` > fi uptime | sed 's/.*load averages: //g' | cut -d, -f2 | sed 's/.*\.//g' uptime | sed 's/.*load averages: //g' | cut -d, -f3 | sed 's/.*\.//g' > > if [ "$TYPE" = "processes" ]; then > INDATA=`cat /proc/loadavg | cut -d ' ' -f4 | cut -d '/' -f 2` > OUTDATA=`cat /proc/loadavg | cut -d ' ' -f4 | cut -d '/' -f 1` > fi top -d 1 | grep ' processes:' | awk '{print $1}' top -d 1 | grep ' processes:' | sed 's/.*processes: *//g' | awk '{print $1}' > if [ "$TYPE" = "network" ]; then > LINE=`cat /proc/net/dev | grep $PARAM | sed s/$PARAM://` > INDATA=`echo $LINE | awk '{print $1}' ` > OUTDATA=`echo $LINE | awk '{print $9}' ` > fi I'd use snmpd for this one. > if [ "$TYPE" = "swap" ]; then > SWAPFREE=`cat /proc/meminfo | grep "SwapFree" | sed 's/ //g' | cut -d > ':' -f2 | cut -d 'k' -f1` > SWAPTOTAL=`cat /proc/meminfo | grep "SwapTotal" | sed 's/ //g' | cut -d > ':' -f2 | cut -d 'k' -f1` > SWAPUSED=`expr $SWAPTOTAL - $SWAPFREE` > INDATA=$SWAPFREE > OUTDATA=$SWAPUSED > fi swapinfo -k | grep -v '^Device' | awk '{print $4}' swapinfo -k | grep -v '^Device' | awk '{print $3}' (note: this assumes you only have one swap device) > if [ "$TYPE" = "uptime" ]; then > INDATA=`cat /proc/uptime | cut -d ' ' -f1` > OUTDATA=`cat /proc/uptime | cut -d ' ' -f2` > fi You'd probably want some magic to parse the output of uptime and convert the time value into an integer here. > if [ "$TYPE" = "memory" ]; then > INDATA=`free -bt | grep buffers\/cache | awk '{print $3}'` > OUTDATA=`free -bt | grep buffers\/cache | awk '{print $4}'` > fi vmstat | grep -vE '^ *(procs|r b)' | awk '{print $4}' vmstat | grep -vE '^ *(procs|r b)' | awk '{print $5}' Good luck, Josh