Skip to content
This repository has been archived by the owner on Jul 19, 2018. It is now read-only.

Modules and commands

ferencmurcsik edited this page Dec 19, 2014 · 1 revision

Pasha is designed to be modular and extensible. It has a main module with minimal functionality and modules to extend it.

Main Module

The main module of pasha is capable of creating and managing Prio1 situations: you can start, confirm and stop Prio1s and assign Prio1 leader and communications role to people.

Commands

Initiate a Prio1 situation (works only if there is no Prio1 currently going on):

pasha prio1 start <problem>
e.g. pasha prio1 start There is a network outage between Rackspace and EC2

Confirm a Prio1 (works only if there is a started Prio1):

pasha prio1 confirm

Stop a Prio1 (works only if there is a Prio1 going on):

pasha prio1 stop

Assign Prio1 leader role to a person (works only if there is a Prio1 going on):

pasha role leader <name>
e.g. pasha role leader elvis

Assign Prio1 communications role to a person (works only if there is a Prio1 going on):

pasha role comm <name>
e.g. pasha role comm elvis

Get info about a person:

pasha whois <name>
e.g. pasha whois elvis

Changelog Module

Changelog aims to answer the question "what's changed in the last hour?" in a distributed system. Very useful to have when the proverbial bad things hit the proverbial ventilation hardware. It can drastically drop mean time to recovery. Use can easily get information from Pasha by using Pasha commands

Commands

Query Changelog for recent changes:

pasha changelog <int>[smhd]
e.g. pasha changelog 25m

Send events to Changelog:

pasha changelog add <event>
e.g. pasha changelog add Elvis restarted HAProxy on lb5

Provision Module

Sometimes you need to reboot some of your servers or run chef on your nodes. Pasha is capable of doing that for you by issuing specific commands. You need to configure

Commands

Run chef on the specified nodes

pasha runchef <knife_search_criteria>

Reboot the selected nodes

pasha reboot <knife_search_criteria>

Dashboard Module

During a prio1 situation you want to focus on graphs relevant to the outage and Pasha can help you with that. You can add and remove your graphs by using Pasha commands. You can also customize graphs by adding and removing metrics. In this module you can use "graph" or "graphite" command to make changes in the dashboard.

Commands

Adding a graph to the dashboard

pasha graph/graphite add <graph_name> <graph_url>
e.g.: pasha graphite add client_errors https://dashboard.mysite.com/Client+errors/warnings

Removing a graph from the dashboard

pasha graph/graphite remove <graph_name>

Lists all names and urls of the graphs in the dashboard

pasha graph/graphite list

Adds a target (metric) to certain graph

pasha graph/graphite target add <graph_name> <target>

Remove a target (metric) from certain graph

pasha graph/graphite target remove <graph_name> <target>

Lists all metrics of certain graph

pasha graph/graphite target <graph_name> list

Lists the available commands to manipulate the dashboard

pasha graph/graphite help

Pagerduty Module

Pasha integrates with PagerDuty. You can send notifications to any PD service, users who are subscribe to that service will get notified by emails or SMS messages on their phone.

Commands

triggers an alert to the specified service

pasha alert trigger <service_name> <alert_description>
e.g.: pasha alert trigger test_service "Alerting test service"

lists the details of the active Pagerduty alerts

pasha alert list

responds with a description for alert subcommands

pasha alert help