If it's the same blackbox exporter you're talking to, and it is returning 
"success" to one probe request (originating from your static_sd_configs) 
but "fail" to another probe request (from your kubernetes_sd_configs), then 
ISTM that the requests that you are sending to blackbox_exporter are 
different in those two cases.

On Monday, 20 March 2023 at 17:06:29 UTC dikshant rai wrote:

> Hi Brian,
> Thanks for responding. I am using grafana-agent because we are using mimir 
> on top of prometheus. so at first, I thought the same so I went to 
> grafanaa-agent pod using exec command and tried to connect  other running 
> services using telnet command. For ex. telnet 
> develop.static-service.dev.svc.cluster.local:8080, it throws 400 error and 
> the same error we are getting from sd-config jobs. Either we are missing 
> something or there may be one more reason that we are using istio for 
> communication that is listening on 15020 port but we tried to connect using 
> that port also but it throws error.
>
> On Sunday, 19 March 2023 at 19:45:13 UTC+5:30 Brian Candler wrote:
>
>> What you need to do, as I suggested before, is go to the PromQL web 
>> interface and look at Status > Targets to see exactly the scrape URL and 
>> its query parameters, e.g.
>>
>> [image: img1.png]
>>
>> Then you'll see what's different between the static_configs job and the 
>> kubernetes_sd_configs job, in terms of the generated scrape URL and 
>> params.  (And the total number of endpoints being probed, of course).
>>
>> Looking at your config, my guess is that the __address__ that you're 
>> getting from kubernetes SD is either a plain address or an address:port 
>> pair, but the target for your http_2xx module requires a complete URL like 
>> http://address:port or https://address:port (maybe with an additional path 
>> too).  You'll be able to see if the http:// is missing under Status > 
>> Targets.
>>
>> If that's true, then you need to modify your rewriting rules to build the 
>> target appropriately, for example:
>>
>>         - source_labels: [__address__]
>>           target_label: __param_target
>>           replacement: "http://${1}";
>>
>> That's just a starting point. You need to work on it as appropriate until 
>> your kubernetes SD config gives "target" params which match your static SD 
>> config.
>>
>> On Sunday, 19 March 2023 at 13:35:43 UTC dikshant rai wrote:
>>
>>> Hi Brian,
>>> Thanks for the response.
>>> I have configured static and sd both as different job and when I am 
>>> hitting SD job, I am getting targets as all the services inside the cluster 
>>> but they are throwing 400 or 404 error but when I check the logs, the 
>>> status is 200.
>>> I am attaching job for your reference. Let me know if I am missing 
>>> something. I also tried to check connection by going into blackbox-exporter 
>>> pod but it is still throwing same error. I have put all under same 
>>> namespace to avoid any communication failure.
>>>     - job_name: "blackbox-kubernetes-services"
>>>       metrics_path: /probe
>>>       params:
>>>         module: [http_2xx]
>>>       kubernetes_sd_configs:
>>>       - role: service
>>>       relabel_configs:
>>>       # Example relabel to probe only some services that have "
>>> example.io/should_be_probed = true" annotation
>>>       #  - source_labels: 
>>> [__meta_kubernetes_service_annotation_example_io_should_be_probed]
>>>       #    action: keep
>>>       #    regex: true      
>>>         - source_labels: [__address__]
>>>           target_label: __param_target
>>>         - target_label: __address__
>>>           replacement:  prometheus-blackbox-exporter:9115
>>>         - source_labels: [__param_target]
>>>           target_label: instance
>>>         - action: labelmap
>>>           regex: __meta_kubernetes_service_label_(.+)
>>>         - source_labels: [__meta_kubernetes_namespace]
>>>           target_label: kubernetes_namespace
>>>         - source_labels: [__meta_kubernetes_service_name]
>>>           target_label: kubernetes_service_name
>>>
>>> On Friday, 17 March 2023 at 21:04:29 UTC+5:30 Brian Candler wrote:
>>>
>>>> > When I am using static config then it shows fine but when I am using 
>>>> service discovery for status of service or pod some are coming up some are 
>>>> down
>>>>
>>>> Then clearly you're not scraping/probing the same endpoints as you did 
>>>> with the static config.
>>>>
>>>> The easiest way to check is to go to the Prometheus web interface and 
>>>> look at the "Status > Targets" page and see what *actual* targets you're 
>>>> probing: first with the static config, and then secondly with the SD 
>>>> config 
>>>> (actually you can do both at the same time, but configure them as separate 
>>>> jobs so you can distinguish them by the "job" label).  The first column 
>>>> shows the URL being scraped and the URL params being passed ("module" and 
>>>> "target" are the ones that need to be set for blackbox_exporter, of 
>>>> course).
>>>>
>>>> If you can show your static config, and the service discovery config, 
>>>> the problem might be clearer.  My guess is the SD discovery isn't 
>>>> returning 
>>>> data in the form that you expect, or that your rewrite rules aren't 
>>>> working 
>>>> in the way that you expect.
>>>>
>>>> On Friday, 17 March 2023 at 15:23:28 UTC dikshant rai wrote:
>>>>
>>>>> Hi,
>>>>> I tried to configure blackbox exporter for checking api status with 
>>>>> prometheus on kubernetes. When I am using static config then it shows 
>>>>> fine 
>>>>> but when I am using service discovery for status of service or pod some 
>>>>> are 
>>>>> coming up some are down. I used telnet to check connectivity as well that 
>>>>> is fine but still don't know where it is failing.
>>>>> Please help.
>>>>>
>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-users/2523defc-d2c8-4288-b3e7-b1c7f4d089adn%40googlegroups.com.

Reply via email to