File tree Expand file tree Collapse file tree 1 file changed +14
-2
lines changed Expand file tree Collapse file tree 1 file changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -166,8 +166,20 @@ func (e *Exporter) scrape(ch chan<- prometheus.Metric) {
166
166
noop := func (row map [string ]string ) error { return nil }
167
167
if err = GeneratePrometheusMetrics (e .db , noop , "SELECT 1 FROM DUAL" ); err != nil {
168
168
log .Errorln ("Error pinging oracle:" , err )
169
- e .up .Set (0 )
170
- return
169
+ // Maybe Oracle instance was restarted => try to reconnect
170
+ // fix https://github.com/iamseth/oracledb_exporter/issues/32
171
+ log .Infoln ("Try to reconnect..." )
172
+ e .db , err = sql .Open ("oci8" , e .dsn )
173
+ if err != nil {
174
+ log .Errorln ("Error while connecting to oracle:" , err )
175
+ e .up .Set (0 )
176
+ return
177
+ }
178
+ if err = GeneratePrometheusMetrics (e .db , noop , "SELECT 1 FROM DUAL" ); err != nil {
179
+ log .Error ("Unable to connect to oracle:" , err )
180
+ e .up .Set (0 )
181
+ return
182
+ }
171
183
}
172
184
e .up .Set (1 )
173
185
You can’t perform that action at this time.
0 commit comments