我正在尝试在kubernetes集群中部署nginx普罗米修斯导出器(https://github.com/nginxinc/nginx-prometheus-exporter),但是如果在args标记中使用参数“ -nginx.scrape-uri”,它将失败。如果我将其删除,则可以使用,但使用默认值“ 127.0.0.1:8080”
我应该如何传递此参数?
这是我的deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-prometheus-exporter
namespace: monitoring
labels:
k8s-app: nginx-prometheus-exporter
spec:
selector:
matchLabels:
k8s-app: nginx-prometheus-exporter
template:
metadata:
labels:
k8s-app: nginx-prometheus-exporter
annotations:
prometheus.io/path: "/metrics"
prometheus.io/port: "9113"
prometheus.io/scrape: "true"
spec:
containers:
- name: nginx-prometheus-exporter
image: infra-harbor-paas.attmx-ne.local/matrixx_lab01/nginx/nginx-prometheus-exporter:0.8.0
args: ["-nginx.scrape-uri http://10.150.152.206:8080/stub_status"]
ports:
- containerPort: 9113
name: http
imagePullSecrets:
- name: regcred
这里是它引发的错误
oscar@dlmx:~$ kubectl logs nginx-prometheus-exporter-84f6f6bfd5-9rv6h -n monitoring
flag provided but not defined: -nginx.scrape-uri http://10.150.152.206:8080/stub_status
Usage of /usr/bin/exporter:
-nginx.plus
Start the exporter for NGINX Plus. By default, the exporter is started for NGINX. The default value can be overwritten by NGINX_PLUS environment variable.
-nginx.retries uint
A number of retries the exporter will make on start to connect to the NGINX stub_status page/NGINX Plus API before exiting with an error. The default value can be overwritten by NGINX_RETRIES environment variable.
-nginx.retry-interval value
An interval between retries to connect to the NGINX stub_status page/NGINX Plus API on start. The default value can be overwritten by NGINX_RETRY_INTERVAL environment variable. (default 5s)
-nginx.scrape-uri string
A URI or unix domain socket path for scraping NGINX or NGINX Plus metrics.
For NGINX, the stub_status page must be available through the URI. For NGINX Plus -- the API. The default value can be overwritten by SCRAPE_URI environment variable. (default "http://127.0.0.1:8080/stub_status")
-nginx.ssl-ca-cert string
Path to the PEM encoded CA certificate file used to validate the servers SSL certificate. The default value can be overwritten by SSL_CA_CERT environment variable.
-nginx.ssl-client-cert string
Path to the PEM encoded client certificate file to use when connecting to the server. The default value can be overwritten by SSL_CLIENT_CERT environment variable.
-nginx.ssl-client-key string
Path to the PEM encoded client certificate key file to use when connecting to the server. The default value can be overwritten by SSL_CLIENT_KEY environment variable.
-nginx.ssl-verify
Perform SSL certificate verification. The default value can be overwritten by SSL_VERIFY environment variable. (default true)
-nginx.timeout value
A timeout for scraping metrics from NGINX or NGINX Plus. The default value can be overwritten by TIMEOUT environment variable. (default 5s)
-prometheus.const-labels value
A comma separated list of constant labels that will be used in every metric. Format is label1=value1,label2=value2... The default value can be overwritten by CONST_LABELS environment variable.
-web.listen-address string
An address or unix domain socket path to listen on for web interface and telemetry. The default value can be overwritten by LISTEN_ADDRESS environment variable. (default ":9113")
-web.telemetry-path string
A path under which to expose metrics. The default value can be overwritten by TELEMETRY_PATH environment variable. (default "/metrics")
答案 0 :(得分:0)
尝试一下:
spec:
containers:
- name: nginx-prometheus-exporter
image: infra-harbor-paas.attmx-ne.local/matrixx_lab01/nginx/nginx-prometheus-exporter:0.8.0
args:
- "-nginx.scrape-uri=http://10.150.152.206:8080/stub_status"