dispatch
All of the ad-hoc things you're doing to manage incidents today, done for you, and much more!
Top Related Projects
Enable Self-Service Operations: Give specific users access to your existing tools, services, and scripts
Easy & Flexible Alerting With ElasticSearch
Developer-friendly incident response with brilliant Slack integration
Developer-first error tracking and performance monitoring
Quick Overview
Netflix/dispatch is an open-source incident management platform designed to help teams effectively respond to and manage incidents. It provides a centralized hub for coordinating responses, tracking tasks, and documenting incidents, with features like automated workflows, integrations with various tools, and real-time collaboration capabilities.
Pros
- Streamlines incident management processes, improving response times and efficiency
- Offers extensive customization options to fit various organizational needs
- Provides robust integration capabilities with popular tools and services
- Supports real-time collaboration and communication during incident response
Cons
- Requires significant setup and configuration for optimal use
- May have a steep learning curve for teams new to formalized incident management
- Documentation could be more comprehensive for some advanced features
- Might be overkill for smaller organizations with simpler incident management needs
Getting Started
To get started with Netflix/dispatch:
-
Clone the repository:
git clone https://github.com/Netflix/dispatch.git
-
Install dependencies:
cd dispatch pip install -r requirements.txt
-
Set up the configuration:
- Copy
example.env
to.env
- Edit
.env
with your specific settings
- Copy
-
Initialize the database:
python manage.py db upgrade
-
Start the Dispatch server:
python manage.py run
For more detailed instructions and advanced configuration options, refer to the official documentation in the repository.
Competitor Comparisons
Enable Self-Service Operations: Give specific users access to your existing tools, services, and scripts
Pros of Rundeck
- More mature project with a larger community and extensive documentation
- Supports a wider range of job types and automation scenarios
- Offers both open-source and enterprise editions with additional features
Cons of Rundeck
- Steeper learning curve due to more complex architecture
- Requires more resources to set up and maintain
- Less focused on incident management specifically
Code Comparison
Rundeck (Job definition in YAML):
- name: Hello World
nodeStep: true
description: A simple hello world job
executionEnabled: true
loglevel: INFO
sequence:
commands:
- exec: echo "Hello, World!"
Dispatch (Incident creation in Python):
incident = client.incidents.create(
title="Hello World Incident",
description="This is a test incident",
priority=Priority.LOW,
incident_type=IncidentType.TEST
)
While both projects focus on automation and workflow management, Rundeck is a more general-purpose job scheduler and automation platform, whereas Dispatch is specifically designed for incident management and response. Rundeck offers more flexibility in terms of job types and integrations, but Dispatch provides a more streamlined experience for handling incidents in a collaborative environment.
Easy & Flexible Alerting With ElasticSearch
Pros of Elastalert
- Focused on alerting based on Elasticsearch data, making it highly specialized for log and metrics monitoring
- Supports a wide range of alert types and notification methods out-of-the-box
- Lightweight and can be easily integrated into existing Elasticsearch setups
Cons of Elastalert
- Limited to Elasticsearch data sources, less versatile for general incident management
- Lacks built-in incident tracking and management features
- May require additional tools for comprehensive incident response workflows
Code Comparison
Elastalert rule example:
name: Example rule
type: frequency
index: logstash-*
num_events: 50
timeframe:
hours: 4
filter:
- term:
status: "error"
alert:
- "email"
Dispatch configuration example:
INCIDENT_PLUGIN_CONTACT_ITEMS = [
{
"name": "Email",
"type": "email",
"template": "{{name}}@example.com",
},
]
While Elastalert focuses on defining alert rules, Dispatch provides a more comprehensive incident management configuration.
Developer-friendly incident response with brilliant Slack integration
Pros of Oncall
- Seamless integration with Grafana ecosystem, including dashboards and alerting
- Built-in support for on-call schedules and rotations
- More user-friendly interface for managing incidents and escalations
Cons of Oncall
- Less flexible for custom integrations compared to Dispatch
- Fewer out-of-the-box incident management features
- Limited support for complex workflow automation
Code Comparison
Oncall (Go):
func (s *ScheduleService) CreateOnCallShift(ctx context.Context, shift *OnCallShift) (*OnCallShift, error) {
// Implementation for creating on-call shifts
}
Dispatch (Python):
@dispatcher.add(SlackEvent, events=["app_mention"])
def handle_mention(event: SlackEvent):
# Implementation for handling Slack mentions
The code snippets highlight the different focus areas of the two projects. Oncall emphasizes scheduling and shift management, while Dispatch concentrates on event-driven incident management and automation.
Both repositories offer valuable incident management solutions, but cater to different use cases. Oncall is more suitable for teams already using Grafana and seeking tight integration with their monitoring stack. Dispatch provides a more extensible platform for custom incident workflows and integrations across various tools and services.
Developer-first error tracking and performance monitoring
Pros of Sentry
- More comprehensive error tracking and monitoring capabilities
- Supports a wider range of programming languages and frameworks
- Larger community and ecosystem with extensive integrations
Cons of Sentry
- More complex setup and configuration process
- Higher resource requirements for self-hosted installations
- Steeper learning curve for new users
Code Comparison
Sentry (Python):
import sentry_sdk
sentry_sdk.init(
dsn="https://examplePublicKey@o0.ingest.sentry.io/0",
traces_sample_rate=1.0
)
try:
division_by_zero = 1 / 0
except Exception as e:
sentry_sdk.capture_exception(e)
Dispatch (Python):
from dispatch.plugins.base import plugins
incident = plugins.incident.create(
title="New Incident",
description="Description of the incident",
incident_type={"name": "Outage"},
priority={"name": "High"},
status={"name": "Active"}
)
Both repositories serve different primary purposes: Sentry focuses on error tracking and performance monitoring, while Dispatch is designed for incident management and response. Sentry offers more comprehensive monitoring capabilities across various languages, but may require more setup time. Dispatch provides a streamlined approach to incident management but with a narrower focus. The code examples demonstrate Sentry's error capturing functionality and Dispatch's incident creation process.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
About
What's Dispatch?
Put simply, Dispatch is:
All of the ad-hoc things youâre doing to manage incidents today, done for you, and a bunch of other things you should've been doing, but have not had the time!
Dispatch helps us effectively manage security incidents by deeply integrating with existing tools used throughout an organization (Slack, GSuite, Jira, etc.,) Dispatch is able to leverage the existing familiarity of these tools to provide orchestration instead of introducing another tool.
This means you can let Dispatch focus on creating resources, assembling participants, sending out notifications, tracking tasks, and assisting with post-incident reviews; allowing you to focus on actually fixing the issue!
Project resources
Top Related Projects
Enable Self-Service Operations: Give specific users access to your existing tools, services, and scripts
Easy & Flexible Alerting With ElasticSearch
Developer-friendly incident response with brilliant Slack integration
Developer-first error tracking and performance monitoring
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot