ok, we found a solution. One of the servers worked all the time. Turns out it had a different JDK installed (OpenJDK Zulu vs normal OpenJDK, both 11). Using the Zulu JDK on the failing ones fixes the issue.
On Monday, 12 September 2022 at 14:26:25 UTC+2 Markus Glück wrote: > You're da man! :) GODEBUG=tls13=0 in 2.13.0 works. so its an > incompatibility between newer GO versions and Payara. > Now I have to push the server owners to disable the TLS1.3 for the metrics > endpoints, since I need to use a more recent payara (not able to rollback > the data and also High CVE in GoVersion of 2.35.0 or so). > But thx very much to give the definite hint that proved the causing issue! > > CU > Markus > > On Monday, 12 September 2022 at 11:12:43 UTC+2 Brian Candler wrote: > >> You could also prove this with prometheus 2.13.0, by setting environment >> variable GODEBUG=tls13=0 and see if it starts to work. >> >> (That workaround was removed in later versions of go, so it's not usable >> in production - but at least it will demonstrate whether this is the >> problem or not) >> >> On Monday, 12 September 2022 at 10:06:54 UTC+1 Brian Candler wrote: >> >>> One problem that affected me was that go version 1.15+ removed the >>> ability to use a certificate which has only "commonName" >>> <https://golang.org/doc/go1.15#commonname>. It now requires >>> "subjectAltName" to be present. That, I believe, would have affected >>> prometheus 2.21.0 >>> <https://github.com/prometheus/prometheus/releases/tag/v2.21.0> >>> onwards, so it doesn't explain your change at 2.13.0. >>> >>> Prometheus 2.12.0 was built with go1.12.8, and 2.13.0 was built >>> with go1.13.1, so it could be a similar issue. >>> >>> Now, looking at the go1.13 release notes >>> <https://go.dev/doc/go1.13#tls_1_3>, I see that TLS 1.3 was enabled by >>> default then - there's more information about go's TLS 1.3 support in the >>> go1.12 >>> release notes <https://go.dev/doc/go1.12#tls_1_3> when it was made >>> available but opt-in only. >>> >>> Perhaps that's the issue - your target server has a broken TLS 1.3 >>> implementation? If so, forcing TLS 1.2 might be a workaround. >>> Unfortunately, it looks like prometheus' tls_config >>> <https://prometheus.io/docs/prometheus/latest/configuration/configuration/#tls_config> >>> in >>> scrape jobs allows setting a minimum TLS version, but not a maximum :-( >>> >>> That's weird, because when configuring prometheus' own https endpoint >>> <https://prometheus.io/docs/prometheus/latest/configuration/https/>, >>> you can select both min and max versions. >>> >>> Maybe disabling TLS 1.3 in the exporter itself is an option? >>> >>> On Monday, 12 September 2022 at 09:23:35 UTC+1 [email protected] wrote: >>> >>>> Hi Brian, >>>> thanks for these tips. I already tried those before my post, but they >>>> didn't help. >>>> In the meantime I did some more investigation. The servers creating the >>>> metrics are Payara Micro 5.2021.10 >>>> The Prometheus (actually Thanos) is v2.38.0. Strangly it works with >>>> 2.12.0 (old on prem installation that got replaced), and is broken with >>>> every version starting at 2.13.0. >>>> Should be quite obvious to figure out, but I don't see any changes in >>>> 2.13.0 that I would pinpoint this too. >>>> >>>> I asked the guys running the servers if they could look into their >>>> config. e.g. disabling h2 didn't help either. >>>> >>>> Very strange issue :( >>>> >>>> Cu >>>> Markus >>>> >>>> On Friday, 9 September 2022 at 15:10:46 UTC+2 Brian Candler wrote: >>>> >>>>> Note: the ability to disable http2 via scrape config was only added in >>>>> v2.35.0 >>>>> <https://github.com/prometheus/prometheus/releases/tag/v2.35.0>. >>>>> >>>>> For an older version, you could try environment variables >>>>> DISABLE_HTTP2=1 >>>>> and/or >>>>> GODEBUG=http2client=0 >>>>> >>>>> On Friday, 9 September 2022 at 13:18:42 UTC+1 Brian Candler wrote: >>>>> >>>>>> What prometheus version are you using? I'd suggest v2.37.0 (2.37 is >>>>>> an LTS release branch) >>>>>> >>>>>> "promtool debug metrics" doesn't seem to have many options, but you >>>>>> could try in your prometheus scrape config: >>>>>> >>>>>> enable_http2: false >>>>>> >>>>>> and/or >>>>>> >>>>>> tls_config: >>>>>> insecure_skip_verify: true >>>>>> >>>>>> to try and narrow down the problem. >>>>>> >>>>>> On Friday, 9 September 2022 at 10:19:40 UTC+1 [email protected] >>>>>> wrote: >>>>>> >>>>>>> promtool debug metrics https://myserver:8181 >>>>>>> >>>>>>> collecting: https://myserver:8181/metrics >>>>>>> >>>>>>> 2022/09/09 11:15:05 http2: Transport failed to get client conn for >>>>>>> myserver:8181: http2: no cached connection was available >>>>>>> >>>>>>> error completing debug command: error executing HTTP request: Get " >>>>>>> https://myserver:8181/metrics": EOF >>>>>>> >>>>>>> >>>>>>> If I open the url in a browser or with curl I get proper response :( >>>>>>> Any hint what I might be missing? testssl.sh works fine too >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Friday, 9 September 2022 at 10:37:13 UTC+2 Markus Glück wrote: >>>>>>> >>>>>>>> Hi guys, >>>>>>>> I currently trying to debug a similar issue. I am also getting EOF >>>>>>>> only as error in debug level from scrape manager. I had the same issue >>>>>>>> locally with curl and LibreSSL on macOS. Updating the curl version to >>>>>>>> use >>>>>>>> openSSL fixed it. So my assumption it's something related to SSL/TLS. >>>>>>>> My >>>>>>>> working curl verbose output gives me this in regards to TLS: >>>>>>>> >>>>>>>> * ALPN: offers h2 >>>>>>>> >>>>>>>> * ALPN: offers http/1.1 >>>>>>>> >>>>>>>> } [5 bytes data] >>>>>>>> >>>>>>>> * TLSv1.3 (OUT), TLS handshake, Client hello (1): >>>>>>>> >>>>>>>> } [512 bytes data] >>>>>>>> >>>>>>>> * TLSv1.3 (IN), TLS handshake, Server hello (2): >>>>>>>> >>>>>>>> { [193 bytes data] >>>>>>>> >>>>>>>> * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): >>>>>>>> >>>>>>>> } [1 bytes data] >>>>>>>> >>>>>>>> * TLSv1.3 (OUT), TLS handshake, Client hello (1): >>>>>>>> >>>>>>>> } [512 bytes data] >>>>>>>> >>>>>>>> * TLSv1.3 (IN), TLS handshake, Server hello (2): >>>>>>>> >>>>>>>> { [155 bytes data] >>>>>>>> >>>>>>>> * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): >>>>>>>> >>>>>>>> { [51 bytes data] >>>>>>>> >>>>>>>> * TLSv1.3 (IN), TLS handshake, Certificate (11): >>>>>>>> >>>>>>>> { [4943 bytes data] >>>>>>>> >>>>>>>> * TLSv1.3 (IN), TLS handshake, CERT verify (15): >>>>>>>> >>>>>>>> { [520 bytes data] >>>>>>>> >>>>>>>> * TLSv1.3 (IN), TLS handshake, Finished (20): >>>>>>>> >>>>>>>> { [52 bytes data] >>>>>>>> >>>>>>>> * TLSv1.3 (OUT), TLS handshake, Finished (20): >>>>>>>> >>>>>>>> } [52 bytes data] >>>>>>>> >>>>>>>> * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 >>>>>>>> >>>>>>>> * ALPN: server accepted h2 >>>>>>>> >>>>>>>> >>>>>>>> but HOW do I get more info from Prometheus? >>>>>>>> >>>>>>>> Thx, >>>>>>>> >>>>>>>> Markus >>>>>>>> >>>>>>>> On Thursday, 14 July 2022 at 16:25:36 UTC+2 Brian Candler wrote: >>>>>>>> >>>>>>>>> The straightforward way to debug this by doing a scrape by hand: >>>>>>>>> it's just a HTTP request. >>>>>>>>> >>>>>>>>> curl -g 'https://blah.local:9126/metrics' >>>>>>>>> >>>>>>>>> Add flag '-v' for more debugging if required (e.g. response >>>>>>>>> headers may give you an extra clue). Once you're able to scrape the >>>>>>>>> exporter with curl, then prometheus should be able to talk to it too. >>>>>>>>> >>>>>>>>> Given that it's https, if you get a certificate error then you can >>>>>>>>> add flag '-k' to skip certificate verification. If that turns out to >>>>>>>>> be >>>>>>>>> the problem, then there are extra flags you can pass to curl, e.g. to >>>>>>>>> pass >>>>>>>>> the CA root certificate (if the target's cert was signed by a CA >>>>>>>>> that's not >>>>>>>>> in the system trust store). Once you've got all that working, you >>>>>>>>> can make >>>>>>>>> the corresponding changes to prometheus' tls_config. >>>>>>>>> >>>>>>>>> On Thursday, 14 July 2022 at 14:46:24 UTC+1 [email protected] >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hello Team, >>>>>>>>>> >>>>>>>>>> I have promethus installed on kubernet and add scraping targets >>>>>>>>>> from cmdb using http_sd_config. >>>>>>>>>> >>>>>>>>>> I am getting EOF error while i add targets. And it’s show down. >>>>>>>>>> >>>>>>>>>> Can someone please help me what is the issue. >>>>>>>>>> >>>>>>>>>> For your reference attached screenshot of error. >>>>>>>>>> >>>>>>>>>> Thanks and regards >>>>>>>>>> Ritesh patel >>>>>>>>>> >>>>>>>>> -- 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/2f6c8f1f-b391-4dd8-84ba-d8acaba29599n%40googlegroups.com.

