Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generic TCP Tests (via RegEx) #1851

Open
1 task done
michaelkrieger opened this issue Jun 29, 2022 · 1 comment · May be fixed by #3919
Open
1 task done

Generic TCP Tests (via RegEx) #1851

michaelkrieger opened this issue Jun 29, 2022 · 1 comment · May be fixed by #3919
Labels
area:monitor Everything related to monitors feature-request Request for new features to be added type:enhance-existing feature wants to enhance existing monitor

Comments

@michaelkrieger
Copy link

michaelkrieger commented Jun 29, 2022

⚠️ Please verify that this feature request has NOT been suggested before.

  • I checked and didn't find similar feature request

🏷️ Feature Request Type

New Monitor

🔖 Feature description

Generic / Custom TCP tests via regular expressions. The ability to connect to a port, send some data, and then evaluate the result (and maybe even with a timeout to ensure it's in a timely manner) would be helpful for services not supported by the app or which are custom in nature.

✔️ Solution

Using another monitoring, I have some services similar to this:

Service TCP/Submission {
    port: 587
    expect: ^220
    readhow: banner
}
Service TCP/webtest {
    port: 80
    send: HEAD / HTTP/1.0\r\n\r\n
    expect: HTTP
    readhow: toeof
}

❓ Alternatives

The documentation of that monitoring system describes these parameters as follows:

send: data to send once connected. This needs to be specified. If nothing is specified, nothing will be sent to the remote server
expect: a regular expression that needs to match the data received from the remote server. This needs to be specified. If nothing is specified, success or failure is determined by whether or not we received any data at all
readhow: This needs to be specified. How much data should we try to read? toeof indicates read until the remote end closes the connection. banner indicates we only want to read a banner. once indicates to use whatever data is returned in the first read(). This parameter only applies to TCP not UDP.

This is a generic TCP monitoring, which would not only be helpful, but also allow for the easy evaluation of any custom services that aren't easily added to the app.

📝 Additional Context

No response

@michaelkrieger michaelkrieger added the feature-request Request for new features to be added label Jun 29, 2022
@jordantrizz
Copy link

A good example. If you want to monitor if the SSH service is functioning, the port might be open but the service banner isn't being returned.

SSH-2.0-OpenSSH_7.4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:monitor Everything related to monitors feature-request Request for new features to be added type:enhance-existing feature wants to enhance existing monitor
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants