Could you first just try copy-pasting the working config I gave you, and 
see if it gives a different result to yours?

I doubt a mail server would take more than 5 seconds to give a banner, but 
it's possible.  Simply doing "telnet x.x.x.x 25" will show you how your 
mail server behaves.

On Monday, 4 July 2022 at 11:14:23 UTC+1 [email protected] wrote:

>
> Yes in my code the first expect is quoted.
>
> smtp_starttls:
>         prober: tcp
>         timeout: 5s
>         tcp:
>           query_response:
>             - expect: "^220 ([^ ]+) ESMTP (.+)$"
>             - send: "EHLO prober\r"
>             - expect: "^250-STARTTLS"
>             - send: "STARTTLS\r"
>             - expect: "^220"
>             - starttls: true
>             - send: "EHLO prober\r"
>             - expect: "^250-AUTH"
>             - send: "QUIT\r"
>
> Probably due to the "timeout" is too less? Should I adjust 5s to 15s or 
> 60s?
> On Monday, July 4, 2022 at 5:55:09 PM UTC+8 Brian Candler wrote:
>
>> The following works for me with blackbox_exporter 0.21.0 (maybe your 
>> first 'expect' regexp needs to be quoted?)
>>
>> modules:
>>   smtp_starttls:
>>       prober: tcp
>>       timeout: 5s
>>       tcp:
>>         query_response:
>>           - expect: "^220 ([^ ]+) ESMTP (.+)$"
>>             send: "EHLO prober"
>>           - expect: "^250-STARTTLS"
>>           - expect: "^250 .*$"
>>             send: "STARTTLS"
>>           - expect: "^220"
>>
>>             starttls: true
>>           - send: "EHLO prober"
>>           - expect: "^250 .*$"
>>             send: "QUIT"
>>
>> Result:
>>
>> # *curl -g 
>> 'localhost:9115/probe?module=smtp_starttls&target=aspmx.l.google.com:25&debug=true'*
>> Logs for the probe:
>> ts=2022-07-04T09:50:46.764604425Z caller=main.go:351 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Beginning probe" probe=tcp 
>> timeout_seconds=5
>> ts=2022-07-04T09:50:46.764875668Z caller=tcp.go:40 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Resolving target address" 
>> target=aspmx.l.google.com ip_protocol=ip6
>> ts=2022-07-04T09:50:46.765954096Z caller=tcp.go:40 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Resolved target address" 
>> target=aspmx.l.google.com ip=2a00:1450:400c:c07::1b
>> ts=2022-07-04T09:50:46.766011111Z caller=tcp.go:121 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Dialing TCP without TLS"
>> ts=2022-07-04T09:50:46.776962616Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Successfully dialed"
>> ts=2022-07-04T09:50:46.77708032Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Processing query response 
>> entry" entry_number=0
>> ts=2022-07-04T09:50:46.788075017Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" line="220 
>> mx.google.com ESMTP u1-20020a056000038100b0021bbcef3a69si36572085wrf.542 
>> - gsmtp"
>> ts=2022-07-04T09:50:46.788168204Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Regexp matched" 
>> regexp="^220 ([^ ]+) ESMTP (.+)$" line="220 mx.google.com ESMTP 
>> u1-20020a056000038100b0021bbcef3a69si36572085wrf.542 - gsmtp"
>> ts=2022-07-04T09:50:46.788223914Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Sending line" line="EHLO 
>> prober"
>> ts=2022-07-04T09:50:46.788362926Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Processing query response 
>> entry" entry_number=1
>> ts=2022-07-04T09:50:46.801755535Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" line="
>> 250-mx.google.com at your service, [xx:xx:xx:xx::33]"
>> ts=2022-07-04T09:50:46.801856147Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" line="250-SIZE 
>> 157286400"
>> ts=2022-07-04T09:50:46.801889927Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" 
>> line=250-8BITMIME
>> ts=2022-07-04T09:50:46.801922312Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" 
>> line=250-STARTTLS
>> ts=2022-07-04T09:50:46.801955499Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Regexp matched" 
>> regexp=^250-STARTTLS line=250-STARTTLS
>> ts=2022-07-04T09:50:46.801989646Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Processing query response 
>> entry" entry_number=2
>> ts=2022-07-04T09:50:46.802029066Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" 
>> line=250-ENHANCEDSTATUSCODES
>> ts=2022-07-04T09:50:46.802063318Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" 
>> line=250-PIPELINING
>> ts=2022-07-04T09:50:46.802094713Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" 
>> line=250-CHUNKING
>> ts=2022-07-04T09:50:46.802126198Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" line="250 
>> SMTPUTF8"
>> ts=2022-07-04T09:50:46.802159858Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Regexp matched" 
>> regexp="^250 .*$" line="250 SMTPUTF8"
>> ts=2022-07-04T09:50:46.802191065Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Sending line" line=STARTTLS
>> ts=2022-07-04T09:50:46.802271697Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Processing query response 
>> entry" entry_number=3
>> ts=2022-07-04T09:50:46.812211682Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" line="220 2.0.0 
>> Ready to start TLS"
>> ts=2022-07-04T09:50:46.812279339Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Regexp matched" regexp=^220 
>> line="220 2.0.0 Ready to start TLS"
>> ts=2022-07-04T09:50:46.833573801Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="TLS Handshake (client) 
>> succeeded."
>> ts=2022-07-04T09:50:46.833793385Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Processing query response 
>> entry" entry_number=4
>> ts=2022-07-04T09:50:46.833838422Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Sending line" line="EHLO 
>> prober"
>> ts=2022-07-04T09:50:46.833960852Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Processing query response 
>> entry" entry_number=5
>> ts=2022-07-04T09:50:46.84464181Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" line="
>> 250-mx.google.com at your service, [xx:xx:xx:xx::33]"
>> ts=2022-07-04T09:50:46.844771942Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" line="250-SIZE 
>> 157286400"
>> ts=2022-07-04T09:50:46.844839074Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" 
>> line=250-8BITMIME
>> ts=2022-07-04T09:50:46.844910271Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" 
>> line=250-ENHANCEDSTATUSCODES
>> ts=2022-07-04T09:50:46.844974538Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" 
>> line=250-PIPELINING
>> ts=2022-07-04T09:50:46.845061058Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" 
>> line=250-CHUNKING
>> ts=2022-07-04T09:50:46.84512579Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Read line" line="250 
>> SMTPUTF8"
>> ts=2022-07-04T09:50:46.845193403Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Regexp matched" 
>> regexp="^250 .*$" line="250 SMTPUTF8"
>> ts=2022-07-04T09:50:46.84525809Z caller=main.go:144 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=debug msg="Sending line" line=QUIT
>> ts=2022-07-04T09:50:46.845583228Z caller=main.go:351 module=smtp_starttls 
>> target=aspmx.l.google.com:25 level=info msg="Probe succeeded" 
>> duration_seconds=0.080912196
>>
>>
>>
>>
>> Metrics that would have been returned:
>> # HELP probe_dns_lookup_time_seconds Returns the time taken for probe dns 
>> lookup in seconds
>> # TYPE probe_dns_lookup_time_seconds gauge
>> probe_dns_lookup_time_seconds 0.001103057
>>
>> # HELP probe_duration_seconds Returns how long the probe took to complete 
>> in seconds
>> # TYPE probe_duration_seconds gauge
>> probe_duration_seconds 0.080912196
>>
>> # HELP probe_failed_due_to_regex Indicates if probe failed due to regex
>> # TYPE probe_failed_due_to_regex gauge
>> probe_failed_due_to_regex 0
>> # HELP probe_ip_addr_hash Specifies the hash of IP address. It's useful 
>> to detect if the IP address changes.
>> # TYPE probe_ip_addr_hash gauge
>> probe_ip_addr_hash 2.766777767e+09
>>
>> # HELP probe_ip_protocol Specifies whether probe ip protocol is IP4 or IP6
>> # TYPE probe_ip_protocol gauge
>> probe_ip_protocol 6
>> # HELP probe_ssl_earliest_cert_expiry Returns earliest SSL cert expiry 
>> date
>> # TYPE probe_ssl_earliest_cert_expiry gauge
>> probe_ssl_earliest_cert_expiry 1.661764429e+09
>> # HELP probe_ssl_last_chain_expiry_timestamp_seconds Returns last SSL 
>> chain expiry in unixtime
>> # TYPE probe_ssl_last_chain_expiry_timestamp_seconds gauge
>> probe_ssl_last_chain_expiry_timestamp_seconds 1.661764429e+09
>>
>> # HELP probe_success Displays whether or not the probe was a success
>> # TYPE probe_success gauge
>> probe_success 1
>>
>>
>>
>>
>> Module configuration:
>> prober: tcp
>> timeout: 5s
>> http:
>>     ip_protocol_fallback: true
>>     follow_redirects: true
>>     enable_http2: true
>>
>> tcp:
>>     ip_protocol_fallback: true
>>     query_response:
>>         - expect: ^220 ([^ ]+) ESMTP (.+)$
>>           send: EHLO prober
>>         - expect: ^250-STARTTLS
>>         - expect: ^250 .*$
>>           send: STARTTLS
>>         - expect: ^220
>>
>>           starttls: true
>>         - send: EHLO prober
>>         - expect: ^250 .*$
>>           send: QUIT
>>
>> icmp:
>>     ip_protocol_fallback: true
>> dns:
>>     ip_protocol_fallback: true
>>     recursion_desired: true
>>
>

-- 
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/06bc8a9a-d291-47be-b4bf-ca66ff92a968n%40googlegroups.com.

Reply via email to