PowerShell 범용 대시보드: 대화형 대시보드 만들기
16915 단어 reactmonitoringpowershelldashboard
PowerShell 범용 대시보드
PowerShell Universal Dashboard은 매우 멋진 PowerShell 모듈이며 제가 접한 가장 흥미로운 오픈 소스 프로젝트 중 하나입니다.
PowerShell 명령만 사용하여 IT 시스템을 위한 웹 기반의 아름다운 대화형 대시보드를 만들 수 있습니다.
시스템을 추적하기 위해 모니터링 대시보드를 설정하는 데 유용합니다.
It's every sysadmin's dream to have a big screen in their office where they can see the status of their systems.
하나 만들자
본론으로 들어가 도구에 대해 알아볼 수 있도록 간단한 대시보드를 설정해 보겠습니다.
(따라 하려면 PowerShell 5 이상이 필요하고 모듈instructions on how to install을 따라야 합니다.)
dashboard.ps1
파일을 만들고 다음 코드를 추가합니다.
$dashboard = New-UDDashboard -Title "DevTo Dashboard" -Content{
New-UDHeading -Text "DevTo"
}
Start-UDDashboard -Dashboard $dashboard -Port 1000 -AutoReload
여기서는 대시보드 개체를 만들고 머리글을 추가합니다.
이 파일을 실행한 후 모든 것이 올바르다면 다음과 같은 결과가 표시되어야 합니다.
Name Port Running
--------- ---- -------
Dashboard2 1000 True
그리고 대시보드는 http://localhost:1000에서 사용할 수 있어야 합니다.
이제 더 시원하게 만들고 다른 테마를 추가해 보겠습니다. 저는 특히 기본 제공 Azure 테마를 좋아합니다.
$theme = Get-UDTheme -Name 'Azure'
$dashboard = New-UDDashboard -Title "DevTo Dashboard" -Theme $theme -Content{
New-UDHeading -Text "DevTo"
}
...
훨씬 시원해졌죠?
모니터링
PowerShell 범용 대시보드에는 시간 경과에 따라 데이터를 추적하는 특정 유형의 차트인 monitor이라는 구성 요소가 있습니다. 예를 들어 CPU 또는 메모리 사용량을 표시하는 데 사용할 수 있습니다.
$theme = Get-UDTheme -Name 'Azure'
$dashboard = New-UDDashboard -Title "DevTo Dashboard" -Theme $theme -Content{
New-UdMonitor -Title "CPU (% processor time)" -Type Line -DataPointHistory 20 -RefreshInterval 10 -ChartBackgroundColor '#80FF6B63' -ChartBorderColor '#FFFF6B63' -Endpoint {
try {
Get-Counter '\Processor(_Total)\% Processor Time' -ErrorAction SilentlyContinue | Select-Object -ExpandProperty CounterSamples | Select-Object -ExpandProperty CookedValue | Out-UDMonitorData
}
catch {
0 | Out-UDMonitorData
}
}
}
Start-UDDashboard -Dashboard $dashboard -Port 1000 -AutoReload
기본적으로 여기서 수행하는 작업은 Get-Counter cmdlet을 사용하여 Windows 성능 모니터링 도구에서 실시간 데이터를 가져온 다음 이 정보를 모니터에서 읽을 수 있는 데이터로 변환하는 Out-UDMonitorData
를 통해 파이핑하는 것입니다.
Un*x 사용자: 이 특정 명령은 Windows에서만 작동하므로 CPU 데이터를 가져오려면 다른 전략을 찾아야 합니다.mpstat
패키지의 sysstat
명령을 사용한 다음 Powershell로 데이터를 구문 분석해 보십시오.
차트
정말 유용한 또 다른 구성 요소는 charts 입니다. 모든 종류의 데이터를 막대, 선, 도넛 또는 원형 차트로 표시할 수 있습니다. Chart.js library 로 제작되었기 때문에 매우 사용자 정의가 가능하고 사용하기 쉽습니다.
예를 들어 도넛형 차트를 사용하여 사용한 디스크 공간과 사용 가능한 디스크 공간을 표시할 수 있습니다.
$theme = Get-UDTheme -Name 'Azure'
$dashboard = New-UDDashboard -Title "DevTo Dashboard" -Theme $theme -Content{
New-UDChart -Title "Disk Space" -Type Doughnut -RefreshInterval $refreshRate -Endpoint {
try {
Get-CimInstance -ClassName Win32_LogicalDisk | Where-Object {$_.DriveType -eq '3'} | Select-Object -First 1 -Property DeviceID,Size,FreeSpace | ForEach-Object {
@([PSCustomObject]@{
Label = "Used Space"
Data = [Math]::Round(($_.Size - $_.FreeSpace) / 1GB, 2);
},
[PSCustomObject]@{
Label = "Free Space"
Data = [Math]::Round($_.FreeSpace / 1GB, 2);
}) | Out-UDChartData -DataProperty "Data" -LabelProperty "Label" -BackgroundColor @("#80FF6B63","#8028E842") -HoverBackgroundColor @("#80FF6B63","#8028E842") -BorderColor @("#80FF6B63","#8028E842") -HoverBorderColor @("#F2675F","#68e87a")
}
}
catch {
0 | Out-UDChartData -DataProperty "Data" -LabelProperty "Label"
}
}
}
Start-UDDashboard -Dashboard $dashboard -Port 1000 -AutoReload
이제 대시보드에서 모니터와 차트를 모두 연결할 수 있습니다. 이제 대시보드는 다음과 같이 표시됩니다. 꽤 멋진 훈? 😃
Un*x 사용자: 이것은 Windows에서만 작동하지만 쉽게 해결하고 Un*x 시스템에 맞게 조정할 수 있습니다.
그리고 당신은 그것을 가지고 있습니다! 꽤 멋지고 보기 좋은 대시보드. 이제 벽에 큰 화면을 설치하고 표시하십시오.
탐구하다
이러한 예는 이 프레임워크가 수행할 수 있는 작업의 일부에 불과합니다. 또한 간단한 REST API를 구축하고, 여러 페이지를 동적으로 회전하고, 작성할 입력 양식과 기타 많은 구성 요소를 가질 수 있습니다.
당신이 할 수 있는 가장 좋은 일은 스스로 확인하는 것입니다. 그들은 꽤 좋습니다documentation .
이 도구가 저만큼 흥미롭고 유용하다고 느끼셨기를 바랍니다.
이 PowerShell 모듈에 대해 어떻게 생각하십니까? 이 도구를 사용한 경우 의견에 방법을 알려주십시오. :)
Reference
이 문제에 관하여(PowerShell 범용 대시보드: 대화형 대시보드 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/jcoelho/powershell-universal-dashboard-making-interactive-dashboards-9kl
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
It's every sysadmin's dream to have a big screen in their office where they can see the status of their systems.
$dashboard = New-UDDashboard -Title "DevTo Dashboard" -Content{
New-UDHeading -Text "DevTo"
}
Start-UDDashboard -Dashboard $dashboard -Port 1000 -AutoReload
Name Port Running
--------- ---- -------
Dashboard2 1000 True
$theme = Get-UDTheme -Name 'Azure'
$dashboard = New-UDDashboard -Title "DevTo Dashboard" -Theme $theme -Content{
New-UDHeading -Text "DevTo"
}
...
$theme = Get-UDTheme -Name 'Azure'
$dashboard = New-UDDashboard -Title "DevTo Dashboard" -Theme $theme -Content{
New-UdMonitor -Title "CPU (% processor time)" -Type Line -DataPointHistory 20 -RefreshInterval 10 -ChartBackgroundColor '#80FF6B63' -ChartBorderColor '#FFFF6B63' -Endpoint {
try {
Get-Counter '\Processor(_Total)\% Processor Time' -ErrorAction SilentlyContinue | Select-Object -ExpandProperty CounterSamples | Select-Object -ExpandProperty CookedValue | Out-UDMonitorData
}
catch {
0 | Out-UDMonitorData
}
}
}
Start-UDDashboard -Dashboard $dashboard -Port 1000 -AutoReload
$theme = Get-UDTheme -Name 'Azure'
$dashboard = New-UDDashboard -Title "DevTo Dashboard" -Theme $theme -Content{
New-UDChart -Title "Disk Space" -Type Doughnut -RefreshInterval $refreshRate -Endpoint {
try {
Get-CimInstance -ClassName Win32_LogicalDisk | Where-Object {$_.DriveType -eq '3'} | Select-Object -First 1 -Property DeviceID,Size,FreeSpace | ForEach-Object {
@([PSCustomObject]@{
Label = "Used Space"
Data = [Math]::Round(($_.Size - $_.FreeSpace) / 1GB, 2);
},
[PSCustomObject]@{
Label = "Free Space"
Data = [Math]::Round($_.FreeSpace / 1GB, 2);
}) | Out-UDChartData -DataProperty "Data" -LabelProperty "Label" -BackgroundColor @("#80FF6B63","#8028E842") -HoverBackgroundColor @("#80FF6B63","#8028E842") -BorderColor @("#80FF6B63","#8028E842") -HoverBorderColor @("#F2675F","#68e87a")
}
}
catch {
0 | Out-UDChartData -DataProperty "Data" -LabelProperty "Label"
}
}
}
Start-UDDashboard -Dashboard $dashboard -Port 1000 -AutoReload
Reference
이 문제에 관하여(PowerShell 범용 대시보드: 대화형 대시보드 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jcoelho/powershell-universal-dashboard-making-interactive-dashboards-9kl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)