diff --git a/main.go b/main.go index ddfc953..d357b09 100644 --- a/main.go +++ b/main.go @@ -773,22 +773,24 @@ func (e *Exporter) Connect() { config.Cfgs[i].db.Close() config.Cfgs[i].db = nil } - config.Cfgs[i].db , err = sql.Open("oci8", conf.Connection) - if err == nil { - err = config.Cfgs[i].db.QueryRow("select db_unique_name,instance_name from v$database,v$instance").Scan(&dbname,&inname) + if len(conf.Connection) > 0 { + config.Cfgs[i].db , err = sql.Open("oci8", conf.Connection) if err == nil { - if (conf.Database != dbname) || (conf.Instance != inname) { - config.Cfgs[i].Database = dbname - config.Cfgs[i].Instance = inname + err = config.Cfgs[i].db.QueryRow("select db_unique_name,instance_name from v$database,v$instance").Scan(&dbname,&inname) + if err == nil { + if (conf.Database != dbname) || (conf.Instance != inname) { + config.Cfgs[i].Database = dbname + config.Cfgs[i].Instance = inname + } + e.up.WithLabelValues(conf.Database,conf.Instance).Set(1) + } else { + config.Cfgs[i].db.Close() + e.up.WithLabelValues(conf.Database,conf.Instance).Set(0) + //log.Infoln("Connect OK, Inital query failed: ", conf.Connection) } - e.up.WithLabelValues(conf.Database,conf.Instance).Set(1) - } else { - config.Cfgs[i].db.Close() - config.Cfgs[i].db = nil; - e.up.WithLabelValues(conf.Database,conf.Instance).Set(0) - // log.Infoln("Connect OK, Inital query failed: ", conf.Connection) } } else { + //log.Infoln("Dummy Connection: ", conf.Database) e.up.WithLabelValues(conf.Database,conf.Instance).Set(0) } } diff --git a/misc.go b/misc.go index cbd831f..687a5ae 100644 --- a/misc.go +++ b/misc.go @@ -97,6 +97,6 @@ func WriteLog(message string) { if err == nil { fh.Seek(0,2) fh.WriteString(time.Now().Format("2006-01-02 15:04:05") + " " + message + "\n") - fh.Close() } + if fh != nil {; fh.Close();} } diff --git a/oracle.conf.example b/oracle.conf.example index f5b6756..578a1b3 100644 --- a/oracle.conf.example +++ b/oracle.conf.example @@ -40,3 +40,9 @@ connections: name: sample3 - sql: "select 4 from dual" name: sample3 + + - connection: + database: DUMMY + instance: DUMMY + alertlog: + - file: trace/alert_DUMMY.log