sashgorokhov / scrapy_prometheus

Exporting scrapy stats as prometheus metrics through pushgateway service
MIT License
6 stars 6 forks source link

Prompt ERROR: Failed to push "spiders" spider metrics to pushgateway How to solve #1

Open SuperYogurt opened 5 years ago

SuperYogurt commented 5 years ago

Traceback (most recent call last): File "c:\users\asus\appdata\local\programs\python\python36\lib\site-packages\scrapy_prometheus.py", line 153, in _persist_stats grouping_key=self.crawler.settings.get('PROMETHEUS_GROUPING_KEY', self.get_grouping_key(spider)) File "c:\users\asus\appdata\local\programs\python\python36\lib\site-packages\scrapy_prometheus.py", line 18, in push_to_gateway return push(pushgateway, job=job, grouping_key=grouping_key, timeout=timeout, registry=registry) File "c:\users\asus\appdata\local\programs\python\python36\lib\site-packages\prometheus_client\exposition.py", line 301, in pushadd_to_gateway _use_gateway('POST', gateway, job, registry, grouping_key, timeout, handler) File "c:\users\asus\appdata\local\programs\python\python36\lib\site-packages\prometheus_client\exposition.py", line 346, in _use_gateway headers=[('Content-Type', CONTENT_TYPE_LATEST)], data=data, File "c:\users\asus\appdata\local\programs\python\python36\lib\site-packages\prometheus_client\exposition.py", line 208, in handle resp = build_opener(HTTPHandler).open(request, timeout=timeout) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python36\lib\urllib\request.py", line 532, in open response = meth(req, response) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python36\lib\urllib\request.py", line 642, in http_response 'http', request, response, code, msg, hdrs) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python36\lib\urllib\request.py", line 570, in error return self._call_chain(args) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python36\lib\urllib\request.py", line 504, in _call_chain result = func(args) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python36\lib\urllib\request.py", line 650, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found

配置信息: STATS_CLASS = 'scrapy_prometheus.PrometheusStatsCollector' PROMETHEUS_PUSHGATEWAY = '192.168.24.129:9090' PROMETHEUS_METRIC_PREFIX = 'scrapy_prometheus' PROMETHEUS_PUSH_TIMEOUT = 5 PROMETHEUS_PUSH_METHOD = 'POST' PROMETHEUS_SUPPRESS_TYPE_CHECK = False PROMETHEUS_JOB = 'scrapy' PROMETHEUS_GROUPING_KEY = {'instance': 'ubuntu'}

sigrist commented 4 years ago

You must have a pushgateway service. Check this docker compose with Prometheus, Pushgateway and Grafana https://gist.github.com/brunosimioni/2bcbb91edd4fbaeb8cccbbf490c5685c Then you can set PROMETHEUS_PUSHGATEWAY = '192.168.24.129:9091' not 9090