msiedlarek / nifi_exporter Goto Github PK
View Code? Open in Web Editor NEWApache NiFi metrics exporter for Prometheus
License: Apache License 2.0
Apache NiFi metrics exporter for Prometheus
License: Apache License 2.0
Please add to documentation sample metrics.
Hi,
i'm having an issue when trying to build your project. I'm not a GO dev, however when i try go build i get:
./main.go:111: cannot use collectors.NewDiagnosticsCollector(api, node.Labels) (type *collectors.DiagnosticsCollector) as type "github.com/prometheus/client_golang/prometheus".Collector in argument to "github.com/prometheus/client_golang/prometheus".DefaultRegisterer.Register:
*collectors.DiagnosticsCollector does not implement "github.com/prometheus/client_golang/prometheus".Collector (wrong type for Collect method)
have Collect(chan<- "github.com/msiedlarek/nifi_exporter/vendor/github.com/prometheus/client_golang/prometheus".Metric)
want Collect(chan<- "github.com/prometheus/client_golang/prometheus".Metric)
./main.go:114: cannot use collectors.NewCountersCollector(api, node.Labels) (type *collectors.CountersCollector) as type "github.com/prometheus/client_golang/prometheus".Collector in argument to "github.com/prometheus/client_golang/prometheus".DefaultRegisterer.Register:
*collectors.CountersCollector does not implement "github.com/prometheus/client_golang/prometheus".Collector (wrong type for Collect method)
have Collect(chan<- "github.com/msiedlarek/nifi_exporter/vendor/github.com/prometheus/client_golang/prometheus".Metric)
want Collect(chan<- "github.com/prometheus/client_golang/prometheus".Metric)
./main.go:117: cannot use collectors.NewProcessGroupsCollector(api, node.Labels) (type *collectors.ProcessGroupsCollector) as type "github.com/prometheus/client_golang/prometheus".Collector in argument to "github.com/prometheus/client_golang/prometheus".DefaultRegisterer.Register:
*collectors.ProcessGroupsCollector does not implement "github.com/prometheus/client_golang/prometheus".Collector (wrong type for Collect method)
have Collect(chan<- "github.com/msiedlarek/nifi_exporter/vendor/github.com/prometheus/client_golang/prometheus".Metric)
want Collect(chan<- "github.com/prometheus/client_golang/prometheus".Metric)
Please advise
Please specify how to install and use it.
Hi @msiedlarek , thanks a lot for your job.
I'm upgrade nifi to 1.16.3 version, and after that the exporter stop work with this error message:
An error has occurred during metrics gathering:
4 error(s) occurred:
* error collecting metric Desc{fqName: "nifi_conn_flow_files_queued", help: "The number of FlowFiles that are currently queued in the connection", constLabels: {}, variableLabels: [node_id connection_name connection_id group_id source_name destination_name]}: Invalid JSON response from NiFi: invalid character '<' looking for beginning of value
* error collecting metric Desc{fqName: "nifi_pg_component_count", help: "The number of components in this process group.", constLabels: {}, variableLabels: [group status]}: Invalid JSON response from NiFi: invalid character '<' looking for beginning of value
* error collecting metric Desc{fqName: "nifi_counter_total", help: "The value of the counter.", constLabels: {}, variableLabels: [node_id id context name]}: Cannot retrieve metrics for node '': Invalid JSON response from NiFi: invalid character '<' looking for beginning of value
* error collecting metric Desc{fqName: "nifi_info", help: "NiFi version info.", constLabels: {}, variableLabels: [node_id version]}: Invalid JSON response from NiFi: invalid character '<' looking for beginning of value
I think something change at response from Nifi, can you please check it?
I have no idea with golang, can you help or suggest any way to add the message comes with each bulletin even.
Thanks so much.
func (c *ProcessGroupsCollector) collect(ch chan<- prometheus.Metric, entity *client.ProcessGroupEntity) {
bulletinCount := map[string]int{
"INFO": 0,
"WARNING": 0,
"ERROR": 0,
}
for i := range entity.Bulletins {
bulletinCount[entity.Bulletins[i].Bulletin.Level]++
}
for level, count := range bulletinCount {
ch <- prometheus.MustNewConstMetric(
c.bulletin5mCount,
prometheus.GaugeValue,
float64(count),
entity.Component.Name,
level,
entity.Component.ID,
)
}
Hello,
I am hosting a secure NiFi server with my own truststore/keystore. I am having problems attempting to export metrics using this tool under this environment. I've included the CA Cert in my config file, but I still am getting errors. ("tls: bad cert" is outputted from /metrics). I've been trying to fumble through different config scenarios within both NiFi and this tool, but I keep running into similar issues (either 'connection refused' or 'tls: bad cert'). Is it possible to create a guide or a list of NiFi config prerequisites/requirements in order to get this tool working with NiFi secure mode?
Thanks!
Hi
Status History on NiFi gives us some metrics with unit of duration of time some examples are:
and I believe there maybe other ones.
Can we add these type of metrics to nifi_exporter?
Hello,
Would like to know if this export supports export of nifi api custom counters (http(s)://nifi-host:port/nifi-api/counters) or if it only exports system wide metrics.
Thanks
Is there a way to configure how frequently the exporter reads metrics from NiFi and to configure what metrics have to be collected?
We are accessing to nifi by ssl certificate, how we set config file to use nifi exporter?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.