Code Monkey home page Code Monkey logo

ravendb_exporter's People

Contributors

malhussan avatar marcinbudny avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ravendb_exporter's Issues

compatible to ravendb5.4

Hey,

i used your project to get the metrics of ravendb 5.4 and it still works without any changes of your Code. I found not much alternatives to your Project to grap the Metrics that are still available in the free version. Is it possible that you update Project the could using a newer image with updated versions from the container side (golang image busybox etc.)?

thanks for your work so far!
Cheers

Configuration file not parsed

Contrary to the README, namsral/flag and thus RavenDB Exporter does not parse a config file by default. There has to be a "config" flag defined. Trying to run ravendb_exporter with namsral/flag's default -config parameter ends with error:

$ ./ravendb_exporter -config ./ravendb_exporter.conf
flag provided but not defined: -config
Usage of ./ravendb_exporter:
(...)

I have used that default in #1 . If this PR is merged, the documentation can be amended by usage example, like this:
ravendb_exporter -config ./ravendb_exporter.conf

Metrics hold previous state

Hi @marcinbudny,

There seems to be an issue with my last PR #6, that is: metric ravendb_database_tasks keeps old states. For example, if a task connection_status were to change from NotActive to Active, this results in the following series:

ravendb_database_tasks{connection_status="NotActive",database="Demo",type="Subscription"} 2
ravendb_database_tasks{connection_status="Active",database="Demo",type="Subscription"} 2

which is not very helpful as it doesn't represent the current state. This is the only metric with multiple labels, so I assume it would also affect others should they have additional labels.

Looking at the code, a quick fix would be adding a reset in collectPerDatabaseGauge/collectPerDatabaseCounter functions

func collectPerDatabaseGauge(stats *stats, vec *prometheus.GaugeVec, collectFunc func(*dbStats) []metricInfo, ch chan<- prometheus.Metric) {
+	vec.Reset()
	for _, dbs := range stats.dbStats {
		metricInfos := collectFunc(dbs)

		for _, metricInfo := range metricInfos {
			vec.With(metricInfo.Labels).Set(metricInfo.Value)
		}
	}
	vec.Collect(ch)
}

Any ideas or suggestions?

"failed to parse private key" error on loading password-protected client key

When trying to run ravendb_exporter with auth enabled and CA and client certs configured and client key that is password-protected, it fails to start with following error:

$ ./ravendb_exporter -config ./ravendb_exporter.conf
INFO[0000] RavenDB exporter configured                   caCert=/opt/ravendb_exporter/cacert.crt clientCert=/opt/ravendb_exporter/admin.crt clientKey=/opt/ravendb_exporter/admin.key port=9440 ravenDbUrl="https://ravendb-01.gp.local:8080" timeout=10s useAuth=true verbose=false
FATA[0000] tls: failed to parse private key

When using client key without password, it runs as expected.

Using password-protected client key is default in RavenDB and it's generally a good practice. There is no way to provide client key password in ravendb_exporter.

no manifest in version 0.4.0

Hi Marc,

we saw when we mirroring the container to one of our private registries something went wrong with the manifest of the new version. Its empty.
VERSION 0.3.0
docker manifest inspect marcinbudny/ravendb_exporter:0.3.0 { "schemaVersion": 2, "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "config": { "mediaType": "application/vnd.docker.container.image.v1+json", "size": 2170, "digest": "sha256:3b381ce3cf0c4acb5654315388168cb5dadbdbc152f112dd10b17c3b7fe28764" }, "layers": [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 723146, "digest": "sha256:07a152489297fc2bca20be96fab3527ceac5668328a30fd543a160cd689ee548" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 3007515, "digest": "sha256:551020feb0f1236e5a1d58a409c9eacf959ad5a972c0ea48b80dde4b436577ae" } ] }

VERSION 0.4.0

docker manifest  inspect marcinbudny/ravendb_exporter:0.4.0
no such manifest: docker.io/marcinbudny/ravendb_exporter:0.4.0

I rebuild it locally and pushed it to an private registry and I got an manifest. I would say something went wrong on the gh action build? We also use gh actions for some container builds and i never saw this before but we made good experience with it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.