Bug 101217 - new port: databases/mysqlard A tool to collect and
Summary: new port: databases/mysqlard A tool to collect and
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Alejandro Pulver
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-08-01 20:40 UTC by Greg Albrecht
Modified: 2006-11-22 00:10 UTC (History)
0 users

See Also:


Attachments
file.shar (10.68 KB, text/plain)
2006-08-01 20:40 UTC, Greg Albrecht
no flags Details
mysqlard-new.shar (14.14 KB, application/x-shar)
2006-11-21 23:18 UTC, Greg Albrecht
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Greg Albrecht 2006-08-01 20:40:15 UTC
The MySQL Activity Report package is a tool to help MySQL database
administrators to collect several database parameters and variables.
These collected values can be used for server monitoring or
performance tuning purposes.

WWW: http://gert.sos.be/en/projects/mysqlar/

How-To-Repeat: 	<code/input/activities to reproduce the problem (multiple lines)>
Comment 1 Greg Albrecht 2006-08-01 22:27:46 UTC
here's an updated version of the shar file:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	mysqlard
#	mysqlard/Makefile
#	mysqlard/pkg-descr
#	mysqlard/distinfo
#	mysqlard/pkg-plist
#	mysqlard/files
#	mysqlard/files/mysqlard.sh.in
#	mysqlard/files/patch-ab
#	mysqlard/files/patch-af
#	mysqlard/files/patch-ag
#	mysqlard/files/patch-ae
#	mysqlard/files/patch-ad
#	mysqlard/files/patch-ac
#	mysqlard/files/patch-aa
#	mysqlard/pkg-message
#
echo c - mysqlard
mkdir -p mysqlard > /dev/null 2>&1
echo x - mysqlard/Makefile
sed 's/^X//' >mysqlard/Makefile << 'END-of-mysqlard/Makefile'
X# New ports collection makefile for:   mysqlard
X# Date created:        31 July 2006
X# Whom:                gba
X#
X# $FreeBSD$
X#
X
XPORTNAME=      mysqlard
XPORTVERSION=   1.0.0
XCATEGORIES=    databases www
XMASTER_SITES=  http://gert.sos.be/downloads/mysqlar/
X
XMAINTAINER=    gregoryba@gmail.com
XCOMMENT=       A tool to collect and graph database statistics from mysql
X
XRUN_DEPENDS=    rrdtool:${PORTSDIR}/net/rrdtool
X
XUSE_MYSQL=      yes
XUSE_APACHE=     1.3+
X
XMYSQLARD_DIR?=	${PREFIX}/www/mysqlard
X
XUSE_RC_SUBR=    mysqlard.sh
X
XMAN1 = mysqlar_graph.1
XMAN8 = mysqlard.8
X
XGNU_CONFIGURE=  yes
XCONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
XCONFIGURE_ARGS= --prefix="${PREFIX}" --with-rrd="${PREFIX}"
--datadir="${PREFIX}/www" --sysconfdir="${PREFIX}/etc"
X
Xpost-install:
X	@${MV} ${PREFIX}/www/mysqlard/mysqlard.cnf ${PREFIX}/etc
X	@${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
END-of-mysqlard/Makefile
echo x - mysqlard/pkg-descr
sed 's/^X//' >mysqlard/pkg-descr << 'END-of-mysqlard/pkg-descr'
XThe MySQL Activity Report package is a tool to help MySQL database
Xadministrators to collect several database parameters and variables.
XThese collected values can be used for server monitoring or
Xperformance tuning purposes.
X
XWWW: http://gert.sos.be/en/projects/mysqlar/
END-of-mysqlard/pkg-descr
echo x - mysqlard/distinfo
sed 's/^X//' >mysqlard/distinfo << 'END-of-mysqlard/distinfo'
XMD5 (mysqlard-1.0.0.tar.gz) = 693ef6f36ca232131b22db7063cae940
XSHA256 (mysqlard-1.0.0.tar.gz) =
07f333110c8fbb0174a534570884471139b00c96950f56a55fdbbd4683aef7f4
XSIZE (mysqlard-1.0.0.tar.gz) = 109656
END-of-mysqlard/distinfo
echo x - mysqlard/pkg-plist
sed 's/^X//' >mysqlard/pkg-plist << 'END-of-mysqlard/pkg-plist'
Xbin/mysqlar_graph
Xetc/mysqlard.cnf
Xsbin/mysqlard
Xwww/mysqlard/mysql.gif
Xwww/mysqlard/mysqlar.daily
Xwww/mysqlard/mysqlar.monthly
Xwww/mysqlard/mysqlar.php
Xwww/mysqlard/mysqlar.weekly
Xwww/mysqlard/mysqlard.server
Xwww/mysqlard/rrdtool.gif
Xwww/mysqlard/sos.gif
Xwww/mysqlard/style.css
X@dirrm www/mysqlard
END-of-mysqlard/pkg-plist
echo c - mysqlard/files
mkdir -p mysqlard/files > /dev/null 2>&1
echo x - mysqlard/files/mysqlard.sh.in
sed 's/^X//' >mysqlard/files/mysqlard.sh.in <<
'END-of-mysqlard/files/mysqlard.sh.in'
X#!/usr/local/bin/bash
X#
X#  $Id: mysqlard.server.sh 40 2006-01-20 20:26:11Z dewitge $
X#	
X#  MySQL Activity Report
X#  mysqlard Start script for the MySQL Activity Report Daemon
X#
X#  Copyright 2004 Gert Dewit <gert.dewit@sos.be>
X#
X# chkconfig: - 79 11
X# description: MySQL Activity Report Daemon
X# processname: mysqlard
X# config: %%PREFIX%%/etc/mysqlard.cnf
X# pidfile: /var/run/mysqlard.pid
X
X. %%RC_SUBR%%
X
X# Source the config script
Xif [[ "$datadir" == "" ]] ; then
X	echo Loading defaultsettings
X	. %%PREFIX%%/etc/mysqlard.cnf
Xfi
X
X########################################################################
X# Options, change them in %%PREFIX%%/etc/mysqlard.cnf or you can override
X# them here, but that's not recommended. Read the comments in
X# %%PREFIX%%/etc/mysqlard.cnf if you want to know what you're changing.
X
Xstep=${step:="60"}
Xminsamples=${minsamples:="720"}
Xdatadir=${datadir:="%%PREFIX%%/www/mysqlard"}
Xpidfile=/var/run/mysqlard.pid
XRRDTOOL=${RRDTOOL:="%%PREFIX%%/bin/rrdtool"}
XMYSQLARD=${MYSQLARD:="%%PREFIX%%/sbin/mysqlard"}
XMYSQLUSER=${MYSQLUSER:="mysqlar"}
XMYSQLHOST=${MYSQLHOST:=""}
X########################################################################
X
X# don't change anything below this line, but heck, I can't stop you ;-)
Xconfile=${confile:="${datadir}/connections.rrd"}
Xtabfile=${tabfile:="${datadir}/table_cache.rrd"}
Xkeyfile=${keyfile:="${datadir}/key_cache.rrd"}
Xqueryfile=${queryfile:="${datadir}/queries.rrd"}
Xslavefile=${slavefile:="${datadir}/slave.rrd"}
X
Xslaveopt=
Xif [[ "$slave" != "" ]]; then
X  slaveopt=-L
Xfi
X
Xif [[ "$MYSQLHOST" != "" ]] ; then
X  MYSQLHOST=--host=$MYSQLHOST
Xfi
X
X# functions
Xavgsamps () {
X  avg=$(($1 / $2))
X  if [ ${avg} -lt 1 ]
X  then
X    avg=1
X  fi
X  echo ${avg}
X}
Xarchives () {
X  arch=$(($1 / $2))
X  if [[ $(($2 * ${arch} * $3)) -lt $4 ]]
X  then
X    arch=$((${arch} + 1))
X  fi
X  echo ${arch}
X}
X
X# calculated values
Xheartbeat=$((${step} * 2))
Xhoursamps=$((3600 / ${step}))
Xhouravgs=$(avgsamps ${hoursamps} ${minsamples})
Xhourarchives=$(archives ${hoursamps} ${houravgs} ${step} 3600)
Xdaysamps=$((86400 / ${step}))
Xdayavgs=$(avgsamps ${daysamps} ${minsamples})
Xdayarchives=$(archives ${daysamps} ${dayavgs} ${step} 86400)
Xweeksamps=$((604800 / ${step}))
Xweekavgs=$(avgsamps ${weeksamps} ${minsamples})
Xweekarchives=$(archives ${weeksamps} ${weekavgs} ${step} 604800)
Xmonthsamps=$((2678400 / ${step}))
Xmonthavgs=$(avgsamps ${monthsamps} ${minsamples})
Xmontharchives=$(archives ${monthsamps} ${monthavgs} ${step} 2678400)
Xyearsamps=$((31622400 / ${step}))
Xyearavgs=$(avgsamps ${yearsamps} ${minsamples})
Xyeararchives=$(archives ${yearsamps} ${yearavgs} ${step} 31622400)
X
X# calculated RRA's
Xhourrra="RRA:AVERAGE:0.5:${houravgs}:${hourarchives}"
Xdayrra="RRA:AVERAGE:0.5:${dayavgs}:${dayarchives}"
Xweekrra="RRA:AVERAGE:0.5:${weekavgs}:${weekarchives}"
Xmonthrra="RRA:AVERAGE:0.5:${monthavgs}:${montharchives}"
Xyearrra="RRA:AVERAGE:0.5:${yearavgs}:${yeararchives}"
Xallrras="${hourrra} ${dayrra} ${weekrra} ${monthrra} ${yearrra}"
X
Xinitrrd () {
Xif [ ! -f ${confile} ]
Xthen
X  ${RRDTOOL} create ${confile} --step ${step} \
X  DS:threads_connected:GAUGE:${heartbeat}:0:U \
X  DS:max_connections:GAUGE:${heartbeat}:0:U \
X  ${allrras}
Xfi
X
Xif [ ! -f ${tabfile} ]
Xthen
X  ${RRDTOOL} create ${tabfile} --step ${step} \
X  DS:open_tables:GAUGE:${heartbeat}:0:U \
X  DS:table_cache:GAUGE:${heartbeat}:0:U \
X  DS:created_tmp_tables:COUNTER:${heartbeat}:0:U \
X  DS:created_tmp_disk_t:COUNTER:${heartbeat}:0:U \
X  ${allrras}
Xfi
X
Xif [ ! -f ${keyfile} ]
Xthen
X  ${RRDTOOL} create ${keyfile} --step ${step} \
X  DS:key_reads:COUNTER:${heartbeat}:0:U \
X  DS:key_read_requests:COUNTER:${heartbeat}:0:U \
X  DS:key_buffer_size:GAUGE:${heartbeat}:0:U \
X  DS:key_blocks_used:GAUGE:${heartbeat}:0:U \
X  DS:select_full_join:COUNTER:${heartbeat}:0:U \
X  DS:select_range_check:COUNTER:${heartbeat}:0:U \
X  DS:handler_read_key:COUNTER:${heartbeat}:0:U \
X  DS:handler_read_rnd:COUNTER:${heartbeat}:0:U \
X  DS:slow_queries:COUNTER:${heartbeat}:0:U \
X  ${allrras}
Xfi
X
Xif [ ! -f ${queryfile} ]
Xthen
X  ${RRDTOOL} create ${queryfile} --step ${step} \
X  DS:questions:COUNTER:${heartbeat}:0:U \
X  DS:com_select:COUNTER:${heartbeat}:0:U \
X  DS:com_insert:COUNTER:${heartbeat}:0:U \
X  DS:com_update:COUNTER:${heartbeat}:0:U \
X  DS:com_delete:COUNTER:${heartbeat}:0:U \
X  ${allrras}
Xfi
X
Xif [ ! -f ${slavefile} ]
Xthen
X  ${RRDTOOL} create ${slavefile} --step ${step} \
X  DS:read_master_log_pos:COUNTER:${heartbeat}:0:U \
X  DS:exec_master_log_pos:COUNTER:${heartbeat}:0:U \
X  ${allrras}
Xfi
X}
X
Xstatus() {
Xif [ -f $pidfile ]
Xthen
X  echo $0 is running. PID `cat ${pidfile}`
Xelse
X  echo $0 is not running.
Xfi
X
X}
X
Xcase "$1" in
X	start)
X		initrrd
X		${MYSQLARD} --step=${step} --datadir=${datadir} --user=${MYSQLUSER}
$MYSQLHOST --pidfile=${pidfile} ${slaveopt}
X	;;
X	stop)
X		kill `cat ${pidfile}`
X		rm -f ${pidfile}
X	;;
X	initrrd)
X		initrrd
X	;;
X	status)
X		status
X	;;
X	*)
X		echo "Usage: $0 {start|stop|status|initrrd}"
X		exit 1
Xesac
X
Xexit $?
END-of-mysqlard/files/mysqlard.sh.in
echo x - mysqlard/files/patch-ab
sed 's/^X//' >mysqlard/files/patch-ab << 'END-of-mysqlard/files/patch-ab'
X--- src/mysqlar.monthly.sh.orig	Tue Aug  1 11:23:19 2006
X+++ src/mysqlar.monthly.sh	Tue Aug  1 11:10:54 2006
X@@ -1,4 +1,4 @@
X-#!/bin/bash
X+#!/usr/local/bin/bash
X #
X #  $Id: mysqlar.monthly.sh 35 2004-03-10 15:48:41Z dewitge $
X #	
END-of-mysqlard/files/patch-ab
echo x - mysqlard/files/patch-af
sed 's/^X//' >mysqlard/files/patch-af << 'END-of-mysqlard/files/patch-af'
X--- src/mysqlar.php.sh.orig	Tue Aug  1 11:23:19 2006
X+++ src/mysqlar.php.sh	Tue Aug  1 11:13:32 2006
X@@ -15,7 +15,7 @@
X  * and has only usage permissions, no grants on any databases or tables.
X  */
X   $sqlhost = "localhost";
X-  $sqluser = "";
X+  $sqluser = "mysqlar";
X   $sqlpassword = "";
X
X /* sort a matrix using column as key */
END-of-mysqlard/files/patch-af
echo x - mysqlard/files/patch-ag
sed 's/^X//' >mysqlard/files/patch-ag << 'END-of-mysqlard/files/patch-ag'
X--- src/mysqlar_graph.sh.orig	Tue Aug  1 11:23:19 2006
X+++ src/mysqlar_graph.sh	Tue Aug  1 12:53:48 2006
X@@ -1,4 +1,4 @@
X-#!/bin/bash
X+#!/usr/local/bin/bash
X #
X #  $Id: mysqlar_graph.sh 40 2006-01-20 20:26:11Z dewitge $
X #	
END-of-mysqlard/files/patch-ag
echo x - mysqlard/files/patch-ae
sed 's/^X//' >mysqlard/files/patch-ae << 'END-of-mysqlard/files/patch-ae'
X--- src/mysqlar.daily.sh.orig	Tue Aug  1 11:23:19 2006
X+++ src/mysqlar.daily.sh	Tue Aug  1 11:10:47 2006
X@@ -1,4 +1,4 @@
X-#!/bin/bash
X+#!/usr/local/bin/bash
X #
X #  $Id: mysqlar.daily.sh 35 2004-03-10 15:48:41Z dewitge $
X #	
END-of-mysqlard/files/patch-ae
echo x - mysqlard/files/patch-ad
sed 's/^X//' >mysqlard/files/patch-ad << 'END-of-mysqlard/files/patch-ad'
X--- src/mysqlard.cnf.sh.orig	Tue Aug  1 11:23:19 2006
X+++ src/mysqlard.cnf.sh	Tue Aug  1 11:11:22 2006
X@@ -1,4 +1,4 @@
X-#!/bin/bash
X+#!/usr/local/bin/bash
X #  $Id: mysqlard.cnf.sh 40 2006-01-20 20:26:11Z dewitge $
X #	
X #  MySQL Activity Report
END-of-mysqlard/files/patch-ad
echo x - mysqlard/files/patch-ac
sed 's/^X//' >mysqlard/files/patch-ac << 'END-of-mysqlard/files/patch-ac'
X--- src/mysqlar.weekly.sh.orig	Tue Aug  1 11:23:19 2006
X+++ src/mysqlar.weekly.sh	Tue Aug  1 11:11:09 2006
X@@ -1,4 +1,4 @@
X-#!/bin/bash
X+#!/usr/local/bin/bash
X #
X #  $Id: mysqlar.weekly.sh 35 2004-03-10 15:48:41Z dewitge $
X #	
END-of-mysqlard/files/patch-ac
echo x - mysqlard/files/patch-aa
sed 's/^X//' >mysqlard/files/patch-aa << 'END-of-mysqlard/files/patch-aa'
X--- src/mysqlard.server.sh.orig	Tue Aug  1 11:23:19 2006
X+++ src/mysqlard.server.sh	Tue Aug  1 11:11:29 2006
X@@ -1,4 +1,4 @@
X-#!/bin/bash
X+#!/usr/local/bin/bash
X #
X #  $Id: mysqlard.server.sh 40 2006-01-20 20:26:11Z dewitge $
X #	
END-of-mysqlard/files/patch-aa
echo x - mysqlard/pkg-message
sed 's/^X//' >mysqlard/pkg-message << 'END-of-mysqlard/pkg-message'
X
X1) Add the 'mysqlar' user with USAGE privileges to your mysql server:
X$ mysql -u root -p mysql
Xmysql> GRANT USAGE ON *.* TO mysqlar@localhost;
Xmysql> FLUSH PRIVILEGES;
X
X2) Add the mysqlard crontab to root's crontab, replace ${PREFIX} with
the path to mysqlar_graph:
X*/5 * * * * hourly=1 daily=1 weekly=1 monthly=1
${PREFIX}/bin/mysqlar_graph > /dev/null
X
X3) Add a line line this to your apache's httpd.conf:
X
XAlias /mysqlar/ /usr/local/www/mysqlard/
X<Directory "/usr/local/www/mysqlard">
X  Options Indexes FollowSymLinks MultiViews ExecCGI
X  AllowOverride All
X  Order allow,deny
X  Allow from all
X  DirectoryIndex mysqlar.php
X</Directory>
X
END-of-mysqlard/pkg-message
exit
Comment 2 Alejandro Pulver freebsd_committer freebsd_triage 2006-10-04 01:25:43 UTC
Responsible Changed
From-To: freebsd-ports-bugs->alepulver

Take PR.
Comment 3 Alejandro Pulver freebsd_committer freebsd_triage 2006-10-04 20:59:50 UTC
State Changed
From-To: open->closed

New port added with a few modifications, thanks!
Comment 4 dfilter service freebsd_committer freebsd_triage 2006-10-04 21:01:15 UTC
alepulver    2006-10-04 20:00:40 UTC

  FreeBSD ports repository

  Modified files:
    databases            Makefile 
  Added files:
    databases/mysqlard   Makefile distinfo pkg-descr pkg-plist 
    databases/mysqlard/files mysqlard.sh.in patch-aa patch-ab 
                             patch-ac patch-ad patch-ae patch-af 
                             patch-ag pkg-message.in 
  Log:
  The MySQL Activity Report package is a tool to help MySQL database
  administrators to collect several database parameters and variables.
  These collected values can be used for server monitoring or
  performance tuning purposes.
  
  WWW: http://gert.sos.be/en/projects/mysqlar/
  
  PR:             ports/101217
  Submitted by:   Greg Albrecht <gregoryba at gmail.com>
  
  Revision  Changes    Path
  1.548     +1 -0      ports/databases/Makefile
  1.1       +40 -0     ports/databases/mysqlard/Makefile (new)
  1.1       +3 -0      ports/databases/mysqlard/distinfo (new)
  1.1       +184 -0    ports/databases/mysqlard/files/mysqlard.sh.in (new)
  1.1       +8 -0      ports/databases/mysqlard/files/patch-aa (new)
  1.1       +8 -0      ports/databases/mysqlard/files/patch-ab (new)
  1.1       +8 -0      ports/databases/mysqlard/files/patch-ac (new)
  1.1       +8 -0      ports/databases/mysqlard/files/patch-ad (new)
  1.1       +8 -0      ports/databases/mysqlard/files/patch-ae (new)
  1.1       +11 -0     ports/databases/mysqlard/files/patch-af (new)
  1.1       +8 -0      ports/databases/mysqlard/files/patch-ag (new)
  1.1       +25 -0     ports/databases/mysqlard/files/pkg-message.in (new)
  1.1       +6 -0      ports/databases/mysqlard/pkg-descr (new)
  1.1       +15 -0     ports/databases/mysqlard/pkg-plist (new)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 5 dfilter service freebsd_committer freebsd_triage 2006-10-04 21:06:20 UTC
alepulver    2006-10-04 20:03:37 UTC

  FreeBSD doc repository (ports committer)

  Modified files:
    en_US.ISO8859-1/articles/contributors contrib.additional.sgml 
  Log:
  Add Greg Albrecht for databases/mysqlard.
  
  PR:             ports/101217
  Submitted by:   Greg Albrecht <gregoryba@gmail.com>
  
  Revision  Changes    Path
  1.618     +5 -0      doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 6 Greg Albrecht 2006-11-21 23:18:16 UTC
here's an updated version that fixes the following bugs:

1) missing '\' in mysqlard.sh startup script, submitted by: Amar
Takhar <verm@darkbeer.org> and Jose Alonso Cardenas Marquez
<acardenas@bsd.org.pe>

2) fixed date format, submitted by: Vlad GURDIGA <gurdiga@gmail.com>

3) fixed bash dependency, submitted by: Vlad GURDIGA <gurdiga@gmail.com>

4) fixed mysql startup dependency, submitted by: Vlad GURDIGA
<gurdiga@gmail.com>

known bugs:

1) mysqlar-1.0.0 configure script does not honor '--with-mysql'
configure option. submitted by: Amar Takhar <verm@darkbeer.org>
 unfortunately it looks like this is a bug in the distfile, will
submit a bug report to the program author.


thanks to everybody for your help!

-g

-- 
Greg Albrecht (gregoryba@gmail.com)
The Letter G - http://theletterg.org
Comment 7 Amar Takhar 2006-11-22 00:02:52 UTC
On 2006-11-21 15:18 -0800, Greg Albrecht wrote:

> 1) mysqlar-1.0.0 configure script does not honor '--with-mysql'
> configure option. submitted by: Amar Takhar <verm@darkbeer.org>
> unfortunately it looks like this is a bug in the distfile, will
> submit a bug report to the program author.

No, that's not the problem, the problem is:

CONFIGURE_ARGS= --with-rrd="${LOCALBASE}" --datadir="${PREFIX}/www" \
        --sysconfdir="${PREFIX}/etc"

That should be CONFIGURE_ARGS +=

I set CONFIGURE_ARGS += --with-mysql=blah but since there is no += in the port 
it overwrote my env setting.  Sorry I wasn't more clear in my report.


Amar.