munin-contrib/plugins/wordpress/wordpress

95 lines
2.1 KiB
Bash
Executable File

#!/bin/sh
# wordpress-munin plugin
#
# Author Andre Darafarin
# Improvements by Chris Bair
# Version 0.2 15 Feb 2011
#
#
: <<=cut
=head1 NAME
Wordpress-Munin plugin
A simple Munin plugin to monitor some data from a running wordpress instance
=head1 CONFIGURATION
The plugin need access to the database of the wordpress instance.
=head2 Config file
Add file plugin-conf.d/wordpress and fill like this
=over 4
=item * [wordpress]
# Name of section. Must be wordpress.
=item * env.DB_NAME your_db_name
# Replace your_db_name
=item * env.DB_USER your_db_username
# Replace you_db_username
=item * env.DB_PASSWORD your_db_pass
# Replace your_db_pass
=item * env.DB_HOST host_of_your_db
# Replace with host of database server. Will be localhost for many users.
=back
=head1 VERSION
0.2 15 Feb 2011
=head1 AUTHOR
Andre Darafarin, happypork.com
=cut
if [ "$1" = "config" ]; then
echo 'graph_title Wordpress average'
echo 'graph_category cms'
echo 'graph_order posts comments pingbacks users'
echo 'graph_vlabel Wordpress'
echo 'graph_info Some Statistics of Wordpress'
echo 'posts.label Posts'
echo 'posts.draw LINE3'
echo 'comments.label Comments'
echo 'pingbacks.label Pingbacks'
echo 'users.label Users'
exit 0
fi
POSTS=0
COMMENTS=0
PINGBACKS=0
USERS=0
# DBNAME=${logfile:-/var/log/syslog}
POSTS=`mysql -h$DB_HOST -p$DB_PASSWORD -u$DB_USER -D $DB_NAME --column-names=0 -s --execute="SELECT COUNT(*) FROM wp_posts WHERE post_status = 'publish' AND post_password = '' AND post_type = 'post';"`
COMMENTS=`mysql -h$DB_HOST -p$DB_PASSWORD -u$DB_USER -D $DB_NAME --column-names=0 -s --execute="SELECT COUNT(*) FROM wp_comments WHERE comment_approved = '1' AND comment_type = '';"`
PINGBACKS=`mysql -h$DB_HOST -p$DB_PASSWORD -u$DB_USER -D $DB_NAME --column-names=0 -s --execute="SELECT COUNT(*) FROM wp_comments WHERE comment_approved = '1' AND comment_type = 'pingback';"`
USERS=`mysql -h$DB_HOST -p$DB_PASSWORD -u$DB_USER -D $DB_NAME --column-names=0 -s --execute="SELECT COUNT(*) FROM wp_users ;"`
#AUSGABE BEREICH
echo "posts.value $POSTS"
echo "comments.value $COMMENTS"
echo "pingbacks.value $PINGBACKS"
echo "users.value $USERS"