Seyren (/ˈsaɪ.rʌn/) is an alerting dashboard for Graphite.
##Run
###Prerequisites
- Maven
- An instance of Graphite
- MongoDB ([Install instructions](http://docs.mongodb.org/manual/installation/#installation-guides Installing MongoDB))
###Stand alone
mvn clean package
export GRAPHITE_URL=http://graphite.foohost.com:80
java -jar seyren-web/target/seyren-web-*-war-exec.jar
open http://localhost:8080
###Environment variables
GRAPHITE_URL- The location of your Graphite server. Default:http://localhost:80GRAPHITE_REFRESH- The fixed period (in ms) between checks. Default:60000GRAPHITE_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)MONGO_URL- The Mongo connection string. Default:mongodb://localhost:27017/seyrenSEYREN_URL- The location of your Seyren instance. Default:http://localhost:8080/seyren
SMTP_HOST- The smtp server to send email notifications from. Default:localhostSMTP_PORT- The smtp server port. Default:25SMTP_FROM- The from email address for sending out notifications. Default:alert@seyrenSMTP_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
FLOWDOCK_EXTERNAL_USERNAME- The username that messages will be sent from to a flow. Default:SeyrenFLOWDOCK_TAGS- Special tags to add to all messages. Default: ``FLOWDOCK_EMOJIS- Mapping between state and emojis unicode. Default: ``
HIPCHAT_AUTHTOKEN- The hipchat api auth token. Default: ``HIPCHAT_USERNAME- The username that messages will be sent from. Default:Seyren Alert
HUBOT_URL- The location where Hubot is running. Default ``
IRCCAT_HOST- The hostname of the server where IRCcat is running. Default:localhostIRCCAT_PORT- The port on which IRCcat is running. Default:12345
PAGERDUTY_DOMAIN- The PagerDuty domain to be notified. Default: ``PAGERDUTY_USERNAME- The PagerDuty API username. Default: ``PAGERDUTY_PASSWORD- The PagerDuty API Password. Default: ``
PUSHOVER_APP_API_TOKEN- Your pushover App API Token
GRAPHITE_CARBON_PICKLE_ENABLE- Enable a TCP server to listen Carbon relay pickle protocol. Default:falseGRAPHITE_CARBON_PICKLE_PORT- The TCP server port. Default:2004
###Cloud Formation
If you are running on amazon infrastructure use this Cloud Formation Template to bring up a single instance of any size. All the environment variables required for Seyren are specified as properties to the cloud formation template and a fully configured Seyren instance should come up with no other intervention.
##Development
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.


