import { useTranslation } from 'react-i18next'; import { Card, CardContent, CardHeader, CardTitle } from '@shared/components/ui/card'; import { Badge } from '@shared/components/ui/badge'; import { PageContainer, PageHeader } from '@shared/components/layout'; import { getStatusIntent } from '@shared/constants/statusIntent'; import { Settings, Server, Shield, Database } from 'lucide-react'; /* * 시스템 관리 — 서버 상태, 디스크, 보안 설정 등 인프라 관리 */ const SERVER_STATUS = [ { name: 'WAS-01 (운영)', cpu: 42, mem: 65, disk: 38, status: '정상' }, { name: 'WAS-02 (이중화)', cpu: 18, mem: 32, disk: 38, status: '정상' }, { name: 'DB-01 (PostgreSQL)', cpu: 55, mem: 72, disk: 61, status: '정상' }, { name: 'DB-02 (TimescaleDB)', cpu: 48, mem: 68, disk: 55, status: '정상' }, { name: 'AI-Engine-01', cpu: 78, mem: 85, disk: 42, status: '주의' }, { name: 'File-NAS', cpu: 5, mem: 12, disk: 82, status: '경고' }, ]; function UsageBar({ value }: { value: number }) { const color = value > 80 ? 'bg-red-500' : value > 60 ? 'bg-yellow-500' : 'bg-green-500'; return (
{value}%
); } export function AdminPanel() { const { t } = useTranslation('admin'); return ( {/* 서버 상태 */}
{SERVER_STATUS.map((s) => (
{s.name}
{s.status}
CPU
MEM
DISK
))}
{/* 시스템 정보 */}
데이터베이스 {[['PostgreSQL', 'v15.4 운영중'], ['TimescaleDB', 'v2.12 운영중'], ['Redis 캐시', 'v7.2 운영중'], ['Kafka', 'v3.6 클러스터 3노드']].map(([k, v]) => (
{k}{v}
))}
보안 현황 {[['SSL 인증서', '2027-03-15 만료'], ['방화벽', '정상 동작'], ['IDS/IPS', '실시간 감시중'], ['백업', '금일 03:00 완료']].map(([k, v]) => (
{k}{v}
))}
); }