This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

NewRelic plugin for monitoring MarkLogic.

Features

  • Easy to install
  • Configurable selection of metrics to retrieve
  • Retrieve summary metrics on local cluster, hosts, servers & forests.
  • Retrieve detail metrics on databases, forests, hosts, groups & servers.
  • Proxy access to NewRelic api
  • Sample monitoring dashboards available at NewRelic plugin central.

Before you start

Require minimally Python 2.7.10 installed.

Requests python package v2.11 or greater.

Require minimally MarkLogic v7.0-6 installed and running.

Require NewRelic account.

Install, configure & run

Install the plugin using any of the following methods.

  • install from pypi repository

    pip install newrelic-marklogic-plugin

  • install direct from github

    pip install https://github.com/marklogic/newrelic-plugin/archive/master.zip

  • download release (or clone) repository and run the following.

    python setup.py install

Next step is to create and edit configuration file.

  1. Copy etc/newrelic_marklogic.conf.sample and to newrelic_marklogic.conf
  2. Edit newrelic_marklogic.conf ensuring correct MarkLogic connection details and NewRelic license key

Start reporting metrics to NewRelic by running the following.

newrelic_marklogic.py -c newrelic_marklogic.conf

Which samples metrics every period of length duration as set within configuration.

It is recommended to initiate plugin as a background task, run via a scheduler (ex. cron job) or using any other approach appropriate for your environment.

Running with -h flag will emit usage instructions for running plugin.

newrelic_marklogic.py -h
usage: ./newrelic_marklogic.py [-h] [-c config file] [-l log file]

-h print usage instructions  (this message)
-c config file               (default: newrelic_marklogic.conf)
-l log file                  (default: newrelic_marklogic.log)

Usage

The configuration file drives all newrelic-marklogic-plugin features and is split into several sections.

The ‘marklogic’ section contains connection details to MarkLogic server and Management REST API.

[marklogic]

# Scheme to use when accessing MarkLogic management REST API (http|https).
scheme = http

# Host to use when accessing MarkLogic management REST API (FQDN hostname).
host = localhost

# Port to use when accessing MarkLogic management REST API.
port = 8002

# Authentication to use when accessing MarkLogic management REST API (BASIC|DIGEST).
auth= DIGEST

# Username to use when accessing MarkLogic management REST API.
user = admin

# Password to use when accessing MarkLogic management REST API.
pass = admin

The ‘newrelic’ section specifies the NewRelic license key. Optionally you may nominate a proxy for accessing the NewRelic Plugin API.

[newrelic]

# Your NewRelic license key.
key = ****************************************

# Proxy (ex. http://10.10.1.10:3128).
http_proxy =

The ‘plugin’ section defines sample period for updating NewRelic, as well as the logging level for emitting messages about plugin operation.

There are a set of configurations for defining which statuses are captured by NewRelic, summarised below.

  • summary_status (True|False): retrieve local cluster summary status.
  • databases (list of databases): retrieve database detailed status.
  • hosts_summary_status (True|False): retrieve summary of all hosts status.
  • hosts (list of hosts): retrieve host detailed status.
  • forests_summary_status (True|False): retrieve summary of all forests status.
  • forests (list of forests): retrieve forest detailed status.
  • groups (list of groups): retrieve group detailed status.
  • servers_summary_status (True|False): retrieve summary of all servers status.
  • servers (list of servers): retrieve server detailed status.
[plugin]

# NewRelic plugin display name.
name = marklogic

# Unique NewRelic plugin guid.
guid = com.marklogic

# Sample period in seconds.
duration = 60

# Set logging level (INFO|DEBUG|ERROR).
log_level = DEBUG

# Local cluster summary.
summary_status= False

# Database(s) detail status.
databases= Documents

# Hosts summary.
hosts_summary_status= True

# Host(s) detail status.
hosts= 127.0.0.1

# Forests summary.
forests_summary_status= True

# Forest(s) detail status.
forests= Documents Meters

# Group(s) detail status.
groups= Default

# Servers summary.
servers_summary_status= True

# Server(s) detail status (must supply group name ex. ServerName:GroupName).
servers= Manage:Default

Create pypi distribution

  1. bump version number

2) create test distro python setup.py register -r pypitest

3) create pypi distro python setup.py register -r pypi

Issues, feature requests & contributing

Please file bug reports, feature requests, and contribute with pull requests through GitHub.

Release History

Release History

0.2.8

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.7

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.6

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting