[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pgp-keyserver-folk
Subject:    Re: pksd log file analysis/statistics ?
From:       "teun, Tilburg University" <Teun.Nijssen () kub ! nl>
Date:       2000-06-26 8:30:54
[Download RAW message or body]

Hey Phil,

/I'm still collecting scripts for the moment, and would also like
/to include tools for managing the keyservers.

/Any pointers to log analysis/statistics tools ?

nope, I currently report the following to SURFnet, after a monthly switch
of /var/log/local2.log

pks> more month
#!/bin/sh

echo 'Mail requests'
cat $1 | grep 'mail_req: request ' | wc -l

echo 'WWW connects'
cat $1 | grep 'new www connection' > /usr/users/pks/tmp/wwwlog.tmp
cat /usr/users/pks/tmp/wwwlog.tmp | wc -l
echo 'IPsourcesWWW'
cat /usr/users/pks/tmp/wwwlog.tmp | cut -d':' -f6 | cut -c 26- | sort -u | wc -l
echo 'search.surfnet'
cat /usr/users/pks/tmp/wwwlog.tmp | grep '192.87.46.20' | wc -l
echo 'search2.surfnet'
cat /usr/users/pks/tmp/wwwlog.tmp | grep '192.87.46.21' | wc -l
echo 'big.brother'
cat /usr/users/pks/tmp/wwwlog.tmp | grep '134.93.9.24' | wc -l
rm  /usr/users/pks/tmp/wwwlog.tmp 

echo 'Key updates'
cat $1 | grep 'kd_add'   | grep -v 'completed' | grep -v 'kd_add: pub' | wc -l
echo 'Searches'
cat $1 | grep 'kd_index' | grep -v 'completed' | wc -l
echo 'Retrieve Key'
cat $1 | grep 'kd_get'   | grep -v 'completed' | wc -l
echo 'New keys'
cat $1 | grep 'display_new_key: new keyid' |wc -l
echo 'New sigs'
cat $1 | grep 'display_new_sig: new sig' |wc -l

In terms of running the servers, I do only silly things like

pks> crontab -l
 2 0 * * *                   /usr/users/pks/bin/purger      > /dev/null    2>&1
 3 0 1 * *                   /usr/users/pks/bin/count_keys  > /dev/null    2>&1
 5 2 * * *                   /usr/users/pks/bin/cserv-keys  > /dev/null    2>&1
 1 3 * * *                   /usr/users/pks/bin/killq       > /dev/null    2>&1
 2 3 * * *                   /usr/users/pks/bin/checkpoint  > /dev/null    2>&1
 2 8 * * *                   /usr/users/pks/bin/digest      > /dev/null    2>&1
0 0,6,8,10,12,14,16,22 * * * /usr/users/pks/bin/goq         > /dev/null    2>&1
45  2,7,10,12,14,16,22 * * * /usr/users/pks/bin/restart     > /dev/null    2>&1

between 3:15 and 6:00 the tape backup runs

pks> more purger
#!/bin/sh
find /usr/users/pks/var/incoming/local/ -mtime +0 -exec rm {} \;
find /usr/users/pks/tmp/                -mtime +1 -exec rm {} \;
find /ext1/pks/tmp/                     -mtime +5 -exec rm {} \;

pks> more count_keys 
#!/bin/sh
date=`/usr/bin/date +"%d/%m/%y %H:%M:%S"`
log=${HOME}/var/count_keys.log
/usr/users/pks/bin/killp
sleep 20
/usr/users/pks/bin/recover
keys=`/usr/users/pks/bin/pksclient /usr/users/pks/var/db index aids aids | grep '^pub' | wc -l`
/usr/users/pks/bin/go
echo "${date} counted public keys = ${keys}" >>${log}
mailx -s "${date} ${keys} keys in Horowitz keyserver" teun@kub.nl,pki-beheer@surfnet.nl

pks> more digest
#!/bin/sh
date=`/usr/bin/date +"%Y%m%d"`
cd
cd digest
find /ext3/pks -type f -print | sort | grep -v "pks/var/db/" > filelist
/usr/users/pks/bin/digester filelist ./
cat /usr/users/pks/digest/${date}.log | mailx -s "Digest pksd ${date}" Teun.Nijssen@kub.nl

pks> more go
#!/bin/sh
pid=`/usr/bin/ps -f -u pks | /usr/bin/grep -v 'grep' | /usr/bin/grep 'pksd ' | \
     /usr/bin/sed -e 's/^  *//' -e 's/[a-z,0-9]* *//' -e 's/ .*//'`
if [ "${pid}" = "" ]
then
        echo "running recover before starting pksd"
        /usr/users/pks/bin/recover
        echo
        echo "starting pksd"
        /usr/users/pks/bin/pksd /usr/users/pks/etc/pksd.conf &
else
        echo "already running pksd ${pid}; perhaps first run killp?"
fi

pks> more goq
#!/bin/sh
que=`/usr/bin/ps -f -u pks | /usr/bin/grep -v 'grep' | /usr/bin/grep pks-queue-run | \
     /usr/bin/sed -e 's/^  *//' -e 's/[a-z,0-9]* *//' -e 's/ .*//'`
if [ "${que}" = "" ]
then
        echo 'starting new pks-queue-run'
        /usr/users/pks/bin/pks-queue-run.sh /usr/users/pks/etc/pksd.conf &
else
        echo "already running pks-queue-run ${que}"
fi

pks> more killp
#!/bin/sh
/usr/users/pks/bin/killq
echo "sending shutdown to pksd socket"
/usr/users/pks/bin/pksdctl /usr/users/pks/var/pksd_socket shutdown
sleep 10
pid=`/usr/bin/ps -f -u pks | /usr/bin/grep -v 'grep' | /usr/bin/grep 'pksd ' | \
     /usr/bin/sed -e 's/^  *//' -e 's/[a-z,0-9]* *//' -e 's/ .*//'`
if [ "${pid}" != "" ]
then
        echo "killing pksd ${pid}"
        /usr/bin/kill ${pid}
        sleep 1
        /usr/bin/kill -9 ${pid}
        sleep 1
        /usr/bin/kill -9 ${pid}
        sleep 1
        /usr/bin/kill -9 ${pid}
else
        echo "pksd closed down"
fi

pks> more killq
#!/bin/sh
que=`/usr/bin/ps -f -u pks | /usr/bin/grep -v 'grep' | /usr/bin/grep pks-queue-run | \
     /usr/bin/sed -e 's/^  *//' -e 's/[a-z,0-9]* *//' -e 's/ .*//'`
if [ "${que}" != "" ]
then
        echo "killing pks-queue-run ${que}"
        /usr/bin/kill -9 ${que}
else
        echo "no pks-queue-run found(?)"
fi

pks> more restart
#!/bin/sh

pid=`/usr/bin/ps -f -u pks | /usr/bin/grep -v 'grep' | /usr/bin/grep 'pksd ' | \
     /usr/bin/sed -e 's/^  *//' -e 's/[a-z,0-9]* *//' -e 's/ .*//'`

defdir=${HOME}/var/incoming
log=${HOME}/var/restart.log
date=`/usr/bin/date +"%d/%m/%y %H:%M:%S"`

if [ "${pid}" = "" ]
then
        # working dir
        cd ${defdir}
        # count files
        incom=`/bin/ls -1 pks-mail* | /usr/bin/wc -l`
        # Mail and log
        echo ${date} restart/missing wacht = ${incom} >> ${log}
#       ls -al pks-mail* | \
#               mailx -s "${date}: pksd restart" teun@kub.nl
        if [ ${incom} -gt 0 ]
        then
                # there are incoming files
                ls -al pks-mail* >> ${log}
                # find oldest file en size
                blabla=`ls -ort pks-mail* | tail +1 | head -1`
                size=`echo ${blabla} | awk '{print $4}'`
                file=`echo ${blabla} | awk '{print $8}'`
                # start daemon
                /bin/sh /usr/users/pks/bin/go
                /usr/bin/sleep 2
                /bin/sh /usr/users/pks/bin/goq
                /usr/bin/sleep 120
                # daemon still alive?
pid=`/usr/bin/ps -f -u pks | /usr/bin/grep -v 'grep' | /usr/bin/grep 'pksd ' | \
     /usr/bin/sed -e 's/^  *//' -e 's/[a-z,0-9]* *//' -e 's/ .*//'`
                if [ "${pid}" = "" ]
                then
                        # damn, dead again;
                        # move oldest file (if still there)
                        mv ${file} bad
                        echo mv ${file} bad >> ${log}
                        # and here we go again
                        /bin/sh /usr/users/pks/bin/go
                fi
        else
                # no incoming files, simply restart.
                /bin/sh /usr/users/pks/bin/go
                /usr/bin/sleep 3
        fi
fi

tl=`/usr/bin/tail -1 /var/log/local2.log| /usr/bin/grep 'write to socket: no process is reading'`

if [ "${tl}" ]
then
        sleep 3600
tl=`/usr/bin/tail -1 /var/log/local2.log| /usr/bin/grep 'write to socket: no process is reading'`
        if [ "${tl}" ]
        then
                # damn, no signs of life
                /usr/users/pks/bin/killq
                sleep 2
                /usr/users/pks/bin/killp
                sleep 10
                /usr/users/pks/bin/go
                echo ${date} restart/socket_not_reading>> ${log}
                mailx -s "${date}: pksd restart/socket_not_reading" teun@kub.nl,pve@kub.nl
        fi
fi
 

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic