Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A few development ideas #28

Closed
kworr opened this issue Dec 22, 2018 · 6 comments
Closed

A few development ideas #28

kworr opened this issue Dec 22, 2018 · 6 comments
Labels
proposal An issue that proposes a feature request

Comments

@kworr
Copy link

kworr commented Dec 22, 2018

Hello.

Just took a quick look on it and deployed over my hosts. There's a few things that might add to the value:

  1. It would be nice to have _build_info. Currently I can't get exporter info on the board to plan tiered upgrades.

  2. It would be nice to be able to scrape multiple hosts. With HTTPS/Auth nginx is already an external service that can be used to transfer data. This will also make it possible to transport data securely over network. For example, if I have a few hosts in different DCs I need to proxy exporter via nginx for example, if exporter would support scraping more then one host, authorization and HTTPS it would be possible to expose /stub_status on nginx externally in a restricted location. This will make provisioning easier.

@pleshakov pleshakov added the proposal An issue that proposes a feature request label Dec 24, 2018
@pleshakov
Copy link
Contributor

@kworr thanks for you suggestions!

Regarding No. 1 - makes sense.

Regarding No. 2 - I'm not sure I fully understand the benefits of scraping multiple hosts at once from your example.

@kworr
Copy link
Author

kworr commented Dec 25, 2018

I have a few geographically separated hosts that I want to scrap. This means I can't expose exporter as I need HTTPS/Auth over internet. Currently the stack looks like:

  1. Remote host.
    a. Nginx /stub_status location.
    b. nginx-prometheus-exporter locally.
    c. Nginx proxy host that adds HTTPS/Auth and exposes exporter to internet.
  2. Scrape host.
    a. Prometheus scrapes remote exporters.

When exporter would be able to scrape more then one server this can be transformed to:

  1. Remote host.
    a. Nginx /stub_status exposed with HTTPS/Auth.
  2. Scrape host.
    a. nginx-prometheus-exporter querying all remote hosts.
    b. Prometheus scraping exporter locally.

Simplifies delivery curve a bit and makes it a lot easier to deploy.

@pleshakov
Copy link
Contributor

@kworr thanks for further clarifying your case.

scrapping all the hosts in one exporter will complicate the implementation and configuration of the exporter. Additionally, such an exporter will present a single point of failure -- if it fails, the Prometheus will not be able to scrap the metrics of all the NGINXes.

@pleshakov
Copy link
Contributor

@kworr the nginxexporter_build_info metric has been implemented in #32. For now, until a new release is published, to use the metric, please build your own binary or image with the exporter.

@kworr
Copy link
Author

kworr commented Jan 17, 2019

Thank you!

@pleshakov
Copy link
Contributor

nginxexporter_build_info metric is available in 0.3 https://github.com/nginxinc/nginx-prometheus-exporter/releases/tag/v0.3.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposal An issue that proposes a feature request
Projects
None yet
Development

No branches or pull requests

2 participants