Skip to content

RasmusEdgar/pmm_rep

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

Percona Monitoring and Management Query Analytics reporting

I couldn't find a tool which could generate weekly PMM "Query Analytics" reports for our developers, so I wrote pmm_rep to solve this problem.

This script will fetch data from the PMM qan-api and create a multipart email report containing both a html and a 79 width column fixed text version.

NOTE: The script is hardcoded to set begin date to the preceding monday. This should be pretty straightforward to change to something else.

Prerequisites

I recommend that this script runs in a local::lib environment and there is a postfix/ssmtp/sendmail relay service running on the platform (Linux) where you choose deploy it.

Installation

  1. Create a dedicated user.
    sudo useradd -d /opt/pmm_reporter -m -s /bin/bash -c"pmm reporter" pmm_reporter
    sudo su - pmm_reporter
  2. Run the following as the dedicated user to set up a local::lib environment:
    wget -O- https://cpanmin.us | perl - -l $HOME/perl5 App::cpanminus local::lib && echo 'eval `perl -I $HOME/perl5/lib/perl5 -Mlocal::lib`' >> $HOME/.bash_profile && echo 'export MANPATH=$HOME/perl5/man:$MANPATH' >> $HOME/.bash_profile
    . .bash_profile
  3. Install the following dependencies with cpanm again as the dedicated user:
    cpanm ExtUtils::MakeMaker Mojolicious Text::Wrap Email::Stuffer Sub::Identify namespace::autoclean DateTime HTML::Strip Config::Auto
  4. Clone the repository:
    git clone https://github.com/RasmusEdgar/pmm_rep.git
  5. Copy and adjust config:
    cp ./pmm_rep/config/config.example ./pmm_rep/config/config && vim ./pmm_rep/config/config
  6. Test if script is working by running it by hand.
    cd ./pmm_rep/script && ./pmm_rep.pl
  7. Schedule a cronjob:
    PATH=/opt/pmm_reporter/perl5/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/pmm_reporter/.local/bin:/opt/pmm_reporter/bin
    PERL5LIB=/opt/pmm_reporter/perl5/lib/perl5
    PERL_MM_OPT=INSTALL_BASE=/opt/pmm_reporter/perl5
    30 10 * * 1 cd /opt/pmm_reporter/pmm_rep/script && ./pmm_rep.pl > /dev/null 2>&1

About

Percona Monitoring and Mangement (PMM) reporting script

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages