microsoft / devhome

The new Dev Home experience for Windows!
https://aka.ms/devhomedocs
MIT License
3.47k stars 302 forks source link

Enhanced Server Monitoring Widget with SSH Keyring Integration #1361

Open Shra1V32 opened 11 months ago

Shra1V32 commented 11 months ago

Suggested new feature or improvement

I would like to propose a new feature for Windows that involves the development of an enhanced Server Monitoring Widget using the SSH keyring support. This feature would provide users with a secure and efficient way to monitor the status of their remote servers using SSH connections.

Scenario

In this scenario, Windows users who need to monitor the status of their remote servers want a more secure and efficient way to do so. They are already familiar with SSH key authentication and value tools that enhance their productivity and streamline their workflow.

The proposed Server Monitoring Widget with SSH Keyring Integration addresses this need by providing users with a dedicated widget on the Windows. This widget allows users to monitor the status of their remote servers that are accessed via SSH connections. The integration with SSH keyrings enhances security and convenience during the authentication process.

There's also a good possibility for a button on "Establish SSH Connection" where user can instantly connect with one button. One widget helpful for many such things.

Additional details

No response

Shra1V32 commented 11 months ago

@krschau May I create a Draft PR to this?

crutkas commented 10 months ago

hi @Shra1V32 can you help me better understand a bit more about this and what you're proposing? What would the UX be inside the widget?

crutkas commented 10 months ago

/needinfo

Shra1V32 commented 10 months ago

hi @Shra1V32 can you help me better understand a bit more about this and what you're proposing? What would the UX be inside the widget?

Sure, So as we already have SSH Wallet & CPU Stats Widgets, It's now easier to manage our servers using the already authorized keys (Public keys), We can use the same data from the keyring to connect to our server & monitor the CPU Usage, Network Usage, etc. (I don't know if it is possible for Windows Servers, But for Linux it's definitely possible to get the CPU Values with a script). So, for now, The CPU Usage, Network info is fine enough for me.

Coming to the Draft PR, Yeah I've tried making a contribution to this one, But I've wasted my time using SSH.NET and Renci. Finally, I had to use Process for connecting to the server, and then basically run a shell script that outputs a JSON format. Use this data to plot the graph. It worked fine for me but needs a more generic implementation.

Personally, For me it's very helpful because I usually compile AOSP Projects. Just by looking at the CPU Stats I can easily know whether build is ongoing or has failed.

Reference