GithubHelp home page GithubHelp logo

carsonshan / seyren Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scobal/seyren

0.0 0.0 0.0 1.89 MB

An alerting dashboard for Graphite

License: Other

Java 80.07% JavaScript 10.52% Dockerfile 0.02% CSS 0.93% HTML 8.46%

seyren's Introduction

Seyren (/ˈsaɪ.rʌn/) is an alerting dashboard for Graphite. It supports the following notification channels:

#

Build Status Gitter chat

Prerequisites

Run

wget https://github.com/scobal/seyren/releases/download/1.5.0/seyren-1.5.0.jar
export GRAPHITE_URL=http://graphite.foohost.com:80
java -jar seyren-1.5.0.jar
open http://localhost:8080

To run seyren on another port:

export SEYREN_URL="http://localhost:8081/seyren"
java -jar seyren-1.5.0.jar -httpPort=8081

Config

The following options can be supplied as system properties or environment variables.

Base
  • MONGO_URL - The Mongo connection string. Default: mongodb://localhost:27017/seyren
  • SEYREN_URL - The location of your Seyren instance. Default: http://localhost:8080/seyren
  • SEYREN_LOG_PATH - The path of seyren.log. Default: ``. If a value is set, it must end with a '/'.
  • SEYREN_LOG_FILE_LEVEL - The level of messages logged to the file appender (must correspond to a Logback log level. So one of trace, debug, info, warn or error). Default: info.
  • SEYREN_THREADS - The number of pooled check threads to start. Default: 8
  • GRAPHS_ENABLE - Show(true) or hide(false) graphs in check page. Default: true.
Graphite
  • GRAPHITE_URL - The location of your Graphite server. Default: http://localhost:80
  • GRAPHITE_REFRESH - The fixed period (in ms) between checks. Default: 60000
  • GRAPHITE_USERNAME - The HTTP Basic auth username for the Graphite server. Default: ``
  • GRAPHITE_PASSWORD - The HTTP Basic auth password for the Graphite server. Default: ``
  • GRAPHITE_KEYSTORE - The HTTP KeyStore path for the https Graphite server. Default: ``
  • GRAPHITE_KEYSTORE_PASSWORD - The HTTP KeyStore password for the HTTPS Graphite server. Default: ``
  • GRAPHITE_TRUSTSTORE - The HTTP TrustStore path for the https Graphite server. Default: ``
  • GRAPHITE_CONNECTION_REQUEST_TIMEOUT - The number of millisconds to wait to obtain a connection from the pool. Default: 0 (infinite)
  • GRAPHITE_CONNECT_TIMEOUT - The number of milliseconds to wait to establish a connection. Default: 0 (infinite)
  • GRAPHITE_SOCKET_TIMEOUT - The number of milliseconds to wait for request data. Default: 0 (infinite)
Email
  • SMTP_HOST - The smtp server to send email notifications from. Default: localhost
  • SMTP_PORT - The smtp server port. Default: 25
  • SMTP_FROM - The from email address for sending out notifications. Default: alert@seyren
  • SMTP_USERNAME - The smtp server username if authenticated SMTP is used. Default: ``
  • SMTP_PASSWORD - The smtp server password if authenticated SMTP is used. Default: ``
  • SMTP_PROTOCOL - The smtp server protocol if authenticated SMTP is used. Default: smtp
[HTTP]
  • HTTP_NOTIFICATION_URL - The url for a resource that contains a POST HTTP Method. Default: ``
BigPanda.io

Use a Big Panda App Key as Target when adding a new subscription.

  • BIGPANDA_NOTIFICATION_URL - The url for a resource that contains a POST HTTP Method. Default: ``
  • BIGPANDA_AUTH_BEARER - The Authorization Bearer header that is assigned to each customer by BigPanda. See Alerts API integration Default: ``
Flowdock

Use a Flow API token as Target when adding a new subscription.

  • FLOWDOCK_EXTERNAL_USERNAME - The username that messages will be sent from to a flow. Default: Seyren
  • FLOWDOCK_TAGS - Special tags to add to all messages. Default: ``
  • FLOWDOCK_EMOJIS - Mapping between state and emojis unicode. Default: ``
HipChat
  • HIPCHAT_AUTHTOKEN - The hipchat api auth token. Default: ``
  • HIPCHAT_USERNAME - The username that messages will be sent from. Default: Seyren Alert
Hubot
  • HUBOT_URL - The location where Hubot is running. Default ``
IRCcat
  • IRCCAT_HOST - The hostname of the server where IRCcat is running. Default: localhost
  • IRCCAT_PORT - The port on which IRCcat is running. Default: 12345
PagerDuty
  • No system properties or environment variables here, but in "Subscriptions dialog box", set the target field with a "Service API Key". To generate a "Service API Key", see PagerDuty Support: Adding Services, section "Use our API directly".
Pushover
  • PUSHOVER_APP_API_TOKEN - Your pushover App API Token
Real-time metrics
  • GRAPHITE_CARBON_PICKLE_ENABLE - Enable a TCP server to listen Carbon relay pickle protocol. Default: false
  • GRAPHITE_CARBON_PICKLE_PORT - The TCP server port. Default: 2004
Slack

The target for a Slack subscription will be the channel name (including the #, for example #channel). You can optionally suffix the channel name with ! and that will cause the alerts to include a @channel mention (for example #channel!).

  • SLACK_TOKEN - The Slack api auth token. Default: ``
  • SLACK_USERNAME - The username that messages will be sent to slack. Default: Seyren
  • SLACK_ICON_URL - The user icon URL. Default: ``
  • SLACK_EMOJIS - Mapping between state and emojis unicode. Default: ``
SNMP
  • SNMP_HOST - The SNMP host. Default: localhost
  • SNMP_PORT - The SNMP port. Default: 162
  • SNMP_COMMUNITY - The SNMP community. Default: public
  • SNMP_OID - The SNMP OID. Default: 1.3.6.1.4.1.32473.1
TEMPLATE
  • TEMPLATE_EMAIL_FILE_PATH - The path to the velocity template used when emailing an alert. Seyren will first attempt to load from the class path, but will fall back to loading from the filesystem. Default: com/seyren/core/service/notification/email-template.vm"
  • TEMPLATE_EMAIL_SUBJECT_FILE_PATH - The path to the velocity template used for subject when emailing an alert. Seyren will first attempt to load from the class path, but will fall back to loading from the filesystem. Default: com/seyren/core/service/notification/email-subject-template.vm"
Twilio
  • TWILIO_ACCOUNT_SID - The Twilio Account SID. Default ``
  • TWILIO_AUTH_TOKEN - The Twilio Auth Token. Default ``
  • TWILIO_PHONE_NUMBER - The Twilio phone number to use to send SMS. Default ``
  • TWILIO_URL - The Twilio API URL. Mostly useful for testing. Default https://api.twilio.com/2010-04-01/Accounts
Victorops
  • VICTOROPS_REST_ENDPOINT - The REST Endpoint given by Victorops. See REST Integration Default ``
Proxy

The Proxy settings are changed by using JAVA_OPTS. It important that you exclude your graphite server or you will proxy these requests also.

  • JAVA_OPTS Example JAVA_OPTS="-server -Dhttps.proxyHost=PROXYSERVER -Dhttps.proxyPort=PROXYPORT -Dhttp.proxyHost=PROXYSERVER -Dhttp.proxyPort=PROXYPORT -Dhttp.nonProxyHosts=GRAPHITESERVER|*YOURDOMAIN.COM|INTERNALHIPCHAT"

Seyren API

See Seyren API

Chef

You can use Seyren Cookbook to deploy Seyren with Chef.

Docker

You can use the Docker Seyren Image to deploy a seyren instance in a docker container.

Docker compose

You can use docker-compose to create containers and hack seyren. First, you need to install Docker and Docker Compose. Then, you just need to start Docker Compose:

docker-compose up

and open http://localhost:8080/seyren. Graphite is available on http://localhost:8081/ with Basic Auth guest/guest.

Init script

Seyren-Init is an init.d script which allows you to start the service.

Development

Build Status

To run the acceptance tests with Maven:

mvn clean verify

To run the integration tests with Maven:

mvn clean verify -Pkarma

To fire-up the app using Maven and wait (meaning you can run the tests separately from your IDE):

mvn clean verify -Dwait

You should then be able to browse to http://localhost:8080/seyren and have a play.

To package up a new jar file without running the tests:

mvn package -DskipTests
# Set environment variables as needed.
java -jar seyren-web/target/seyren-web-*-war-exec.jar
  • Cerebro - Open alerting platform over Graphite (timeseries) and Seyren (scheduling)

seyren's People

Contributors

aboothew2o avatar adedommelin avatar alenkacz avatar asebak avatar briotto avatar cgander avatar cyrille-leclerc avatar devindawson avatar dukejansen avatar foozlevazquez avatar ipaponov avatar joelittlejohn avatar kelveden avatar kilida avatar kirill-vlasov avatar kppullin avatar mannya2k avatar mpcathey avatar mzsanford avatar nageshwara avatar neilprosser avatar nithril avatar nradonicich avatar obazoud avatar omodica avatar raine avatar scobal avatar spenserpothier avatar usmanismail avatar vpothuri avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.