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
Base
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)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 '/'.
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
Flowdock
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
PAGERDUTY_DOMAIN
- The PagerDuty domain to be notified. Default: ``PAGERDUTY_USERNAME
- The PagerDuty API username. Default: ``PAGERDUTY_PASSWORD
- The PagerDuty API Password. Default: ``
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
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
###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.