powa-team / powa

PostgreSQL Workload Analyzer
http://powa.readthedocs.io/
PostgreSQL License
768 stars 57 forks source link

Remote server configuration shows as powa is disabled #175

Closed sajiljosephs closed 1 year ago

sajiljosephs commented 1 year ago

Screenshot from 2023-05-11 11-42-08 Remote server configuration shows as powa is disabled. How can we rectify this ?

rjuju commented 1 year ago

What version of powa-web and powa-collector are you using, what version of powa is installed on both the repository server and remote server? Can you also show the output of \dx on the powa database of the remote server?

Did powa-collector raised any error?

sajiljosephs commented 1 year ago

powa 4.1.4 is installed on repository and remote server powa-web 4.1.4 powa-collector 1.2

Powa-collector logs: 2023-05-11 06:04:39,020 - INFO : Starting powa-collector... 2023-05-11 06:04:39,025 127.0.0.1:5432 INFO : Starting worker 2023-05-11 06:04:39,025 - INFO : List of workers: 2023-05-11 06:04:39,025 - INFO : 127.0.0.1:5432: {'host': '127.0.0.1', 'port': 5432, 'user': 'powa', 'password': '', 'dbname': 'powa'} (no connection to remote server) Screenshot from 2023-05-11 12-35-12

rjuju commented 1 year ago

Are the repository and the remote servers actually the same? I don't think I ever tried that, although I don't really see why it wouldn't work.

Is there any error reported on that server on /config/ page?

sajiljosephs commented 1 year ago

No errors on config page. Both are the same but Repository runs on a docker container from the image with powa-archivist

sajiljosephs commented 1 year ago

I could see the results after a restart of collector and web. Thanks you may close it now. But it still shows a extension powa as disabled.

rjuju commented 1 year ago

Ok!

Note that there's a "reload collector" button on top of the UI that should do mostly the same as restarting powa-collector, it may have been enough to use it.

For powa extension being disabled, if you mean the last part (sampled) being disabled, that's expected: it's not a "stat extension". The upcoming version will change things for extension, and will display separately "stat extensions" from other "additional extensions", like powa or hypopg.

sajiljosephs commented 1 year ago

There were no errors while it was running locally. When we have the remote setup with a dedicated db on a docker container we seems to see some errors and the charts also is missing. Can you have a check on this ?

I dont see any errors in powa-web, powa-collector and powa-archivist

Query to register the remote machine is below:

SELECT powa_register_server(hostname => '127.0.0.1',     alias => 'Postgresql',     username => 'powa',     password => 'powapass',                                                                       port => '5432',     extensions => '{pg_stat_statements,powa,pg_stat_kcache,pg_qualstats,pg_wait_sampling}');

Screenshot from 2023-05-12 10-40-40

Can this error be related with this disabled extensions ?

rjuju commented 1 year ago

I don't think so, this part of the code is to show the config changes retrieved by pg_track_settings, so it can only lead to the timeline bar displaying such events, if any, to be missing.

The info in the remote server config page is directly retrieved by an sql query, so since you have information displayed the query did run normally.

we seems to see some errors and the charts also is missing.

What errors? Are all the charts missing or just some of them?

sajiljosephs commented 1 year ago

What errors? Are all the charts missing or just some of them? > Only few charts seems to be missing. For new queries could see the charts. Also can you see the attachment showing JS error ? Screenshot from 2023-05-12 10-40-40

rjuju commented 1 year ago

For new queries could see the charts

Are you saying that only the charts for "older queries" don't have any data? Are you sure that those queries were executed during the interval you're viewing? In the screenshot you're showing the chart isn't missing at least.

Also can you see the attachment showing JS error ?

Yes, and I answered already:

I don't think so, this part of the code is to show the config changes retrieved by pg_track_settings, so it can only lead to the timeline bar displaying such events, if any, to be missing.

That being said, it's unclear to me how you can get this error as either the powa-web frontend code should know about update_timeline or not, but not be in a situation where it knows about it but that function doesn't exist.

Could you try setting up powa normally rather than using container images? As mentioned in the project those are not really meant for production used, and since I myself don't use them there might be problems with them. At least if that solves the problem it will be clearer where to look.

sajiljosephs commented 1 year ago

I have setup powa normally and could see the same error in JS. Please find the screenshot. So it isnt container specific.

Screenshot from 2023-05-12 12-24-36

rjuju commented 1 year ago

I also tried locally with the same parameters and reproduce the js error and the disabled powa extension.

Now:

extensions => '{pg_stat_statements,powa,pg_stat_kcache,pg_qualstats,pg_wait_sampling}');

Since you don't install pg_track_setting, the timeline isn't going to work anyway. I don't know if that's a side effect of not having pg_track_settings installed or not, but since the UI is being totally rewritten for v5 and it doesn't seem like causing any side effect we won't fix this any time before.

I'm also unsure of why the powa extension is marked as disabled, but this part is also being totally rewritten in the upcoming v5, and evidently it doesn't cause any problem since you have powa on the remote database and it can be used to get the data it also won't be fixed before v5.

Apart from that the UI is working as expected as far as I can see, so unless you have something really important (like graphs or charts) actually broken I don't think there's anything that will be done in the current 4.2.x versions.

rjuju commented 1 year ago

FTR this is fixed in the upcoming v5.