All Projects → alerta → python-alerta-client

alerta / python-alerta-client

Licence: Apache-2.0 License
Unified command-line tool and python SDK for alerta

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to python-alerta-client

googlecloud-storage-tutorial
💾 ☁️ Tutorial for interacting with Google Cloud Storage via the Python SDK.
Stars: ✭ 20 (-23.08%)
Mutual labels:  python-sdk
docker-alerta
Run alerta in a docker container
Stars: ✭ 121 (+365.38%)
Mutual labels:  alerta
zabbix-alerta
Forward Zabbix alerts to the alerta monitoring system
Stars: ✭ 94 (+261.54%)
Mutual labels:  alerta
square-python-sdk
Python client library for the Square API
Stars: ✭ 72 (+176.92%)
Mutual labels:  python-sdk
alerta-webui
Alerta Web UI 7.0
Stars: ✭ 84 (+223.08%)
Mutual labels:  alerta
sensu-alerta-handler
Use Alerta as a dashboard for Sensu
Stars: ✭ 21 (-19.23%)
Mutual labels:  alerta
vagrant-try-alerta
Vagrant Boxes of alerta with other popular monitoring tools eg. Nagios, Riemann, Zabbix, Sensu, Kibana
Stars: ✭ 16 (-38.46%)
Mutual labels:  alerta
ns1-python
NS1 Python SDK
Stars: ✭ 24 (-7.69%)
Mutual labels:  python-sdk
AvaTax-REST-V2-Python-SDK
Sales Tax API SDK for Python and AvaTax REST
Stars: ✭ 17 (-34.62%)
Mutual labels:  python-sdk
faxplus-python
Python SDK to use FAX.PLUS API
Stars: ✭ 54 (+107.69%)
Mutual labels:  python-sdk
meican
MeiCan Python SDK. 美餐点餐库 + 命令行工具。
Stars: ✭ 65 (+150%)
Mutual labels:  python-sdk
angular-alerta-webui
Alerta Web UI 6.0 (DEPRECATED) - See latest version Web UI 7.0
Stars: ✭ 69 (+165.38%)
Mutual labels:  alerta
wxpusher-sdk-python
微信消息实时推送服务[WxPusher]的Python版本sdk,可以通过API实时给个人微信推送消息。wechat pusher.
Stars: ✭ 156 (+500%)
Mutual labels:  python-sdk
Alerta
Alerta monitoring system
Stars: ✭ 2,031 (+7711.54%)
Mutual labels:  alerta
kibana-alerta
Log alerts to Elasticsearch and view them in Kibana
Stars: ✭ 27 (+3.85%)
Mutual labels:  alerta

Alerta Command-Line Tool

Actions Status Slack chat Coverage Status

Unified command-line tool, terminal GUI and python SDK for the Alerta monitoring system.

screen shot

Related projects can be found on the Alerta Org Repo at https://github.com/alerta/.

Installation

To install the Alerta CLI tool run::

$ pip install alerta

Configuration

Options can be set in a configuration file, as environment variables or on the command line. Profiles can be used to easily switch between different configuration settings.

Option Config File Environment Variable Optional Argument Default
file n/a ALERTA_CONF_FILE n/a ~/.alerta.conf
profile profile ALERTA_DEFAULT_PROFILE --profile PROFILE None
endpoint endpoint ALERTA_ENDPOINT --endpoint-url URL http://localhost:8080
key key ALERTA_API_KEY n/a None
timezone timezone n/a n/a Europe/London
SSL verify sslverify REQUESTS_CA_BUNDLE n/a verify SSL certificates
SSL client cert sslcert n/a n/a None
SSL client key sslkey n/a n/a None
timeout timeout n/a n/a 5s TCP connection timeout
output output n/a --output-format OUTPUT simple
color color CLICOLOR --color, --no-color color on
debug debug DEBUG --debug no debug

Example

Configuration file ~/.alerta.conf::

[DEFAULT]
timezone = Australia/Sydney
# output = psql
profile = production

[profile production]
endpoint = https://api.alerta.io
key = demo-key

[profile development]
endpoint = https://localhost:8443
sslverify = off
timeout = 10.0
debug = yes

Environment Variables

Set environment variables to use production configuration settings by default::

$ export ALERTA_CONF_FILE=~/.alerta.conf
$ export ALERTA_DEFAULT_PROFILE=production

$ alerta query

And to switch to development configuration settings when required use the --profile option::

$ alerta --profile development query

Usage

$ alerta
Usage: alerta [OPTIONS] COMMAND [ARGS]...

  Alerta client unified command-line tool.

Options:
  --config-file <FILE>      Configuration file.
  --profile <PROFILE>       Configuration profile.
  --endpoint-url <URL>      API endpoint URL.
  --output-format <FORMAT>  Output format. eg. simple, grid, psql, presto, rst
  --color / --no-color      Color-coded output based on severity.
  --debug                   Debug mode.
  --help                    Show this message and exit.

Commands:
  ack         Acknowledge alerts
  blackout    Suppress alerts
  blackouts   List alert suppressions
  close       Close alerts
  customer    Add customer lookup
  customers   List customer lookups
  delete      Delete alerts
  heartbeat   Send a heartbeat
  heartbeats  List heartbeats
  help        Show this help
  history     Show alert history
  key         Create API key
  keys        List API keys
  login       Login with user credentials
  logout      Clear login credentials
  perm        Add role-permission lookup
  perms       List role-permission lookups
  query       Search for alerts
  raw         Show alert raw data
  revoke      Revoke API key
  send        Send an alert
  status      Display status and metrics
  tag         Tag alerts
  token       Display current auth token
  unack       Un-acknowledge alerts
  untag       Untag alerts
  update      Update alert attributes
  uptime      Display server uptime
  user        Update user
  users       List users
  version     Display version info
  whoami      Display current logged in user

Python SDK

The alerta client python package can also be used as a Python SDK.

Example

>>> from alertaclient.api import Client

>>> client = Client(key='NGLxwf3f4-8LlYN4qLjVEagUPsysn0kb9fAkAs1l')
>>> client.send_alert(environment='Production', service=['Web', 'Application'], resource='web01', event='HttpServerError', value='501', text='Web server unavailable.')
Alert(id='42254ef8-7258-4300-aaec-a9ad7d3a84ff', environment='Production', resource='web01', event='HttpServerError', severity='normal', status='closed', customer=None)

>>> [a.id for a in client.search([('resource','~we.*01'), ('environment!', 'Development')])]
['42254ef8-7258-4300-aaec-a9ad7d3a84ff']

>>> client.heartbeat().serialize()['status']
'ok'

License

Alerta monitoring system and console
Copyright 2012-2020 Nick Satterly

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].