Try accessing the stats with the additional "?auto" suffix, it is meant to be machine-readable, and is much shorter, e.g:
http://$(hostname -i)/server-status/?auto
Awesome tip! This is some of the output I get when I run this command:
[root@uszmpwslp014lc script]# GET $(hostname -f)/server-status/?auto Total Accesses: 1371927 Total kBytes: 27060974 CPULoad: 2.70778 Uptime: 333370 ReqPerSec: 4.11533 BytesPerSec: 83122.2 BytesPerReq: 20198.2 BusyWorkers: 7 IdleWorkers: 44
This will be way easier to parse!
On Tue, Jun 3, 2014 at 10:02 AM, Marios Zindilis marios@zindilis.com wrote:
On Tue, Jun 3, 2014 at 4:56 PM, Tim Dunphy bluethundr@gmail.com wrote:
Guys,
Thank you all for your input. I can't believe how helpful this list is
and
I'm very grateful. Ok so here is what I have so far of my script to get
the
number of apache requests to a given host:
#!/bin/bash
# this script parses mod_status to see which hosts are getting the most requests
echo “Time:” >> /tmp/apache_request_log
/usr/bin/ts >> /tmp/apache_request_log
echo -e “\n” >> /tmp/apache_request_log
echo “hostname” >> /tmp/apache_request_log
/bin/hostname -f >> /tmp/apache_request_log
echo -e “\n” >> /tmp/apache_request_log
echo “hostname ip” >> /tmp/apache_request_log
/bin/hostname -i >> /tmp/apache_request_log
echo -e “\n” >> /tmp/apache_request_log
echo “Requests per second:” >> /tmp/apache_request_log
/usr/bin/GET http://$(/bin/hostname -i)/server-status | /bin/grep -i
-e
request -e requests/sec | grep -i -v -e currently -e code -e ss | awk '{print $1}' | cut -d'>' -f2 >> /tmp/apache_request_log
echo “Requests processed / Idle workers:” >> /tmp/apache_request_log
/usr/bin/GET http://$(hostname -i)/server-status | /bin/grep -i -e requests -e currently | grep -v -e requests/sec | cut -d'>' -f2 | cut
-d'<'
-f1 >> /tmp/apache_request_log
echo -e “\n\n” >> /tmp/apache_request_log
/bin/sleep 60
So now my question is, is there any way to limit the size of the output
log
from within the script without having to use logrotate? I can use that,
but
I would prefer to do that from within the script if that's possib.e
Thanks
Tim
On Tue, Jun 3, 2014 at 9:29 AM, Patrick Bervoets < patrick.bervoets@psc-elsene.be> wrote:
op 03-06-14 15:18, schreef Tim Dunphy:
[root@uszmpwslp014lc ~]# GET http://$(hostname -i)/server-status |
grep -i requests/sec
<dt>4.08 requests/sec - 80.9 kB/second - 19.8 kB/request</dt>
That works ok. And next I'm grepping it back down and awking it to
just
the part I'm interested in:
[root@uszmpwslp014lc ~]# GET http://$(hostname -i)/server-status |
grep
-i -e request -e requests/sec | grep -i -v -e currently -e code -e ss |
awk
'{print $1}'
<dt>4.08
But now I need to get rid of just the <dt> in front of the 4.08?
cut --delimiter=">" --field=2
you could even get rid of the awk and pipe your grep to cut --delimiter=">" --field=2 | cut --delimiter=" " --field=1
But there are many different ways to solve this.
greetings Patrick
CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
-- GPG me!!
gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
Try accessing the stats with the additional "?auto" suffix, it is meant to be machine-readable, and is much shorter, e.g:
http://$(hostname -i)/server-status/?auto
-- Marios Zindilis _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos