Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/glogiotatidis/neres

NewRelic Synthetics (unofficial) CLI
https://github.com/glogiotatidis/neres

cli newrelic python synthetics

Last synced: 3 months ago
JSON representation

NewRelic Synthetics (unofficial) CLI

Awesome Lists containing this project

README

        

NewRelic Synthetics (unofficial) CLI (NeReS)
============================================

|image0| |image1|

NeReS is a cli tool to manage `NewRelic Synthetics
`__ monitors with a Synthetics Lite account
(Pro should work too). The tool emulates the actions of a user in the browser
and doesn't use the Synthetics API since that's only available to the Pro
accounts.

With this tool you can:

- List all your monitors, including their success rate, locations,
notifications etc.
- Create, update and delete monitors
- List available locations for monitor installation and
- everything else available though the Web console.

|image3|

Installation
------------

.. code:: shell

$ pip install neres

Configuration
-------------

1. You will need a newrelic account
2. Start by using the `login` command
3. Read the docs or run `--help`

Use
---

Login to NewRelic
~~~~~~~~~~~~~~~~~~

Login to NewRelic with the `login` command:

.. code:: shell

$ neres login

If you have multiple NewRelic accounts you can have different environments:

.. code:: shell

$ neres --environment work login

.. note::

Default environment is named `newrelic`. Remember to always pass `--environment`
to all neres commands to execute them in the correct environment. Alternatively
you can add `NERES_ENVIRONMENT` to your environment variables list.

List Accounts
~~~~~~~~~~~~~

You can list all the accounts connected to the email you used to connect using:

.. code:: shell

$ neres list-accounts

By default neres will act on the first account listed. This command will help
you select a different account by using the `ID` of the account in combination
with the `--account` option or by setting `NERES_ACCOUNT` in your environment.

List Locations
~~~~~~~~~~~~~~

Lists available monitor locations:

.. code:: shell

$ neres list-locations

List Monitors
~~~~~~~~~~~~~

Lists available monitors:

.. code:: shell

$ neres list-monitors

You can only list IDs of the monitors:

.. code:: shell

$ neres list-monitors --ids-only

Or get the raw JSON output from NewRelic:

.. code:: shell

$ neres list-monitors --raw

Add Monitor
~~~~~~~~~~~

Adds a Synthetics monitor:

.. code:: shell

$ neres add-monitor monitorName http://example.com

Use `--help` to get a full list of supported options for the command. All
options are optional.

Get Monitor
~~~~~~~~~~~

Get details on a monitor

.. code:: shell

$ neres get-monitor de310b69-3195-435e-b1ef-3a0af67499de

.. note::

You can use `list-monitors` to get a list of available monitors.

Update Monitor
~~~~~~~~~~~~~~

Update an existing monitor

.. code:: shell

$ neres update-monitor de310b69-3195-435e-b1ef-3a0af67499de --name "Foobar"

Use `--help` to get a full list of supported options for the command. All
options are optional.

Open Monitor
~~~~~~~~~~~~

Open monitor in the browser

.. code:: shell

$ neres open de310b69-3195-435e-b1ef-3a0af67499de

Get state of all monitors of account
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Export the state of all monitors of account in YAML format with

.. code:: shell

$ neres get-state

Save the output into a file, edit and use in combination with the
`update-from-statefile` command to update multiple monitors at once.

.. code:: shell

$ neres get-state > state.yaml

Update monitors from statefile
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Update monitors from statefile with

.. code:: shell

$ neres update-from-statefile state.yaml

.. note::

This command will only update existing monitors. It will not create new or
delete existing ones.

Credits
-------

This package was created with
`Cookiecutter `__ and the
`audreyr/cookiecutter-pypackage `__
project template.

.. |image0| image:: https://img.shields.io/pypi/v/neres.svg
.. |image1| image:: https://travis-ci.org/glogiotatidis/neres.svg?branch=master
.. |image3| image:: https://asciinema.org/a/145685.png
:target: https://asciinema.org/a/145685