3 # Sanity checks for rsyslog pmda
5 # Copyright (c) 2011 Aconex. All Rights Reserved.
9 echo "QA output created by $seq"
11 # get standard filters
16 [ -d $PCP_PMDAS_DIR/rsyslog
] || _notrun
"rsyslog PMDA directory is not installed"
17 grep rsyslog.elasticsearch.submits
$PCP_PMDAS_DIR/rsyslog
/pmdarsyslog.pl
>/dev
/null
18 [ $?
-eq 0 ] || _notrun
"Newer version of rsyslog PMDA needed"
20 perl
-e "use PCP::PMDA" >/dev
/null
2>&1
21 test $?
-eq 0 || _notrun
"PCP::PMDA perl module is not installed"
23 install_on_cleanup
=false
24 pminfo rsyslog
>/dev
/null
2>&1 && install_on_cleanup
=true
35 if [ -f $tmp.pmcd.conf
]
37 $sudo cp $tmp.pmcd.conf
$PCP_PMCDCONF_PATH
41 $sudo $PCP_RC_DIR/pcp restart | _filter_pcp_start
44 if $install_on_cleanup
46 ( cd $PCP_PMDAS_DIR/rsyslog
; $sudo .
/Install
</dev
/null
>/dev
/null
2>&1 )
48 ( cd $PCP_PMDAS_DIR/rsyslog
; $sudo .
/Remove
>/dev
/null
2>&1 )
57 # number of warnings depends on rsyslog config
59 -e '/Creating rsyslog statistics file/d' \
60 -e 's/ [0-9]* warnings/ some warnings/g'
66 /^rsyslog\.interval/ { fix = 1 }
67 fix == 1 && /value [0-9][0-9]*/ { $2 = "NUMBER" }
72 trap "_cleanup" 0 1 2 3 15
74 # real QA test starts here
76 cd $PCP_PMDAS_DIR/$iam
78 # copy the pmcd config file to restore state later.
79 cp $PCP_PMCDCONF_PATH $tmp.pmcd.conf
81 # start from a known starting point
82 $sudo .
/Remove
>/dev
/null
2>&1
83 $sudo rm -f pmns domain.h
86 echo "=== $iam agent installation ==="
87 $sudo rm -f $PCP_LOG_DIR/rsyslog
/stats
88 $sudo .
/Install
</dev
/null
>$tmp.out
2>&1
89 _filter_pmda_install
<$tmp.out \
93 echo "=== validate values ==="
96 2011-05-11T08:18:02.420771+10:00 host rsyslogd-pstats: imuxsock: submitted=85 ratelimit.discarded=0 ratelimit.numratelimiters=24
97 2011-05-11T08:18:02.420797+10:00 host rsyslogd-pstats: main Q: size=1181 enqueued=1181 full=0 maxqsize=1181
98 2011-05-11T08:18:07.423713+10:00 host rsyslogd-pstats: imuxsock: submitted=85 ratelimit.discarded=0 ratelimit.numratelimiters=24
99 2011-05-11T08:18:07.423752+10:00 host rsyslogd-pstats: main Q: size=1 enqueued=1183 full=0 maxqsize=1182" > $tmp.stats
103 [ -p $PCP_LOG_DIR/rsyslog
/stats
] && break
107 if [ ! -p $PCP_LOG_DIR/rsyslog
/stats
]
109 echo "Arrgh failed to see named pipe $PCP_LOG_DIR/rsyslog/stats after 5 seconds"
110 ls -l $PCP_LOG_DIR/rsyslog
114 $sudo sh
-c "cat $tmp.stats >> $PCP_LOG_DIR/rsyslog/stats"
115 sleep 2 # give some time for pmdarsyslog to be told
116 $sudo sh
-c "cat $tmp.stats >> $PCP_LOG_DIR/rsyslog/stats"
117 sleep 2 # give more time for pmdarsyslog to be told
119 | LC_COLLATE
=POSIX
sort \
127 echo "=== remove $iam agent ==="
128 $sudo .
/Remove
>$tmp.out
2>&1
129 _filter_pmda_remove
<$tmp.out