ncabatoff / dbms_exporter

A PostgresSQL/Sybase/ODBC metric exporter for Prometheus
Apache License 2.0
6 stars 11 forks source link

DBopen error #10

Open nlamirault opened 5 years ago

nlamirault commented 5 years ago

I try the Sybase exporter like that :

$ DATA_SOURCE_NAME="compatibility_mode=sybase;user=sybase_exporter;pwd=password;server=0.0.0.0:5000" ./dbms_exporter-0.1.0.linux-amd64/dbms_exporter -driver sybase -queryfile /etc/sybase.yaml
INFO[0000] Error opening connection to freetds database: dbopen error
Msg 20010, Level 8
Unable to allocate sufficient memory (0.0.0.0:5000)

  source="dbms_exporter.go:429"
INFO[0000] Starting Server: :9113                        source="dbms_exporter.go:511"

I've got an error on database. On the instance i use isql to connect :

$ isql -Usybase_exporter -Ppassword -SMYSERVERNAME

With options :

-S server_name       Specifies the name of the Adaptive Server to which to connect to.

Any idea how to fix that ? Thanks.

ncabatoff commented 5 years ago

I don't know, maybe it's related to #9? Try with -persistent.connection=true.

nlamirault commented 5 years ago

I've got this error with the new parameter persistent.connection :

/sybase.yaml                                                                                               
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x0]

runtime stack:                                  
runtime.throw(0xaf4c14, 0x2a)                                                                                                                                                                                       
        /usr/local/go/src/runtime/panic.go:617 +0x72                                                      
runtime.sigpanic()                                                                                        
        /usr/local/go/src/runtime/signal_unix.go:374 +0x4a9                                       

goroutine 18 [syscall]:     
runtime.cgocall(0x8d3110, 0xc0000529b0, 0x40d1e8)                                                         
        /usr/local/go/src/runtime/cgocall.go:128 +0x5b fp=0xc000052980 sp=0xc000052948 pc=0x403deb
github.com/minus5/gofreetds._Cfunc_dbopen(0x30a0de0, 0x30a0ff0, 0x0)
        _cgo_gotypes.go:387 +0x4e fp=0xc0000529b0 sp=0xc000052980 pc=0x7f50ae
github.com/minus5/gofreetds.(*Conn).getDbProc.func9(0x30a0de0, 0x30a0ff0, 0x30a0ff0)                                                                                                                                
        /root/project/vendor/github.com/minus5/gofreetds/conn.go:233 +0x60 fp=0xc0000529e8 sp=0xc0000529b0 pc=0x7fbba0
github.com/minus5/gofreetds.(*Conn).getDbProc(0xc000192200, 0x0, 0x0, 0x0)
        /root/project/vendor/github.com/minus5/gofreetds/conn.go:233 +0x2db fp=0xc000052ca8 sp=0xc0000529e8 pc=0x7f751b
github.com/minus5/gofreetds.(*Conn).connect(0xc000192200, 0x100, 0xaba680, 0xab0e01)
        /root/project/vendor/github.com/minus5/gofreetds/conn.go:157 +0x4b fp=0xc000052ce8 sp=0xc000052ca8 pc=0x7f702b
github.com/minus5/gofreetds.(*Conn).reconnect(0xc000192200, 0xc000192200, 0xc000101440)
        /root/project/vendor/github.com/minus5/gofreetds/conn.go:303 +0xbe fp=0xc000052d20 sp=0xc000052ce8 pc=0x7f7f8e
github.com/minus5/gofreetds.connectWithCredentials(0xc000195f10, 0x4b, 0xc000195f10, 0x0)
        /root/project/vendor/github.com/minus5/gofreetds/conn.go:146 +0xd9 fp=0xc000052d68 sp=0xc000052d20 pc=0x7f6f29
github.com/minus5/gofreetds.NewConn(0xc000024011, 0x4b, 0x15, 0xc000052e58, 0x1)
        /root/project/vendor/github.com/minus5/gofreetds/conn.go:137 +0x43 fp=0xc000052d98 sp=0xc000052d68 pc=0x7f6e13
github.com/ncabatoff/dbms_exporter/db.openTdsDb(...)
        /root/project/db/freetds.go:24
github.com/ncabatoff/dbms_exporter/db.(*freeTdsDrv).Open(0x11f58f8, 0xc000024011, 0x4b, 0x1, 0x1, 0x1, 0xab8cc0)
        /root/project/db/freetds.go:16 +0x3a fp=0xc000052dd8 sp=0xc000052d98 pc=0x82135a
github.com/ncabatoff/dbms_exporter/db.Open(0xadd2d5, 0x7, 0xc000024011, 0x4b, 0x1894346, 0x11d22a0, 0xc0000f80c0, 0xc0000467a8)
        /root/project/db/db.go:141 +0x16a fp=0xc000052e78 sp=0xc000052dd8 pc=0x82072a
main.(*Exporter).scrape(0xc0001ae000, 0xc00017e0c0)
        /root/project/dbms_exporter.go:427 +0x382 fp=0xc000052f60 sp=0xc000052e78 pc=0x8d12d2
main.(*Exporter).Start.func1(0xc0001ae000)
        /root/project/dbms_exporter.go:322 +0x6b fp=0xc000052fd8 sp=0xc000052f60 pc=0x8d23db
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1337 +0x1 fp=0xc000052fe0 sp=0xc000052fd8 pc=0x45cde1
created by main.(*Exporter).Start
        /root/project/dbms_exporter.go:319 +0x3f

goroutine 1 [chan receive]:
github.com/prometheus/client_golang/prometheus.(*Registry).Register(0xc0000a0730, 0xba4040, 0xc0001ae000, 0x0, 0x0)
        /root/project/vendor/github.com/prometheus/client_golang/prometheus/registry.go:284 +0x1f7
github.com/prometheus/client_golang/prometheus.(*Registry).MustRegister(0xc0000a0730, 0xc00019d010, 0x1, 0x1)
        /root/project/vendor/github.com/prometheus/client_golang/prometheus/registry.go:390 +0x76
github.com/prometheus/client_golang/prometheus.MustRegister(...)
        /root/project/vendor/github.com/prometheus/client_golang/prometheus/registry.go:176
main.main()
        /root/project/dbms_exporter.go:503 +0x2df

goroutine 19 [select]:
main.(*Exporter).Collect(0xc0001ae000, 0xc00017e0c0)
        /root/project/dbms_exporter.go:310 +0x109
main.(*Exporter).Describe(0xc0001ae000, 0xc0000f8300) 
        /root/project/dbms_exporter.go:296 +0xb0
github.com/prometheus/client_golang/prometheus.(*Registry).Register.func1(0xba4040, 0xc0001ae000, 0xc0000f8300)
        /root/project/vendor/github.com/prometheus/client_golang/prometheus/registry.go:273 +0x3b
created by github.com/prometheus/client_golang/prometheus.(*Registry).Register
        /root/project/vendor/github.com/prometheus/client_golang/prometheus/registry.go:272 +0x154

goroutine 20 [chan receive]:
main.(*Exporter).Describe.func1(0xc00017e0c0, 0xc0000f8300, 0xc00017e120)
        /root/project/dbms_exporter.go:290 +0x81
created by main.(*Exporter).Describe
        /root/project/dbms_exporter.go:289 +0x98
cleonte commented 5 years ago

you might want to try to compile the binary by yourself, we ran into the same problem, but after compiling the error was gone (could not compile static, but that's another problem)