PowerShellのユニバーサルダッシュボード:インタラクティブダッシュボードを作る
16670 ワード
PowerShellのユニバーサルダッシュボード
PowerShell Universal Dashboard 非常にクールなPowerShellモジュールであり、最も興味深いオープンソースプロジェクトの一つです.
それはあなただけのPowerShellのコマンドを使用して、あなたのITシステムのためのWebベース、美しい、インタラクティブなダッシュボードを作成することができます.
それはあなたのシステムを追跡する監視ダッシュボードを設定するための素晴らしい作品.
It's every sysadmin's dream to have a big screen in their office where they can see the status of their systems.
を作りましょう
私たちがツールを知ることができるようにビジネスに降りて、簡単なダッシュボードをセットアップしましょう.
に沿って以下にPowerShellinstructions 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
パッケージをパースし、データをパースします.
チャート
もう一つの本当に便利なコンポーネントは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システムのためにそれを適応させることができます.
そして、あなたはそれを持っている!かなりクールな良いダッシュボード.今すぐ自分で壁に大きな画面を取得し、それを表示します.
探検する
これらの例は、このフレームワークができることのほんの一部です.また、単純な残りの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