Table of Contents
ftw.contentstats
is a Plone add-on for collecting and displaying content
statistics.
Plone 4.3.x
- Add the package to your buildout configuration:
[instance] eggs += ... ftw.contentstats
Visit the @@content-stats
view on a Plone site (requires the
cmf.ManagePortal
permission by default).
Out of the box, ftw.contentstats
will collect statistics for
- Types (distinct
portal_type
's and their counts) - Workflow states (distinct
review_state
's and their counts) - Disk Usage (total disk usage of the deployment directory, filestorage and blobstorage)
Add-on packages can have additional statistics collected by providing an
IStatsProvider
adapter (see interface description for details).
If ftw.monitor
is installed, its performance metrics will also be
included, grouped by instance.
In order to log content stats to a file, you can use the provided
bin/dump-content-stats
script to have stats dumped to a logfile that
contains on JSON entry per line, containing the raw stats for that time.
Usage:
bin/dump-content-stats -s <plone_site_id>
The script will cause the stats to be dumped by making a request to the
@@dump-content-stats
view. This view is accessible to Anonymous
(zope.Public
), but only when requested from localhost!
So in order for this script to work, you'll have to invoke it on the same machine where your Zope instances run, and make sure the Plone site is up and running, and reachable from localhost.
The logfile location will be in the same directory as the Z2 log, and the
log will be named contentstats-json.log
.
Note: In order to figure out the appropriate log directory,
ftw.contentstats
needs to derive this information from the eventlog
location. It's therefore important to have an eventlog configured, otherwise
ftw.contentstats
will not be able to log any content stats, and complain
noisily through the root logger.
Instead of logging to a logfile, ftw.contentstats
can also be configured
to log to a Fluentd instance.
If the environment variable FLUENT_HOST
is set, it will log to that fluent
host using the Fluentd Forward Protocol, instead of logging to a local file.
FLUENT_PORT
(optional) allows to specify the port, and defaults to 24224
if not set.
In order for ftw.contentstats to use a proper tag for events logged to Fluentd,
the Pod namespace needs to be exposed in the KUBERNETES_NAMESPACE
env var.
- Fork this repo
- Clone your fork
- Shell:
ln -s development.cfg buildout.cfg
- Shell:
python boostrap.py
- Shell:
bin/buildout
Run bin/test
to test your changes.
Or start an instance by running bin/instance fg
.
- Github: https://github.com/4teamwork/ftw.contentstats
- Issues: https://github.com/4teamwork/ftw.contentstats/issues
- Pypi: http://pypi.python.org/pypi/ftw.contentstats
This package is copyright by 4teamwork.
ftw.contentstats
is licensed under GNU General Public License, version 2.