Push netdata metrics to prometheus server

I have netdata running in one of my devices and I want to push metrics to my prometheus server, but I don’t want the server to pull the data, I want them to be pushed to the server instead.

I have configured netdata so that metrics will be pushed to my prometheus server in SERVER_IP:9090/api/v1/write:


And this is how my prometheus server config file, prometheus.yml looks like:

# my global config
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

      - targets: ["localhost:9090"]

When I go in my browser to localhost:9090/api/v1/write, I get a blank page that says “Method Not Allowed”.

What am I doing wrong?

Thank you for your time.

More info:

I built and run the program in github:


And by setting the port 1234 in my netdata export settings I can actually see the metrics arrive.

However if I set the port 9090 for my actual prometheus server, I can’t see anything.