Ministat

From James Dooley's Wiki
Revision as of 13:00, 18 May 2011 by 10.30.6.195 (talk) (Script)
Jump to: navigation, search

Overview

Down and dirty mini status viewer. Makes it easy to monitor several different sections of a server at the same time.

Useful for monitoring a server that is having problems.

The main concept is to minify the output of several sections in to a small terminal window, useful for monitoring a server when it is having problems or could at some point.

Auto adjusts output based on size of the terminal.

Script

[bash,n]

  1. !/bin/bash

function checkmysql { cmdmysql=`mysqladmin proc stat 2>&1 | grep "|" | grep -v "Id" | awk 'BEGIN{FS="|"};{print $7,$6,$9}' | sort -n` wcmysql=`echo $cmdmysql | wc -l` return } function checkapache { httpd status 2>&1 | grep "requests/sec" -A6 return } function calclines { nline=`tput lines | awk '{print int(($1 - 18) / 2)}'` if [ $nline -gt $wcmysql ] then nline=`echo $nline $wcmysql | awk '{print $1 * 2 - $2}'` fi return } function addseperator { printf "%$(tput cols)s\n"|tr ' ' '=' return }

cat /proc/loadavg addseperator

checkmysql calclines

top -c -b -n 1 | grep -v "grep" | grep "PID" -A $nline addseperator

free | grep -v "cache:" addseperator

echo $cmdmysql | head -$nline addseperator

httpd status 2>&1 | grep "requests/sec" -A6

Usage

Direct download and execution of script (auto mode)

[bash,n]wget http://wiki.jamesdooley.us/scripts/ministat -O ministat; watch -n 10 sh ministat; rm -f ministat

What to change