A newbie need clarity in PMM 2 usage

Hi dear friends,
Iam new to pmm2 and have tried to use pmm2 for a few days, but found some feathers are weird which makes me very confused, pls help to clarity.
1. "pmm-admin config " will overwrite the original settings? Is this a feature or bug?
I followed instructions on Percona Monitoring and Management, and use docker to do my tests.
export DATA_DIR=$HOME/srv
docker run -v $DATA_DIR/srv:/srv -d --restart always --publish 80:80 --publish 443:443 --name pmm-server percona/pmm-server:2
After I run up pmm-server, i use web ui to add some mysql services,
then I log into pmm-server container with this command,
docker exec -it pmm-server bash
After I run the following command, it registered a new node and all my mysql services above were failed. I think this is will be a risk when using on production.
pmm-admin config --server-insecure-tls --server-url=https://admin:123456@127.0.0.1:443
So, my questions is, why dont pmm2 make some checking preventing the settings from being overwroted?

2. If I want to get system info like cpu/memory/disk, do I need to install pmm-agents on each server?
Since I dont want any invasions in my mysql servers. In official docs, I didnt see any instructions on this: how many agents we need? what is the best topology using pmm2? how many services could register to an agent/node etc. What i saw in the pictures there is only one agent in the topology.

3.When my agent stops, I dont see any notifications on dashboard. I would like to see a lastest updated timestamp on dashboard.

Thanks for all your time.

Hello @toff,

docker exec -it pmm-server bash

This is not necessary. You should never need to shell into the PMM Server container. Once the PMM Server is running, all operations happen either from the web UI, or from client machines.

pmm-admin config --server-insecure-tls --server-url=https://admin:123456@127.0.0.1:443

This should be ran on each MySQL server, not from inside the PMM Server container.

If I want to get system info like cpu/memory/disk, do I need to install pmm-agents on each server?

Correct. This is very standard for any company that wants to monitor their systems. You need to SSH to each MySQL server, install pmm2-client, run the config, then add mysql. This will automatically add cpu/memory/disk monitoring for that host.

When my agent stops, I dont see any notifications on dashboard. I would like to see a lastest updated timestamp on dashboard.

This is a good feature request that I will pass along to the team.

@matthewb Hello Matthewb, thanks for your clarification.
But what if i want to monitor a mysql server without installing a agent on that host?
I have tried to add a mysql service via web UI with performance_schema as datasource , but it doesnt satisfy me due to some performance_schema settings. cos I dont want to restart mysql server.
Even if I uncheck “performance_schema” on webUI, It doest automatically create a slowlog service.
That’s why i logged into pmm-server container to add a slowlog service.
Do you have any other options?
Thanks a lot!

Then you use the UI and ‘Add Remote MySQL’. When using this method you will NOT get CPU/Memory/Disk. The only way to get those metrics is using the agent. The agent is the most common way to use PMM.

The performance_schema is enabled by default starting in MySQL 5.7. You should not need to restart MySQL unless you previously turned it off.

Correct because the PMM agent must be initialized to use a specific source for query data. Additionally, you must configure MySQL to use the slow log.