Need help in creating application healthcheck dashboard

Hi guys,

Hope you are doing great. I am new to powershell universal dashboard. I am not sure how to start for my project. Here is the requirement.

I have 100 applications… which are in csv with application, owner, environment etc.
first page it should show all the application list and make them searchable. Each one should be a hyperlink.
Once the application is clicked, it should show all the servers for that application with the monitoring data like disk space, memory, cpu usage,network data, application service status. It would also be helpful if we can calculate the applicaiton health status like green, red, yellow based on these servers data.
I tried to check how to import the servers but not getting imported or able to display that in dashboard. need your help badly.

Hi @vishnu
Welcome to the UD forums!
Share your current code and i’ll try to be of guidance!

Hi @vishnu just to second @BoSen29 beating me with a time difference advantage…but welcome to the world of UD forums I hope this first post is not your last post…If you are new to universal dashboard have you checked www.poshud.com which has some great examples with code of the UD components and how to use them…then to beef up even more head over to youtube.com and type in “Adam Driscoll” and check out the UD videos he has kindly posted…there are also some great blogs @adam has written here:- https://poshtools.com/blog/ lastly there is a ton of information on this site…ok with that out the way, if I am reading it right, you want to display a GRID from the CSV file with a button to then open a new page showing you the servers on that item you selected monitoring various aspects? Just want to be on the same page…Thanks

1 Like

Hi Vishnu,

Welcome to this community. Being a newbie to this and as @psDevUK suggested check out poshud site, for live demo check Adam Driscoll . If you are not familiar with UD components, would highly suggested to get familiarize yourself what UD has to offer before you start on your project. Once you are aware of it component, have layout of how you want to design your dashboard, it will be easy in long run. Start bit by bit.

In starting I picked up some code from forums and started working on it. but as I progress I came to know more components which were more suitable for my requirement and had to rework again.

UD is like Fast & Furious movie series, you think ok tanks are here in next car jumping out of plane. You think what they can do more then boom submarine, car falling from buildings. Same way as UD is getting mature lots of new enhancement, features are being added to it.

If you ran into issues UD Guru’s @adam @BoSen29 @psDevUK and many more are here to help. Caution: Don’t get caught up with @psDevUK Sparkles His showoff will make your Dashboard look dull. :smile:

“I tried to check how to import the servers but not getting imported or able to display that in dashboard.”

Here is a sample of how to get csv data in grid.

If (-Not (Get-Module UniversalDashboard.Community -ErrorAction SilentlyContinue)) {
Import-Module UniversalDashboard.Community
}

$HomePage = New-UDPage -Name “HomePage” -Title “HomePage” -Icon home -Content {
New-UDRow -Columns {
New-UDGrid -Title “Service Status” -PageSize 25 -Headers @(“DisplayName”, “Status”) -Properties @(“DisplayName”, “Status”) -Endpoint {
$import = Import-Csv -Delimiter ‘^’ -Path “C:\service.csv”
$import | ForEach-Object {
$BgColor = ‘White’
FontColor = 'Black' if (_.Status -ne ‘Running’) {
$BgColor = ‘red’
$FontColor = ‘White’
}

                    [PSCustomObject]@{
                        DisplayName   = $_.DisplayName.ToString()
                        Status        = New-UDElement -Tag 'div' -Attributes @{ style = @{ 'backgroundColor' = $BgColor; color = $fontColor } } -Content { $_.Status.ToString() }
                    }
                } | Out-UDGridData
    }
}

}

$Theme = Get-UDTheme Darkdefault
$Dashboard = New-UDDashboard -Title “Service Status” -Pages @($HomePage) -Theme $Theme
Start-UDDashboard -Name “Status” -Port 10002 -Dashboard $Dashboard -AutoReload

Input file: Get-Service | Select-Object DisplayName, Status | Export-Csv -Delimiter ‘^’ -Path “C:\service.csv”

3 Likes