kuhn-ruess / Checkmk-Checks

Checks and Stuff for Check_MK
MIT License
39 stars 21 forks source link

[FR] postgres_replication - Query a remote PostgreSQL server #74

Closed svalo closed 1 month ago

svalo commented 6 months ago

Hello and thank you for the plugin, I've been searching for something similar for a long time!

Use case:

I have a server which holds PostgreSQL subscriptions to a remote server not under my control. I would like to monitor the subscription status. I have access to the remote server via psql and can perform the needed query.

Proposal:

Add the possibility to specify a target server, port, user, database, subscription name filter for the psql execution defaulting to the current values. The optional password may be specified inside a .pgpass file in postgres user home directory using the standard format.

The script could check for the existence of a configuration file in /etc/check_mk and configure itself like it is performed here .

Do you see this feature fitting in the scope of the plugin? I'm not familiar with checkmk plugin development but I could propose a PR implementing the parsing of the config file in bash.

Bastian-Kuhn commented 6 months ago

Hi Svalo, of course, if it will not break existing stuff, of course it will fit. We are always open to PR requests, what do you think would be needed to be changed in the CMK Plugin itself? Normally, the PRs also contain the CMK Changes. I need to know if that's in scope for free changes (if it is not much), or I have to give it to one of our Developers where we would have to send an offer to you because he has to be paid.

Regards, Bastian

svalo commented 5 months ago

Hello, @Bastian-Kuhn sorry for the delay but I missed the answer.

I'll test the changes I plan to introduce on my instance shortly, if I do not break anything I will open a PR so you can evaluate the change.

I do not think that changes in the CMK part are required short of providing a template configuration file which I think I can handle. I was dreaming about configuring the remote parameter from the web interface but it may be better to just start with the essential.

Regards, Valo