From c0cef8ca43b3d7dcf1e0235ac8aff9db5e9c8183 Mon Sep 17 00:00:00 2001 From: Cameron Sparr Date: Mon, 10 Aug 2015 15:59:56 -0600 Subject: [PATCH] Fix for issue #77, create telegraf database if not exists --- CHANGELOG.md | 1 + agent.go | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fa1412dbc..68100b381 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#71](https://github.com/influxdb/telegraf/pull/71): HAProxy plugin. Thanks @kureikain! - [#72](https://github.com/influxdb/telegraf/pull/72): Adding TokuDB metrics to MySQL. Thanks vadimtk! - [#73](https://github.com/influxdb/telegraf/pull/73): RabbitMQ plugin. Thanks @ianunruh! +- [#77](https://github.com/influxdb/telegraf/issues/77): Automatically create database. - [#79](https://github.com/influxdb/telegraf/pull/56): Nginx plugin. Thanks @codeb2cc! - [#86](https://github.com/influxdb/telegraf/pull/86): Lustre2 plugin. Thanks srfraser! - [#91](https://github.com/influxdb/telegraf/pull/91): Unit testing diff --git a/agent.go b/agent.go index 7e47ff21a..1d704323c 100644 --- a/agent.go +++ b/agent.go @@ -6,6 +6,7 @@ import ( "net/url" "os" "sort" + "strings" "sync" "time" @@ -84,6 +85,14 @@ func (a *Agent) Connect() error { return err } + _, err = c.Query(client.Query{ + Command: fmt.Sprintf("CREATE DATABASE telegraf"), + }) + + if err != nil && !strings.Contains(err.Error(), "database already exists") { + log.Fatal(err) + } + a.conn = c return nil