2026-10-20 16:13:34 +09:00
|
|
|
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
2026-10-20 20:48:08 +09:00
|
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
|
|
|
Background="{StaticResource BgDarkBrush}">
|
2026-10-20 16:13:34 +09:00
|
|
|
<Grid Margin="24">
|
|
|
|
|
<Grid.RowDefinitions>
|
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
|
|
|
|
|
|
<!-- View Header -->
|
|
|
|
|
<StackPanel Grid.Row="0" Margin="0,0,0,24">
|
|
|
|
|
<TextBlock Text="인프라 종합 대시보드" FontSize="24" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" />
|
|
|
|
|
<TextBlock Text="Active Directory, NetApp 스토리지, MS SQL 데이터베이스 전반의 실시간 상태를 모니터링합니다."
|
|
|
|
|
FontSize="13" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,4,0,0" />
|
|
|
|
|
</StackPanel>
|
|
|
|
|
|
|
|
|
|
<!-- KPI Summary Cards Grid -->
|
|
|
|
|
<Grid Grid.Row="1" Margin="0,0,0,20">
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
|
|
|
|
<!-- Card 1: Active Directory -->
|
|
|
|
|
<Border Grid.Column="0" Style="{StaticResource ModernCardStyle}">
|
|
|
|
|
<StackPanel>
|
|
|
|
|
<Grid>
|
|
|
|
|
<TextBlock Text="Active Directory" FontSize="13" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}" />
|
|
|
|
|
<TextBlock Text="" FontFamily="{StaticResource IconFont}" FontSize="18" HorizontalAlignment="Right" Foreground="#60A5FA" />
|
|
|
|
|
</Grid>
|
|
|
|
|
<TextBlock Text="1,420" FontSize="28" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,8,0,2" />
|
|
|
|
|
<StackPanel Orientation="Horizontal">
|
|
|
|
|
<Border Background="#10B981" CornerRadius="4" Padding="6,2" Margin="0,0,6,0">
|
|
|
|
|
<TextBlock Text="정상" FontSize="11" FontWeight="Bold" Foreground="White" />
|
|
|
|
|
</Border>
|
|
|
|
|
<TextBlock Text="잠김 2건 / 비활성 18건" FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center" />
|
|
|
|
|
</StackPanel>
|
|
|
|
|
</StackPanel>
|
|
|
|
|
</Border>
|
|
|
|
|
|
|
|
|
|
<!-- Card 2: NetApp Qtree & Volume -->
|
|
|
|
|
<Border Grid.Column="1" Style="{StaticResource ModernCardStyle}">
|
|
|
|
|
<StackPanel>
|
|
|
|
|
<Grid>
|
|
|
|
|
<TextBlock Text="NetApp Qtree / 볼륨" FontSize="13" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}" />
|
|
|
|
|
<TextBlock Text="" FontFamily="{StaticResource IconFont}" FontSize="18" HorizontalAlignment="Right" Foreground="#34D399" />
|
|
|
|
|
</Grid>
|
|
|
|
|
<TextBlock Text="84 / 12 개" FontSize="28" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,8,0,2" />
|
|
|
|
|
<StackPanel Orientation="Horizontal">
|
|
|
|
|
<TextBlock Text="전체 스토리지 사용률: " FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" />
|
|
|
|
|
<TextBlock Text="68.4%" FontSize="12" FontWeight="SemiBold" Foreground="#34D399" />
|
|
|
|
|
</StackPanel>
|
|
|
|
|
</StackPanel>
|
|
|
|
|
</Border>
|
|
|
|
|
|
|
|
|
|
<!-- Card 3: Quota & Shares -->
|
|
|
|
|
<Border Grid.Column="2" Style="{StaticResource ModernCardStyle}">
|
|
|
|
|
<StackPanel>
|
|
|
|
|
<Grid>
|
|
|
|
|
<TextBlock Text="Quota 및 공유 (CIFS/NFS)" FontSize="13" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}" />
|
|
|
|
|
<TextBlock Text="" FontFamily="{StaticResource IconFont}" FontSize="18" HorizontalAlignment="Right" Foreground="#FBBF24" />
|
|
|
|
|
</Grid>
|
|
|
|
|
<TextBlock Text="48 개 Share" FontSize="28" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,8,0,2" />
|
|
|
|
|
<StackPanel Orientation="Horizontal">
|
|
|
|
|
<Border Background="#F59E0B" CornerRadius="4" Padding="6,2" Margin="0,0,6,0">
|
|
|
|
|
<TextBlock Text="경고" FontSize="11" FontWeight="Bold" Foreground="Black" />
|
|
|
|
|
</Border>
|
|
|
|
|
<TextBlock Text="Quota 90% 초과 3건" FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center" />
|
|
|
|
|
</StackPanel>
|
|
|
|
|
</StackPanel>
|
|
|
|
|
</Border>
|
|
|
|
|
|
|
|
|
|
<!-- Card 4: MS SQL DB -->
|
|
|
|
|
<Border Grid.Column="3" Style="{StaticResource ModernCardStyle}">
|
|
|
|
|
<StackPanel>
|
|
|
|
|
<Grid>
|
|
|
|
|
<TextBlock Text="MS SQL 데이터베이스" FontSize="13" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}" />
|
|
|
|
|
<TextBlock Text="" FontFamily="{StaticResource IconFont}" FontSize="18" HorizontalAlignment="Right" Foreground="#A78BFA" />
|
|
|
|
|
</Grid>
|
|
|
|
|
<TextBlock Text="16 DBs" FontSize="28" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,8,0,2" />
|
|
|
|
|
<StackPanel Orientation="Horizontal">
|
|
|
|
|
<Border Background="#10B981" CornerRadius="4" Padding="6,2" Margin="0,0,6,0">
|
|
|
|
|
<TextBlock Text="온라인" FontSize="11" FontWeight="Bold" Foreground="White" />
|
|
|
|
|
</Border>
|
|
|
|
|
<TextBlock Text="최근 백업 정상 완료" FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center" />
|
|
|
|
|
</StackPanel>
|
|
|
|
|
</StackPanel>
|
|
|
|
|
</Border>
|
|
|
|
|
</Grid>
|
|
|
|
|
|
|
|
|
|
<!-- Bottom Layout: Recent Activities & Quick Launcher -->
|
|
|
|
|
<Grid Grid.Row="2">
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
<ColumnDefinition Width="2*" />
|
|
|
|
|
<ColumnDefinition Width="1*" />
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
|
|
|
|
<!-- Activity Log Card -->
|
|
|
|
|
<Border Grid.Column="0" Style="{StaticResource ModernCardStyle}">
|
|
|
|
|
<Grid>
|
|
|
|
|
<Grid.RowDefinitions>
|
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
|
|
|
|
|
|
<DockPanel Grid.Row="0" Margin="0,0,0,14">
|
|
|
|
|
<TextBlock Text="최근 시스템 감사 및 관리 이력" FontSize="15" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" VerticalAlignment="Center" />
|
|
|
|
|
<Button Content="새로고침" Style="{StaticResource SecondaryButtonStyle}" HorizontalAlignment="Right" Padding="10,4" />
|
|
|
|
|
</DockPanel>
|
|
|
|
|
|
|
|
|
|
<DataGrid x:Name="ActivityGrid" Grid.Row="1" Style="{StaticResource ModernDataGridStyle}">
|
|
|
|
|
<DataGrid.Columns>
|
|
|
|
|
<DataGridTextColumn Header="발생 시각" Binding="{Binding Timestamp}" Width="140" />
|
|
|
|
|
<DataGridTextColumn Header="대상 시스템" Binding="{Binding TargetSystem}" Width="120" />
|
|
|
|
|
<DataGridTextColumn Header="작업 유형" Binding="{Binding ActionType}" Width="140" />
|
|
|
|
|
<DataGridTextColumn Header="세부 내용" Binding="{Binding Description}" Width="*" />
|
|
|
|
|
<DataGridTextColumn Header="결과" Binding="{Binding Status}" Width="80" />
|
|
|
|
|
</DataGrid.Columns>
|
|
|
|
|
</DataGrid>
|
|
|
|
|
</Grid>
|
|
|
|
|
</Border>
|
|
|
|
|
|
|
|
|
|
<!-- Quick Actions Card -->
|
|
|
|
|
<Border Grid.Column="1" Style="{StaticResource ModernCardStyle}">
|
|
|
|
|
<StackPanel>
|
|
|
|
|
<TextBlock Text="빠른 작업 바로가기" FontSize="15" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,0,0,16" />
|
|
|
|
|
|
|
|
|
|
<Button Content=" AD 계정 신규 생성 / 잠금 해제" Style="{StaticResource SecondaryButtonStyle}"
|
|
|
|
|
HorizontalContentAlignment="Left" Margin="0,0,0,10" Padding="12,10" x:Name="QuickBtnAD" />
|
|
|
|
|
|
|
|
|
|
<Button Content=" NetApp Quota 용량 증설 요청" Style="{StaticResource SecondaryButtonStyle}"
|
|
|
|
|
HorizontalContentAlignment="Left" Margin="0,0,0,10" Padding="12,10" x:Name="QuickBtnQuota" />
|
|
|
|
|
|
|
|
|
|
<Button Content=" 신규 CIFS/SMB 공유 생성" Style="{StaticResource SecondaryButtonStyle}"
|
|
|
|
|
HorizontalContentAlignment="Left" Margin="0,0,0,10" Padding="12,10" x:Name="QuickBtnShare" />
|
|
|
|
|
|
|
|
|
|
<Button Content=" SQL DB 즉시 백업 수행" Style="{StaticResource SecondaryButtonStyle}"
|
|
|
|
|
HorizontalContentAlignment="Left" Margin="0,0,0,10" Padding="12,10" x:Name="QuickBtnSql" />
|
|
|
|
|
|
|
|
|
|
<Separator Background="{StaticResource CardBorderBrush}" Margin="0,10,0,16" />
|
|
|
|
|
|
|
|
|
|
<!-- Connection Quick Status Box -->
|
|
|
|
|
<Border Background="#121A27" CornerRadius="6" Padding="12">
|
|
|
|
|
<StackPanel>
|
|
|
|
|
<TextBlock Text="시스템 연결 상태 요약" FontSize="12" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,8" />
|
|
|
|
|
<Grid Margin="0,2">
|
|
|
|
|
<TextBlock Text="Active Directory DC:" FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" />
|
|
|
|
|
<TextBlock Text="정상 연결" FontSize="12" Foreground="#10B981" HorizontalAlignment="Right" />
|
|
|
|
|
</Grid>
|
|
|
|
|
<Grid Margin="0,2">
|
|
|
|
|
<TextBlock Text="NetApp ONTAP API:" FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" />
|
|
|
|
|
<TextBlock Text="정상 연결" FontSize="12" Foreground="#10B981" HorizontalAlignment="Right" />
|
|
|
|
|
</Grid>
|
|
|
|
|
<Grid Margin="0,2">
|
|
|
|
|
<TextBlock Text="MS SQL Server:" FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" />
|
|
|
|
|
<TextBlock Text="정상 연결" FontSize="12" Foreground="#10B981" HorizontalAlignment="Right" />
|
|
|
|
|
</Grid>
|
|
|
|
|
</StackPanel>
|
|
|
|
|
</Border>
|
|
|
|
|
</StackPanel>
|
|
|
|
|
</Border>
|
|
|
|
|
</Grid>
|
|
|
|
|
</Grid>
|
|
|
|
|
</UserControl>
|