Add time interval

This commit is contained in:
Mathieu Doyon
2015-04-08 14:28:36 -04:00
parent 350244514a
commit f918ea38cd
4 changed files with 7 additions and 4 deletions

View File

@@ -23,6 +23,7 @@ var Logger *log.Logger
type CachetConfig struct {
APIUrl string `json:"api_url"`
APIToken string `json:"api_token"`
Interval int64 `json:"interval"`
Monitors []*Monitor `json:"monitors"`
SystemName string `json:"system_name"`
LogPath string `json:"log_path"`
@@ -107,7 +108,7 @@ func init() {
}
}
flags := log.Llongfile|log.Ldate|log.Ltime
flags := log.Llongfile | log.Ldate | log.Ltime
if len(os.Getenv("DEVELOPMENT")) > 0 {
flags = 0
}

View File

@@ -1,6 +1,7 @@
{
"api_url": "https://demo.cachethq.io/api",
"api_token": "9yMHsdioQosnyVK4iCVR",
"interval": 60,
"monitors": [
{
"name": "nodegear frontend",

View File

@@ -9,7 +9,7 @@ func main() {
config := cachet.Config
log := cachet.Logger
log.Printf("System: %s, API: %s\n", config.SystemName, config.APIUrl)
log.Printf("System: %s, Interval: %d second(s), API: %s\n", config.SystemName, config.Interval, config.APIUrl)
log.Printf("Starting %d monitors:\n", len(config.Monitors))
for _, mon := range config.Monitors {
log.Printf(" %s: GET %s & Expect HTTP %d\n", mon.Name, mon.URL, mon.ExpectedStatusCode)
@@ -20,7 +20,7 @@ func main() {
log.Println()
ticker := time.NewTicker(time.Second)
ticker := time.NewTicker(time.Duration(config.Interval)*time.Second)
for range ticker.C {
for _, mon := range config.Monitors {
go mon.Run()

View File

@@ -7,7 +7,7 @@ Features
--------
- [x] Creates & Resolves Incidents
- [x] Posts monitor lag every second
- [x] Posts monitor lag every second * config.Interval
- [x] Updates Component to Partial Outage
- [x] Updates Component to Major Outage if in Partial Outage
- [x] Can be run on multiple servers and geo regions
@@ -32,6 +32,7 @@ Configuration
{
"api_url": "https://demo.cachethq.io/api",
"api_token": "9yMHsdioQosnyVK4iCVR",
"interval": 60,
"monitors": [
{
"name": "nodegear frontend",