From 306ac00efe9b8a7e40e307c2c7d403faa90569a2 Mon Sep 17 00:00:00 2001 From: DmitriyA Date: Wed, 12 Mar 2025 17:29:36 -0400 Subject: [PATCH 1/7] =?UTF-8?q?=D0=9F=D1=80=D0=B8=D0=B2=D0=B5=D0=BB=20?= =?UTF-8?q?=D0=B3=D1=80=D0=B0=D1=84=20=D0=B2=20=D1=80=D0=B2=D0=B1=D0=BE?= =?UTF-8?q?=D1=87=D0=B5=D0=B5=20=D1=81=D0=BE=D1=81=D1=82=D0=BE=D1=8F=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5,=20=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5=D0=B9=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 25 ++-- src/Components/Layout/Dashboard.jsx | 2 +- src/Components/Layout/SidebarMenu.jsx | 41 ++++--- src/Components/TreeChart/TreeChart.jsx | 163 ++++++++++++++----------- src/Components/TreeChart/menuData.json | 48 +------- src/Style/SidebarMenu.css | 44 ++++++- src/Style/dark-theme.css | 2 + src/index.css | 24 ++-- 8 files changed, 189 insertions(+), 160 deletions(-) diff --git a/index.html b/index.html index e76ad2c..eefb518 100755 --- a/index.html +++ b/index.html @@ -1,13 +1,16 @@ - - - - - Модуль доверия - - -
- - - + + + + + + Модуль устойчивого функционирования + + + +
+ + + + \ No newline at end of file diff --git a/src/Components/Layout/Dashboard.jsx b/src/Components/Layout/Dashboard.jsx index d6f7b0b..de529ea 100644 --- a/src/Components/Layout/Dashboard.jsx +++ b/src/Components/Layout/Dashboard.jsx @@ -109,7 +109,7 @@ const Dashboard = () => { return (

Общий мониторинг состояния системы

- + diff --git a/src/Components/Layout/SidebarMenu.jsx b/src/Components/Layout/SidebarMenu.jsx index 5661716..f0273d2 100644 --- a/src/Components/Layout/SidebarMenu.jsx +++ b/src/Components/Layout/SidebarMenu.jsx @@ -7,25 +7,23 @@ const MenuItem = ({ item, onSelectItem, sidebarWidth }) => { const hasChildren = Array.isArray(item.items) && item.items.length > 0; const statusColor = getStatusColor(item.status); - // Обработчик одинарного клика (разворачивание/сворачивание или открытие элемента) const handleSingleClick = () => { if (hasChildren) { - setIsOpen(!isOpen); // Разворачиваем/сворачиваем дочерние элементы + setIsOpen(!isOpen); } else { - onSelectItem(item); // Если нет потомков, открываем элемент как вкладку + onSelectItem(item); } }; - // Обработчик клика для открытия родителя const handleOpenParent = (e) => { - e.stopPropagation(); // Останавливаем всплытие события, чтобы не сработал handleSingleClick - onSelectItem(item); // Открываем родителя + e.stopPropagation(); + onSelectItem(item); }; return ( -
{/* Динамическая ширина */} +
{/* Круглый индикатор статуса */} @@ -33,21 +31,26 @@ const MenuItem = ({ item, onSelectItem, sidebarWidth }) => { className={`status-indicator ${statusColor === "red" ? "blinking" : ""}`} style={{ backgroundColor: statusColor }} /> + {/* Текст элемента меню */} {item.title} - {/* Иконка для открытия родителя */} + {/* Иконки */} {hasChildren && ( - - 📂 - +
+ {/* Иконка для открытия родителя */} + + 📂 + + {/* Иконка для разворачивания/сворачивания */} + + {isOpen ? "▲" : "▼"} + +
)} - - {/* Иконка для разворачивания/сворачивания */} - {hasChildren && {isOpen ? "▲" : "▼"}}
{isOpen && hasChildren && (
diff --git a/src/Components/TreeChart/TreeChart.jsx b/src/Components/TreeChart/TreeChart.jsx index bad56f2..816d986 100644 --- a/src/Components/TreeChart/TreeChart.jsx +++ b/src/Components/TreeChart/TreeChart.jsx @@ -5,7 +5,6 @@ import { getStatusColor } from "./dataUtils"; const TreeChart = ({ data, onNodeClick }) => { const chartRef = useRef(); - const simulationRef = useRef(null); const nodePositions = useRef(new Map()); const { root, nodes, links } = useMemo(() => { @@ -23,22 +22,63 @@ const TreeChart = ({ data, onNodeClick }) => { target: d, })); - // Применяем сохраненные позиции к узлам + // Размещаем узлы иерархически + const center = { x: 0, y: 0 }; // Центральная точка + const baseRadius = 150; // Базовый радиус для 1-го уровня + const branchOffset = 80; // Смещение узлов вдоль ветки + const angleOffset = Math.PI / 4; // Угол смещения для дочерних ветвей + const spreadFactor = 1.5; // Коэффициент растяжения для последних узлов + nodes.forEach((node) => { const prev = nodePositions.current.get(node.data.id); if (prev) { node.x = prev.x; node.y = prev.y; - node.fx = prev.fx ?? null; - node.fy = prev.fy ?? null; } else { - const parent = node.parent; - node.x = parent ? parent.x + Math.random() * 50 - 25 : Math.random() * 1000; - node.y = parent ? parent.y + Math.random() * 50 - 25 : Math.random() * 1000; + if (node.depth === 0) { + // Центральный узел + node.x = center.x; + node.y = center.y; + } else if (node.depth === 1) { + // Первый уровень - равномерно по окружности + const parent = node.parent; + const index = parent.children.indexOf(node); + const totalSiblings = parent.children.length; + + const radius = baseRadius * node.depth; + const sectorAngle = (Math.PI * 2) / totalSiblings; + const angle = index * sectorAngle; + + node.x = parent.x + radius * Math.cos(angle); + node.y = parent.y + radius * Math.sin(angle); + node.angle = angle; // Запоминаем угол для веток + } else { + // Второй уровень и дальше - ветка растет в направлении родителя + const parent = node.parent; + const siblings = parent.children || []; + const index = siblings.indexOf(node); + const totalSiblings = siblings.length; + + const direction = parent.angle || 0; + const offsetAngle = ((index - (totalSiblings - 1) / 2) * angleOffset) / totalSiblings; + + let distance = branchOffset; + if (!node.children || node.children.length === 0) { + // Если это последний узел, увеличиваем расстояние + distance *= spreadFactor + node.depth * 0.2; // Чем глубже, тем больше разброс + } + + node.x = parent.x + distance * Math.cos(direction + offsetAngle); + node.y = parent.y + distance * Math.sin(direction + offsetAngle); + node.angle = direction + offsetAngle; + } } - nodePositions.current.set(node.data.id, { x: node.x, y: node.y, fx: node.fx, fy: node.fy }); + nodePositions.current.set(node.data.id, { x: node.x, y: node.y }); }); + + + return { root, nodes, links }; }, [data]); @@ -55,48 +95,26 @@ const TreeChart = ({ data, onNodeClick }) => { svg.append("g").attr("class", "nodes"); svg.append("g").attr("class", "labels"); - // Инициализация симуляции - simulationRef.current = d3.forceSimulation() - .force("link", d3.forceLink().id((d) => d.data.id).distance(80).strength(1)) - .force("charge", d3.forceManyBody().strength(-200)) - .force("center", d3.forceCenter(0, 0)) - .force("collision", d3.forceCollide().radius(20)) - .force("x", d3.forceX(0).strength(0.05)) - .force("y", d3.forceY(0).strength(0.05)) - .force("radial", d3.forceRadial(200, 0, 0).strength(0.02)) - .alphaDecay(0.02) - .alphaTarget(0.1); + // Очищаем предыдущие элементы + svg.selectAll(".links line").remove(); + svg.selectAll(".nodes circle").remove(); + svg.selectAll(".labels text").remove(); - // Запускаем симуляцию на 15 секунд, затем отключаем - setTimeout(() => { - if (simulationRef.current) { - simulationRef.current.stop(); // Останавливаем симуляцию - nodes.forEach((node) => { - node.fx = node.x; // Фиксируем текущие позиции узлов - node.fy = node.y; - }); - } - }, 15000); // 15 секунд - - }, []); - - useEffect(() => { - if (!root || !chartRef.current || !simulationRef.current) return; // Проверяем, что симуляция инициализирована - - const svg = d3.select(chartRef.current); + // Рисуем связи const linkGroup = svg.select(".links"); - const nodeGroup = svg.select(".nodes"); - const labelGroup = svg.select(".labels"); - - // Обновляем связи const link = linkGroup .selectAll("line") .data(links, (d) => `${d.source.data.id}-${d.target.data.id}`) .join("line") .attr("stroke", "#999") - .attr("stroke-opacity", 0.6); + .attr("stroke-opacity", 0.6) + .attr("x1", (d) => d.source.x) + .attr("y1", (d) => d.source.y) + .attr("x2", (d) => d.target.x) + .attr("y2", (d) => d.target.y); - // Обновляем узлы + // Рисуем узлы + const nodeGroup = svg.select(".nodes"); const node = nodeGroup .selectAll("circle") .data(nodes, (d) => d.data.id) @@ -104,6 +122,8 @@ const TreeChart = ({ data, onNodeClick }) => { .attr("fill", (d) => getStatusColor(d.data.status)) .attr("stroke", "#fff") .attr("r", 7) + .attr("cx", (d) => d.x) + .attr("cy", (d) => d.y) .call(drag()); node.on("click", (event, d) => { @@ -112,7 +132,8 @@ const TreeChart = ({ data, onNodeClick }) => { } }); - // Обновляем текстовые метки + // Рисуем текстовые метки + const labelGroup = svg.select(".labels"); const text = labelGroup .selectAll("text") .data(nodes, (d) => d.data.id) @@ -121,46 +142,42 @@ const TreeChart = ({ data, onNodeClick }) => { .attr("dx", 12) .attr("dy", 4) .style("user-select", "none") // Запрет выделения текста - .style("pointer-events", "none"); // Запрет взаимодействия с текстом - - // Обновляем симуляцию - simulationRef.current.nodes(nodes); - simulationRef.current.force("link").links(links); - simulationRef.current.alphaTarget(0.1).restart(); - - simulationRef.current.on("tick", () => { - link - .attr("x1", (d) => d.source.x) - .attr("y1", (d) => d.source.y) - .attr("x2", (d) => d.target.x) - .attr("y2", (d) => d.target.y); - - node - .attr("cx", (d) => d.x) - .attr("cy", (d) => d.y); - - text - .attr("x", (d) => d.x + 12) - .attr("y", (d) => d.y + 4); - }); + .style("pointer-events", "none") // Запрет взаимодействия с текстом + .style("fill", "var(--TreeChart-text-color)") // Используем переменную для цвета текста + .attr("x", (d) => d.x + 12) + .attr("y", (d) => d.y + 4); }, [root, links, nodes, onNodeClick]); const drag = () => { function dragstarted(event, d) { - if (!event.active && simulationRef.current) simulationRef.current.alphaTarget(0.3).restart(); - d.fx = d.x; - d.fy = d.y; + d3.select(this).raise().attr("stroke", "#000"); } function dragged(event, d) { - d.fx = event.x; - d.fy = event.y; + d.x = event.x; + d.y = event.y; + d3.select(this).attr("cx", d.x).attr("cy", d.y); + + // Обновляем текстовую метку + d3.select(this.parentNode) + .select("text") + .attr("x", d.x + 12) + .attr("y", d.y + 4); + + // Обновляем связи + d3.select(chartRef.current) + .selectAll(".links line") + .filter((link) => link.source === d || link.target === d) + .attr("x1", (link) => link.source.x) + .attr("y1", (link) => link.source.y) + .attr("x2", (link) => link.target.x) + .attr("y2", (link) => link.target.y); } function dragended(event, d) { - if (!event.active && simulationRef.current) simulationRef.current.alphaTarget(0); - nodePositions.current.set(d.data.id, { x: d.x, y: d.y, fx: d.fx, fy: d.fy }); + d3.select(this).attr("stroke", "#fff"); + nodePositions.current.set(d.data.id, { x: d.x, y: d.y }); } return d3.drag().on("start", dragstarted).on("drag", dragged).on("end", dragended); @@ -169,4 +186,4 @@ const TreeChart = ({ data, onNodeClick }) => { return ; }; -export default TreeChart; +export default TreeChart; \ No newline at end of file diff --git a/src/Components/TreeChart/menuData.json b/src/Components/TreeChart/menuData.json index 35530f8..e8b99e6 100644 --- a/src/Components/TreeChart/menuData.json +++ b/src/Components/TreeChart/menuData.json @@ -36,14 +36,6 @@ "id": "4", "title": "OS Linux (module$4) АО", "items": [ - { - "id": "188", - "title": "Наименование" - }, - { - "id": "189", - "title": "Время работы" - }, { "id": "190", "title": "Загрузка процессора за 1 минуту" @@ -153,21 +145,13 @@ ] }, { - "id": "261", + "id": "280", "title": "Сетевой адаптер №1 (port$261) Eth_1", "items": [ - { - "id": "206", - "title": "Наименование порта Eth_1" - }, { "id": "207", "title": "Скорость порта Eth_1" }, - { - "id": "208", - "title": "Физический адрес порта Eth_1" - }, { "id": "209", "title": "Административное состояние порта Eth_1" @@ -227,21 +211,13 @@ ] }, { - "id": "262", + "id": "281", "title": "Сетевой адаптер №2 (port$262) Eth_2", "items": [ - { - "id": "223", - "title": "Наименование порта Eth_2" - }, { "id": "224", "title": "Скорость порта Eth_2" }, - { - "id": "225", - "title": "Физический адрес порта Eth_2" - }, { "id": "226", "title": "Административное состояние порта Eth_2" @@ -301,21 +277,13 @@ ] }, { - "id": "263", + "id": "282", "title": "Сетевой адаптер №3 (port$263) Eth_3", "items": [ - { - "id": "240", - "title": "Наименование порта Eth_3" - }, { "id": "241", "title": "Скорость порта Eth_3" }, - { - "id": "242", - "title": "Физический адрес порта Eth_3" - }, { "id": "243", "title": "Административное состояние порта Eth_3" @@ -375,21 +343,13 @@ ] }, { - "id": "264", + "id": "283", "title": "Сетевой адаптер №4 (port$264) Eth_4", "items": [ - { - "id": "257", - "title": "Наименование порта Eth_4" - }, { "id": "258", "title": "Скорость порта Eth_4" }, - { - "id": "259", - "title": "Физический адрес порта Eth_4" - }, { "id": "260", "title": "Административное состояние порта Eth_4" diff --git a/src/Style/SidebarMenu.css b/src/Style/SidebarMenu.css index bbfc484..66cc367 100644 --- a/src/Style/SidebarMenu.css +++ b/src/Style/SidebarMenu.css @@ -3,7 +3,6 @@ height: 100vh; background-color: var(--sidebar-color); color: var(--sidebar-text-color); - /* Используем переменную для цвета текста */ position: fixed; left: 0; top: 0; @@ -20,6 +19,8 @@ overflow-y: auto; overflow-x: hidden; padding-bottom: 20px; + padding-right: 10px; + /* Отступ справа для скроллбара */ } /* Заголовок меню */ @@ -28,7 +29,6 @@ font-size: 18px; font-weight: bold; color: var(--sidebar-text-color); - /* Используем переменную для цвета текста */ padding: 10px; } @@ -36,7 +36,6 @@ .menu-item { margin-bottom: 10px; color: var(--sidebar-text-color); - /* Используем переменную для цвета текста */ width: 100%; } @@ -57,13 +56,42 @@ background-color: rgba(255, 255, 255, 0.3); } +/* Стили для заголовка элемента меню */ .menu-item-header { display: flex; align-items: center; + justify-content: space-between; + /* Распределяем пространство между элементами */ padding: 10px; border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease; + width: 100%; + /* Занимаем всю доступную ширину */ + box-sizing: border-box; + /* Учитываем padding в ширине */ +} + +/* Стили для текста элемента меню */ +.menu-item-header span { + flex: 1; + /* Текст занимает все доступное пространство */ + margin-right: 14px; + /* Отступ справа для текста */ + overflow: hidden; + /* Скрываем текст, который не помещается */ + text-overflow: ellipsis; + /* Добавляем многоточие, если текст не помещается */ +} + +/* Стили для иконок */ +.menu-item-header .open-parent-icon, +.menu-item-header .toggle-icon { + flex-shrink: 0; + /* Запрещаем сжатие иконок */ + margin-left: 1px; + /* Отступ между иконками */ + cursor: pointer; } .menu-item-header:hover { @@ -82,9 +110,18 @@ /* Подменю */ .submenu { margin-left: 20px; + /* Отступ слева для вложенных элементов */ margin-top: 10px; } +/* Стили для элементов нижнего уровня вложенности */ + +/* Дополнительные отступы для элементов без иконок */ +.menu-item:not(.has-children) .menu-item-header { + padding-right: 25px; + /* Добавляем отступ справа для элементов без иконок */ +} + /* Футер сайдбара */ .sidebar-footer { padding: 10px; @@ -98,7 +135,6 @@ .help, .settings { color: var(--sidebar-text-color); - /* Используем переменную для цвета текста */ margin: 5px 0; overflow-x: hidden; text-align: left; diff --git a/src/Style/dark-theme.css b/src/Style/dark-theme.css index 16709fb..5e61591 100644 --- a/src/Style/dark-theme.css +++ b/src/Style/dark-theme.css @@ -15,5 +15,7 @@ --table-cell-background: #333333; --table-text-color: #E0E0E0; /* Светлый текст в таблице */ + --TreeChart-text-color: #ffffff; + --scrollbar-track-color: #333; } } \ No newline at end of file diff --git a/src/index.css b/src/index.css index 6c94c43..1134bba 100755 --- a/src/index.css +++ b/src/index.css @@ -75,24 +75,32 @@ button:focus-visible { /* Глобальный стиль для WebKit-браузеров (Chrome, Edge, Safari) */ ::-webkit-scrollbar { - width: 10px; /* Толщина вертикального скролла */ - height: 10px; /* Толщина горизонтального скролла */ + width: 10px; + /* Толщина вертикального скролла */ + height: 10px; + /* Толщина горизонтального скролла */ } /* Фон скроллбара */ ::-webkit-scrollbar-track { - background: #f1f1f1; /* Цвет фона */ - border-radius: 10px; /* Скругление углов */ + background: var(--scrollbar-track-color, #f1f1f1); + /* Цвет фона */ + border-radius: 10px; + /* Скругление углов */ } /* Ползунок */ ::-webkit-scrollbar-thumb { - background: #3d74c7; /* Основной цвет */ - border-radius: 10px; /* Скругляем края */ - border: 1px solid #1c36c9; /* Белая обводка */ + background: #3d74c7; + /* Основной цвет */ + border-radius: 10px; + /* Скругляем края */ + border: 1px solid #1c36c9; + /* Белая обводка */ } /* Эффект при наведении */ ::-webkit-scrollbar-thumb:hover { - background: #2b5aa5; /* Чуть темнее при наведении */ + background: #2b5aa5; + /* Чуть темнее при наведении */ } \ No newline at end of file -- 2.40.1 From c90bef284c90d78055cd52f08c50e56f3ff1fe79 Mon Sep 17 00:00:00 2001 From: DmitriyA Date: Mon, 17 Mar 2025 07:48:24 -0400 Subject: [PATCH 2/7] =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=D0=B4=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 0 README.md | 0 package.json | 5 +- public/TrustSoftware.json | 0 public/data.json | 0 public/system_monitor_icon.svg | 0 public/trust.json | 0 src/Charts/Components/BarChartComponent.jsx | 0 src/Charts/Components/CounterComponent.jsx | 0 src/Charts/Components/LineChartComponent.jsx | 0 .../Components/ScatterChartComponent.jsx | 0 src/Charts/NegativeStatusChart.jsx | 0 src/Charts/PrometheusChart.jsx | 0 src/Charts/SystemStatusChart.jsx | 0 src/Charts/SystemStatusTable.jsx | 0 src/Charts/SystemStatusTableSoftware.jsx | 0 src/Components/Layout/Dashboard.jsx | 28 +- src/Components/Layout/SidebarMenu.jsx | 1 + src/Components/TreeChart/TreeChart.jsx | 2 +- src/Components/TreeChart/dataUtils.jsx | 0 src/Components/TreeChart/menuData.json | 2972 +++++++++++++---- src/Components/TreeChart/menuData222.json | 714 ++++ src/Components/TreeChart/tabContent.jsx | 0 src/Components/UI/ErrorIndicator.jsx | 0 src/Components/UI/ExpandableInfo.jsx | 0 src/Components/UI/LoginModal.jsx | 0 src/Components/UI/Modal.jsx | 0 src/Components/UI/Tabs.jsx | 0 src/Components/UI/TreeTable.jsx | 0 src/Components/UI/TreeTable222.jsx | 151 + src/Style/Dashboard.css | 0 src/Style/DatePicker.css | 0 src/Style/ErrorIndicator.css | 0 src/Style/Expandable.css | 0 src/Style/LoginModal.css | 0 src/Style/SidebarMenu.css | 0 src/Style/SystemStatusTable.css | 0 src/Style/ThemeSwitch.jsx | 31 + src/Style/TreeChart.css | 0 src/Style/TreeTable.css | 0 src/Style/common.css | 0 src/Style/dark-theme.css | 0 src/Style/light-theme.css | 0 src/assets/images/critical.png | Bin src/assets/images/warning.png | Bin 45 files changed, 3240 insertions(+), 664 deletions(-) mode change 100644 => 100755 Jenkinsfile mode change 100644 => 100755 README.md mode change 100644 => 100755 public/TrustSoftware.json mode change 100644 => 100755 public/data.json mode change 100644 => 100755 public/system_monitor_icon.svg mode change 100644 => 100755 public/trust.json mode change 100644 => 100755 src/Charts/Components/BarChartComponent.jsx mode change 100644 => 100755 src/Charts/Components/CounterComponent.jsx mode change 100644 => 100755 src/Charts/Components/LineChartComponent.jsx mode change 100644 => 100755 src/Charts/Components/ScatterChartComponent.jsx mode change 100644 => 100755 src/Charts/NegativeStatusChart.jsx mode change 100644 => 100755 src/Charts/PrometheusChart.jsx mode change 100644 => 100755 src/Charts/SystemStatusChart.jsx mode change 100644 => 100755 src/Charts/SystemStatusTable.jsx mode change 100644 => 100755 src/Charts/SystemStatusTableSoftware.jsx mode change 100644 => 100755 src/Components/Layout/Dashboard.jsx mode change 100644 => 100755 src/Components/Layout/SidebarMenu.jsx mode change 100644 => 100755 src/Components/TreeChart/TreeChart.jsx mode change 100644 => 100755 src/Components/TreeChart/dataUtils.jsx mode change 100644 => 100755 src/Components/TreeChart/menuData.json create mode 100755 src/Components/TreeChart/menuData222.json mode change 100644 => 100755 src/Components/TreeChart/tabContent.jsx mode change 100644 => 100755 src/Components/UI/ErrorIndicator.jsx mode change 100644 => 100755 src/Components/UI/ExpandableInfo.jsx mode change 100644 => 100755 src/Components/UI/LoginModal.jsx mode change 100644 => 100755 src/Components/UI/Modal.jsx mode change 100644 => 100755 src/Components/UI/Tabs.jsx mode change 100644 => 100755 src/Components/UI/TreeTable.jsx create mode 100755 src/Components/UI/TreeTable222.jsx mode change 100644 => 100755 src/Style/Dashboard.css mode change 100644 => 100755 src/Style/DatePicker.css mode change 100644 => 100755 src/Style/ErrorIndicator.css mode change 100644 => 100755 src/Style/Expandable.css mode change 100644 => 100755 src/Style/LoginModal.css mode change 100644 => 100755 src/Style/SidebarMenu.css mode change 100644 => 100755 src/Style/SystemStatusTable.css create mode 100755 src/Style/ThemeSwitch.jsx mode change 100644 => 100755 src/Style/TreeChart.css mode change 100644 => 100755 src/Style/TreeTable.css mode change 100644 => 100755 src/Style/common.css mode change 100644 => 100755 src/Style/dark-theme.css mode change 100644 => 100755 src/Style/light-theme.css mode change 100644 => 100755 src/assets/images/critical.png mode change 100644 => 100755 src/assets/images/warning.png diff --git a/Jenkinsfile b/Jenkinsfile old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/package.json b/package.json index 9d0c2c7..4d8ad3d 100755 --- a/package.json +++ b/package.json @@ -19,7 +19,10 @@ "chartjs-chart-box-and-violin-plot": "^4.0.0", "react-chartjs-2": "^5.0.0", "axios": "^1.7.9", - "react-datepicker": "^8.1.0" + "react-datepicker": "^8.1.0", + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.0", + "@mui/material": "^6.4.7" }, "devDependencies": { "@eslint/js": "^9.17.0", diff --git a/public/TrustSoftware.json b/public/TrustSoftware.json old mode 100644 new mode 100755 diff --git a/public/data.json b/public/data.json old mode 100644 new mode 100755 diff --git a/public/system_monitor_icon.svg b/public/system_monitor_icon.svg old mode 100644 new mode 100755 diff --git a/public/trust.json b/public/trust.json old mode 100644 new mode 100755 diff --git a/src/Charts/Components/BarChartComponent.jsx b/src/Charts/Components/BarChartComponent.jsx old mode 100644 new mode 100755 diff --git a/src/Charts/Components/CounterComponent.jsx b/src/Charts/Components/CounterComponent.jsx old mode 100644 new mode 100755 diff --git a/src/Charts/Components/LineChartComponent.jsx b/src/Charts/Components/LineChartComponent.jsx old mode 100644 new mode 100755 diff --git a/src/Charts/Components/ScatterChartComponent.jsx b/src/Charts/Components/ScatterChartComponent.jsx old mode 100644 new mode 100755 diff --git a/src/Charts/NegativeStatusChart.jsx b/src/Charts/NegativeStatusChart.jsx old mode 100644 new mode 100755 diff --git a/src/Charts/PrometheusChart.jsx b/src/Charts/PrometheusChart.jsx old mode 100644 new mode 100755 diff --git a/src/Charts/SystemStatusChart.jsx b/src/Charts/SystemStatusChart.jsx old mode 100644 new mode 100755 diff --git a/src/Charts/SystemStatusTable.jsx b/src/Charts/SystemStatusTable.jsx old mode 100644 new mode 100755 diff --git a/src/Charts/SystemStatusTableSoftware.jsx b/src/Charts/SystemStatusTableSoftware.jsx old mode 100644 new mode 100755 diff --git a/src/Components/Layout/Dashboard.jsx b/src/Components/Layout/Dashboard.jsx old mode 100644 new mode 100755 index de529ea..c27e8ac --- a/src/Components/Layout/Dashboard.jsx +++ b/src/Components/Layout/Dashboard.jsx @@ -40,11 +40,11 @@ const Dashboard = () => { setStatusHistories((prevHistories) => ({ history1: [ - ...prevHistories.history1.slice(-49), + ...prevHistories.history1.slice(-29), { time: new Date().toLocaleTimeString(), status: statusPercentage1 }, ], history2: [ - ...prevHistories.history2.slice(-49), + ...prevHistories.history2.slice(-29), { time: new Date().toLocaleTimeString(), status: statusPercentage2 }, ], })); @@ -108,14 +108,22 @@ const Dashboard = () => { if (activeTab === "Главная") { return (
-

Общий мониторинг состояния системы

- - - - - - -
+

Общий мониторинг состояния системы

+ +
+
+ + +
+
+ + +
+
+ + + +
); } else if (activeTab === "Визуализация") { return handleOpenTab(id, title)} />; diff --git a/src/Components/Layout/SidebarMenu.jsx b/src/Components/Layout/SidebarMenu.jsx old mode 100644 new mode 100755 index f0273d2..651c2e7 --- a/src/Components/Layout/SidebarMenu.jsx +++ b/src/Components/Layout/SidebarMenu.jsx @@ -1,5 +1,6 @@ import React, { useState } from "react"; import "../../Style/SidebarMenu.css"; +import { ThemeProvider, createTheme, CssBaseline, Button } from "@mui/material"; import { getStatusColor } from "../TreeChart/dataUtils"; // Импортируем только нужную функцию const MenuItem = ({ item, onSelectItem, sidebarWidth }) => { diff --git a/src/Components/TreeChart/TreeChart.jsx b/src/Components/TreeChart/TreeChart.jsx old mode 100644 new mode 100755 index 816d986..f8b0ae0 --- a/src/Components/TreeChart/TreeChart.jsx +++ b/src/Components/TreeChart/TreeChart.jsx @@ -88,7 +88,7 @@ const TreeChart = ({ data, onNodeClick }) => { const svg = d3.select(chartRef.current) .attr("width", 2000) .attr("height", 2000) - .attr("viewBox", [-500, -500, 1000, 1000]) + .attr("viewBox", [-500, -500, 1500, 1500]) .attr("style", "max-width: 100%; height: auto;"); svg.append("g").attr("class", "links"); diff --git a/src/Components/TreeChart/dataUtils.jsx b/src/Components/TreeChart/dataUtils.jsx old mode 100644 new mode 100755 diff --git a/src/Components/TreeChart/menuData.json b/src/Components/TreeChart/menuData.json old mode 100644 new mode 100755 index e8b99e6..43f44fc --- a/src/Components/TreeChart/menuData.json +++ b/src/Components/TreeChart/menuData.json @@ -1,712 +1,2380 @@ { - "title": "Сервис ЗВКС", - "id": "1", + "title": "Сервер ВКС", + "id": "1001", "items": [ { - "title": "Функциональные задачи", - "id": "functional_tasks", + "title": "ВКС", + "id": "1", "items": [ { - "id": "system_control", - "title": "Контроль системы" - }, - { - "id": "system_management", - "title": "Система управления" - }, - { - "id": "conference", - "title": "Проведение ВКС" - }, - { - "id": "backup", - "title": "Резервное копирование" - }, - { - "id": "relay_info", - "title": "Ретрансляция информации" - } - ] - }, - { - "id": "18", - "title": "Graviton S2082I (device$18)", - "items": [ - { - "id": "4", - "title": "OS Linux (module$4) АО", + "title": "Медиа сервер", + "id": "media_server_1", "items": [ { - "id": "190", - "title": "Загрузка процессора за 1 минуту" - }, - { - "id": "191", - "title": "Загрузка процессора за 5 минут" - }, - { - "id": "192", - "title": "Загрузка процессора за 15 минут" - }, - { - "id": "197", - "title": "Общий объем SWAP-файла" - }, - { - "id": "198", - "title": "Используемый объем SWAP-файла" - }, - { - "id": "199", - "title": "Общий объем физической оперативной памяти" - }, - { - "id": "200", - "title": "Доступный объем физической оперативной памяти" - }, - { - "id": "201", - "title": "Свободный объем физической и виртуальной оперативной памяти" - }, - { - "id": "202", - "title": "Буферизованный объем оперативной памяти" - }, - { - "id": "203", - "title": "Кэшированый объем оперативной памяти" - }, - { - "id": "274", - "title": "Используемый объем SWAP-файла" - }, - { - "id": "275", - "title": "Время затраченное процессором на процессы с пониженным приоритетом" - }, - { - "id": "276", - "title": "Время затраченное процессором на процессы ядра ОС" - }, - { - "id": "277", - "title": "Время простоя процессора" - }, - { - "id": "278", - "title": "Общая емкость жестких дисков" - }, - { - "id": "279", - "title": "Доступная емкость жестких дисков" + "id": "18", + "title": "Graviton S2082I (device$18)", + "items": [ + { + "id": "4", + "title": "OS Linux (module$4) АО", + "items": [ + { + "id": "190", + "title": "Загрузка процессора за 1 минуту" + }, + { + "id": "191", + "title": "Загрузка процессора за 5 минут" + }, + { + "id": "192", + "title": "Загрузка процессора за 15 минут" + }, + { + "id": "197", + "title": "Общий объем SWAP-файла" + }, + { + "id": "198", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "199", + "title": "Общий объем физической оперативной памяти" + }, + { + "id": "200", + "title": "Доступный объем физической оперативной памяти" + }, + { + "id": "201", + "title": "Свободный объем физической и виртуальной оперативной памяти" + }, + { + "id": "202", + "title": "Буферизованный объем оперативной памяти" + }, + { + "id": "203", + "title": "Кэшированый объем оперативной памяти" + }, + { + "id": "274", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "275", + "title": "Время затраченное процессором на процессы с пониженным приоритетом" + }, + { + "id": "276", + "title": "Время затраченное процессором на процессы ядра ОС" + }, + { + "id": "277", + "title": "Время простоя процессора" + }, + { + "id": "278", + "title": "Общая емкость жестких дисков" + }, + { + "id": "279", + "title": "Доступная емкость жестких дисков" + } + ] + }, + { + "id": "5", + "title": "Vinteo (module$5) ПО", + "items": [ + { + "id": "31", + "title": "Общее количество участников" + }, + { + "id": "32", + "title": "Ожидание соединения" + }, + { + "id": "33", + "title": "Зарегистрированные абоненты" + }, + { + "id": "34", + "title": "Количество пользоватей HLS" + }, + { + "id": "35", + "title": "Общее количество P2P комнат" + }, + { + "id": "36", + "title": "Общее количество конференций" + }, + { + "id": "37", + "title": "Общее количество активных конференций" + }, + { + "id": "38", + "title": "Статус записи" + }, + { + "id": "39", + "title": "Общее количество сохранённых записей" + } + ] + }, + { + "id": "280", + "title": "Сетевой адаптер №1 (port$261) Eth_1", + "items": [ + { + "id": "207", + "title": "Скорость порта Eth_1" + }, + { + "id": "209", + "title": "Административное состояние порта Eth_1" + }, + { + "id": "210", + "title": "Оперативное состояние порта Eth_1" + }, + { + "id": "211", + "title": "Общее количество отправленных октетов Eth_1" + }, + { + "id": "212", + "title": "Количество входящих Multicast пакетов Eth_1" + }, + { + "id": "213", + "title": "Количество иcходящих Multiicast пакетов Eth_1" + }, + { + "id": "214", + "title": "Количество входящих Broadcast пакетов Eth_1" + }, + { + "id": "215", + "title": "Количество иcходящих Broadcast пакетов Eth_1" + }, + { + "id": "216", + "title": "Количество входящих Unicast пакетов Eth_1" + }, + { + "id": "217", + "title": "Количество иcходящих Unicast пакетов Eth_1" + }, + { + "id": "218", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "219", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "220", + "title": "Количество входящих пакетов с ошибкой Eth_1" + }, + { + "id": "221", + "title": "Количество исходящих пакетов с ошибкой Eth_1" + }, + { + "id": "222", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" + } + ] + }, + { + "id": "281", + "title": "Сетевой адаптер №2 (port$262) Eth_2", + "items": [ + { + "id": "224", + "title": "Скорость порта Eth_2" + }, + { + "id": "226", + "title": "Административное состояние порта Eth_2" + }, + { + "id": "227", + "title": "Оперативное состояние порта Eth_2" + }, + { + "id": "228", + "title": "Общее количество отправленных октетов Eth_2" + }, + { + "id": "229", + "title": "Количество входящих Multicast пакетов Eth_2" + }, + { + "id": "230", + "title": "Количество иcходящих Multiicast пакетов Eth_2" + }, + { + "id": "231", + "title": "Количество входящих Broadcast пакетов Eth_2" + }, + { + "id": "232", + "title": "Количество иcходящих Broadcast пакетов Eth_2" + }, + { + "id": "233", + "title": "Количество входящих Unicast пакетов Eth_2" + }, + { + "id": "234", + "title": "Количество иcходящих Unicast пакетов Eth_2" + }, + { + "id": "235", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "236", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "237", + "title": "Количество входящих пакетов с ошибкой Eth_2" + }, + { + "id": "238", + "title": "Количество исходящих пакетов с ошибкой Eth_2" + }, + { + "id": "239", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" + } + ] + }, + { + "id": "282", + "title": "Сетевой адаптер №3 (port$263) Eth_3", + "items": [ + { + "id": "241", + "title": "Скорость порта Eth_3" + }, + { + "id": "243", + "title": "Административное состояние порта Eth_3" + }, + { + "id": "244", + "title": "Оперативное состояние порта Eth_3" + }, + { + "id": "245", + "title": "Общее количество отправленных октетов Eth_3" + }, + { + "id": "246", + "title": "Количество входящих Multicast пакетов Eth_3" + }, + { + "id": "247", + "title": "Количество иcходящих Multiicast пакетов Eth_3" + }, + { + "id": "248", + "title": "Количество входящих Broadcast пакетов Eth_3" + }, + { + "id": "249", + "title": "Количество иcходящих Broadcast пакетов Eth_3" + }, + { + "id": "250", + "title": "Количество входящих Unicast пакетов Eth_3" + }, + { + "id": "251", + "title": "Количество иcходящих Unicast пакетов Eth_3" + }, + { + "id": "252", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "253", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "254", + "title": "Количество входящих пакетов с ошибкой Eth_3" + }, + { + "id": "255", + "title": "Количество исходящих пакетов с ошибкой Eth_3" + }, + { + "id": "256", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" + } + ] + }, + { + "id": "283", + "title": "Сетевой адаптер №4 (port$264) Eth_4", + "items": [ + { + "id": "258", + "title": "Скорость порта Eth_4" + }, + { + "id": "260", + "title": "Административное состояние порта Eth_4" + }, + { + "id": "261", + "title": "Оперативное состояние порта Eth_4" + }, + { + "id": "262", + "title": "Общее количество отправленных октетов Eth_4" + }, + { + "id": "263", + "title": "Количество входящих Multicast пакетов Eth_4" + }, + { + "id": "264", + "title": "Количество иcходящих Multiicast пакетов Eth_4" + }, + { + "id": "265", + "title": "Количество входящих Broadcast пакетов Eth_4" + }, + { + "id": "266", + "title": "Количество иcходящих Broadcast пакетов Eth_4" + }, + { + "id": "267", + "title": "Количество входящих Unicast пакетов Eth_4" + }, + { + "id": "268", + "title": "Количество иcходящих Unicast пакетов Eth_4" + }, + { + "id": "269", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "270", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "271", + "title": "Количество входящих пакетов с ошибкой Eth_4" + }, + { + "id": "272", + "title": "Количество исходящих пакетов с ошибкой Eth_4" + }, + { + "id": "273", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" + } + ] + } + ] } ] }, { - "id": "5", - "title": "Vinteo (module$5) ПО", + "title": "Медиа сервер", + "id": "media_server_2", "items": [ { - "id": "31", - "title": "Общее количество участников" - }, - { - "id": "32", - "title": "Ожидание соединения" - }, - { - "id": "33", - "title": "Зарегистрированные абоненты" - }, - { - "id": "34", - "title": "Количество пользоватей HLS" - }, - { - "id": "35", - "title": "Общее количество P2P комнат" - }, - { - "id": "36", - "title": "Общее количество конференций" - }, - { - "id": "37", - "title": "Общее количество активных конференций" - }, - { - "id": "38", - "title": "Статус записи" - }, - { - "id": "39", - "title": "Общее количество сохранённых записей" + "id": "18", + "title": "Graviton S2082I (device$18)", + "items": [ + { + "id": "4", + "title": "OS Linux (module$4) АО", + "items": [ + { + "id": "190", + "title": "Загрузка процессора за 1 минуту" + }, + { + "id": "191", + "title": "Загрузка процессора за 5 минут" + }, + { + "id": "192", + "title": "Загрузка процессора за 15 минут" + }, + { + "id": "197", + "title": "Общий объем SWAP-файла" + }, + { + "id": "198", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "199", + "title": "Общий объем физической оперативной памяти" + }, + { + "id": "200", + "title": "Доступный объем физической оперативной памяти" + }, + { + "id": "201", + "title": "Свободный объем физической и виртуальной оперативной памяти" + }, + { + "id": "202", + "title": "Буферизованный объем оперативной памяти" + }, + { + "id": "203", + "title": "Кэшированый объем оперативной памяти" + }, + { + "id": "274", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "275", + "title": "Время затраченное процессором на процессы с пониженным приоритетом" + }, + { + "id": "276", + "title": "Время затраченное процессором на процессы ядра ОС" + }, + { + "id": "277", + "title": "Время простоя процессора" + }, + { + "id": "278", + "title": "Общая емкость жестких дисков" + }, + { + "id": "279", + "title": "Доступная емкость жестких дисков" + } + ] + }, + { + "id": "5", + "title": "Vinteo (module$5) ПО", + "items": [ + { + "id": "31", + "title": "Общее количество участников" + }, + { + "id": "32", + "title": "Ожидание соединения" + }, + { + "id": "33", + "title": "Зарегистрированные абоненты" + }, + { + "id": "34", + "title": "Количество пользоватей HLS" + }, + { + "id": "35", + "title": "Общее количество P2P комнат" + }, + { + "id": "36", + "title": "Общее количество конференций" + }, + { + "id": "37", + "title": "Общее количество активных конференций" + }, + { + "id": "38", + "title": "Статус записи" + }, + { + "id": "39", + "title": "Общее количество сохранённых записей" + } + ] + }, + { + "id": "280", + "title": "Сетевой адаптер №1 (port$261) Eth_1", + "items": [ + { + "id": "207", + "title": "Скорость порта Eth_1" + }, + { + "id": "209", + "title": "Административное состояние порта Eth_1" + }, + { + "id": "210", + "title": "Оперативное состояние порта Eth_1" + }, + { + "id": "211", + "title": "Общее количество отправленных октетов Eth_1" + }, + { + "id": "212", + "title": "Количество входящих Multicast пакетов Eth_1" + }, + { + "id": "213", + "title": "Количество иcходящих Multiicast пакетов Eth_1" + }, + { + "id": "214", + "title": "Количество входящих Broadcast пакетов Eth_1" + }, + { + "id": "215", + "title": "Количество иcходящих Broadcast пакетов Eth_1" + }, + { + "id": "216", + "title": "Количество входящих Unicast пакетов Eth_1" + }, + { + "id": "217", + "title": "Количество иcходящих Unicast пакетов Eth_1" + }, + { + "id": "218", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "219", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "220", + "title": "Количество входящих пакетов с ошибкой Eth_1" + }, + { + "id": "221", + "title": "Количество исходящих пакетов с ошибкой Eth_1" + }, + { + "id": "222", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" + } + ] + }, + { + "id": "281", + "title": "Сетевой адаптер №2 (port$262) Eth_2", + "items": [ + { + "id": "224", + "title": "Скорость порта Eth_2" + }, + { + "id": "226", + "title": "Административное состояние порта Eth_2" + }, + { + "id": "227", + "title": "Оперативное состояние порта Eth_2" + }, + { + "id": "228", + "title": "Общее количество отправленных октетов Eth_2" + }, + { + "id": "229", + "title": "Количество входящих Multicast пакетов Eth_2" + }, + { + "id": "230", + "title": "Количество иcходящих Multiicast пакетов Eth_2" + }, + { + "id": "231", + "title": "Количество входящих Broadcast пакетов Eth_2" + }, + { + "id": "232", + "title": "Количество иcходящих Broadcast пакетов Eth_2" + }, + { + "id": "233", + "title": "Количество входящих Unicast пакетов Eth_2" + }, + { + "id": "234", + "title": "Количество иcходящих Unicast пакетов Eth_2" + }, + { + "id": "235", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "236", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "237", + "title": "Количество входящих пакетов с ошибкой Eth_2" + }, + { + "id": "238", + "title": "Количество исходящих пакетов с ошибкой Eth_2" + }, + { + "id": "239", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" + } + ] + }, + { + "id": "282", + "title": "Сетевой адаптер №3 (port$263) Eth_3", + "items": [ + { + "id": "241", + "title": "Скорость порта Eth_3" + }, + { + "id": "243", + "title": "Административное состояние порта Eth_3" + }, + { + "id": "244", + "title": "Оперативное состояние порта Eth_3" + }, + { + "id": "245", + "title": "Общее количество отправленных октетов Eth_3" + }, + { + "id": "246", + "title": "Количество входящих Multicast пакетов Eth_3" + }, + { + "id": "247", + "title": "Количество иcходящих Multiicast пакетов Eth_3" + }, + { + "id": "248", + "title": "Количество входящих Broadcast пакетов Eth_3" + }, + { + "id": "249", + "title": "Количество иcходящих Broadcast пакетов Eth_3" + }, + { + "id": "250", + "title": "Количество входящих Unicast пакетов Eth_3" + }, + { + "id": "251", + "title": "Количество иcходящих Unicast пакетов Eth_3" + }, + { + "id": "252", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "253", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "254", + "title": "Количество входящих пакетов с ошибкой Eth_3" + }, + { + "id": "255", + "title": "Количество исходящих пакетов с ошибкой Eth_3" + }, + { + "id": "256", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" + } + ] + }, + { + "id": "283", + "title": "Сетевой адаптер №4 (port$264) Eth_4", + "items": [ + { + "id": "258", + "title": "Скорость порта Eth_4" + }, + { + "id": "260", + "title": "Административное состояние порта Eth_4" + }, + { + "id": "261", + "title": "Оперативное состояние порта Eth_4" + }, + { + "id": "262", + "title": "Общее количество отправленных октетов Eth_4" + }, + { + "id": "263", + "title": "Количество входящих Multicast пакетов Eth_4" + }, + { + "id": "264", + "title": "Количество иcходящих Multiicast пакетов Eth_4" + }, + { + "id": "265", + "title": "Количество входящих Broadcast пакетов Eth_4" + }, + { + "id": "266", + "title": "Количество иcходящих Broadcast пакетов Eth_4" + }, + { + "id": "267", + "title": "Количество входящих Unicast пакетов Eth_4" + }, + { + "id": "268", + "title": "Количество иcходящих Unicast пакетов Eth_4" + }, + { + "id": "269", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "270", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "271", + "title": "Количество входящих пакетов с ошибкой Eth_4" + }, + { + "id": "272", + "title": "Количество исходящих пакетов с ошибкой Eth_4" + }, + { + "id": "273", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" + } + ] + } + ] } ] }, { - "id": "280", - "title": "Сетевой адаптер №1 (port$261) Eth_1", + "title": "Медиа сервер", + "id": "media_server_3", "items": [ { - "id": "207", - "title": "Скорость порта Eth_1" - }, - { - "id": "209", - "title": "Административное состояние порта Eth_1" - }, - { - "id": "210", - "title": "Оперативное состояние порта Eth_1" - }, - { - "id": "211", - "title": "Общее количество отправленных октетов Eth_1" - }, - { - "id": "212", - "title": "Количество входящих Multicast пакетов Eth_1" - }, - { - "id": "213", - "title": "Количество иcходящих Multiicast пакетов Eth_1" - }, - { - "id": "214", - "title": "Количество входящих Broadcast пакетов Eth_1" - }, - { - "id": "215", - "title": "Количество иcходящих Broadcast пакетов Eth_1" - }, - { - "id": "216", - "title": "Количество входящих Unicast пакетов Eth_1" - }, - { - "id": "217", - "title": "Количество иcходящих Unicast пакетов Eth_1" - }, - { - "id": "218", - "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" - }, - { - "id": "219", - "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" - }, - { - "id": "220", - "title": "Количество входящих пакетов с ошибкой Eth_1" - }, - { - "id": "221", - "title": "Количество исходящих пакетов с ошибкой Eth_1" - }, - { - "id": "222", - "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" + "id": "18", + "title": "Graviton S2082I (device$18)", + "items": [ + { + "id": "4", + "title": "OS Linux (module$4) АО", + "items": [ + { + "id": "190", + "title": "Загрузка процессора за 1 минуту" + }, + { + "id": "191", + "title": "Загрузка процессора за 5 минут" + }, + { + "id": "192", + "title": "Загрузка процессора за 15 минут" + }, + { + "id": "197", + "title": "Общий объем SWAP-файла" + }, + { + "id": "198", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "199", + "title": "Общий объем физической оперативной памяти" + }, + { + "id": "200", + "title": "Доступный объем физической оперативной памяти" + }, + { + "id": "201", + "title": "Свободный объем физической и виртуальной оперативной памяти" + }, + { + "id": "202", + "title": "Буферизованный объем оперативной памяти" + }, + { + "id": "203", + "title": "Кэшированый объем оперативной памяти" + }, + { + "id": "274", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "275", + "title": "Время затраченное процессором на процессы с пониженным приоритетом" + }, + { + "id": "276", + "title": "Время затраченное процессором на процессы ядра ОС" + }, + { + "id": "277", + "title": "Время простоя процессора" + }, + { + "id": "278", + "title": "Общая емкость жестких дисков" + }, + { + "id": "279", + "title": "Доступная емкость жестких дисков" + } + ] + }, + { + "id": "5", + "title": "Vinteo (module$5) ПО", + "items": [ + { + "id": "31", + "title": "Общее количество участников" + }, + { + "id": "32", + "title": "Ожидание соединения" + }, + { + "id": "33", + "title": "Зарегистрированные абоненты" + }, + { + "id": "34", + "title": "Количество пользоватей HLS" + }, + { + "id": "35", + "title": "Общее количество P2P комнат" + }, + { + "id": "36", + "title": "Общее количество конференций" + }, + { + "id": "37", + "title": "Общее количество активных конференций" + }, + { + "id": "38", + "title": "Статус записи" + }, + { + "id": "39", + "title": "Общее количество сохранённых записей" + } + ] + }, + { + "id": "280", + "title": "Сетевой адаптер №1 (port$261) Eth_1", + "items": [ + { + "id": "207", + "title": "Скорость порта Eth_1" + }, + { + "id": "209", + "title": "Административное состояние порта Eth_1" + }, + { + "id": "210", + "title": "Оперативное состояние порта Eth_1" + }, + { + "id": "211", + "title": "Общее количество отправленных октетов Eth_1" + }, + { + "id": "212", + "title": "Количество входящих Multicast пакетов Eth_1" + }, + { + "id": "213", + "title": "Количество иcходящих Multiicast пакетов Eth_1" + }, + { + "id": "214", + "title": "Количество входящих Broadcast пакетов Eth_1" + }, + { + "id": "215", + "title": "Количество иcходящих Broadcast пакетов Eth_1" + }, + { + "id": "216", + "title": "Количество входящих Unicast пакетов Eth_1" + }, + { + "id": "217", + "title": "Количество иcходящих Unicast пакетов Eth_1" + }, + { + "id": "218", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "219", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "220", + "title": "Количество входящих пакетов с ошибкой Eth_1" + }, + { + "id": "221", + "title": "Количество исходящих пакетов с ошибкой Eth_1" + }, + { + "id": "222", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" + } + ] + }, + { + "id": "281", + "title": "Сетевой адаптер №2 (port$262) Eth_2", + "items": [ + { + "id": "224", + "title": "Скорость порта Eth_2" + }, + { + "id": "226", + "title": "Административное состояние порта Eth_2" + }, + { + "id": "227", + "title": "Оперативное состояние порта Eth_2" + }, + { + "id": "228", + "title": "Общее количество отправленных октетов Eth_2" + }, + { + "id": "229", + "title": "Количество входящих Multicast пакетов Eth_2" + }, + { + "id": "230", + "title": "Количество иcходящих Multiicast пакетов Eth_2" + }, + { + "id": "231", + "title": "Количество входящих Broadcast пакетов Eth_2" + }, + { + "id": "232", + "title": "Количество иcходящих Broadcast пакетов Eth_2" + }, + { + "id": "233", + "title": "Количество входящих Unicast пакетов Eth_2" + }, + { + "id": "234", + "title": "Количество иcходящих Unicast пакетов Eth_2" + }, + { + "id": "235", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "236", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "237", + "title": "Количество входящих пакетов с ошибкой Eth_2" + }, + { + "id": "238", + "title": "Количество исходящих пакетов с ошибкой Eth_2" + }, + { + "id": "239", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" + } + ] + }, + { + "id": "282", + "title": "Сетевой адаптер №3 (port$263) Eth_3", + "items": [ + { + "id": "241", + "title": "Скорость порта Eth_3" + }, + { + "id": "243", + "title": "Административное состояние порта Eth_3" + }, + { + "id": "244", + "title": "Оперативное состояние порта Eth_3" + }, + { + "id": "245", + "title": "Общее количество отправленных октетов Eth_3" + }, + { + "id": "246", + "title": "Количество входящих Multicast пакетов Eth_3" + }, + { + "id": "247", + "title": "Количество иcходящих Multiicast пакетов Eth_3" + }, + { + "id": "248", + "title": "Количество входящих Broadcast пакетов Eth_3" + }, + { + "id": "249", + "title": "Количество иcходящих Broadcast пакетов Eth_3" + }, + { + "id": "250", + "title": "Количество входящих Unicast пакетов Eth_3" + }, + { + "id": "251", + "title": "Количество иcходящих Unicast пакетов Eth_3" + }, + { + "id": "252", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "253", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "254", + "title": "Количество входящих пакетов с ошибкой Eth_3" + }, + { + "id": "255", + "title": "Количество исходящих пакетов с ошибкой Eth_3" + }, + { + "id": "256", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" + } + ] + }, + { + "id": "283", + "title": "Сетевой адаптер №4 (port$264) Eth_4", + "items": [ + { + "id": "258", + "title": "Скорость порта Eth_4" + }, + { + "id": "260", + "title": "Административное состояние порта Eth_4" + }, + { + "id": "261", + "title": "Оперативное состояние порта Eth_4" + }, + { + "id": "262", + "title": "Общее количество отправленных октетов Eth_4" + }, + { + "id": "263", + "title": "Количество входящих Multicast пакетов Eth_4" + }, + { + "id": "264", + "title": "Количество иcходящих Multiicast пакетов Eth_4" + }, + { + "id": "265", + "title": "Количество входящих Broadcast пакетов Eth_4" + }, + { + "id": "266", + "title": "Количество иcходящих Broadcast пакетов Eth_4" + }, + { + "id": "267", + "title": "Количество входящих Unicast пакетов Eth_4" + }, + { + "id": "268", + "title": "Количество иcходящих Unicast пакетов Eth_4" + }, + { + "id": "269", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "270", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "271", + "title": "Количество входящих пакетов с ошибкой Eth_4" + }, + { + "id": "272", + "title": "Количество исходящих пакетов с ошибкой Eth_4" + }, + { + "id": "273", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" + } + ] + } + ] } ] }, { - "id": "281", - "title": "Сетевой адаптер №2 (port$262) Eth_2", + "title": "Медиа сервер", + "id": "media_server_4", "items": [ { - "id": "224", - "title": "Скорость порта Eth_2" - }, - { - "id": "226", - "title": "Административное состояние порта Eth_2" - }, - { - "id": "227", - "title": "Оперативное состояние порта Eth_2" - }, - { - "id": "228", - "title": "Общее количество отправленных октетов Eth_2" - }, - { - "id": "229", - "title": "Количество входящих Multicast пакетов Eth_2" - }, - { - "id": "230", - "title": "Количество иcходящих Multiicast пакетов Eth_2" - }, - { - "id": "231", - "title": "Количество входящих Broadcast пакетов Eth_2" - }, - { - "id": "232", - "title": "Количество иcходящих Broadcast пакетов Eth_2" - }, - { - "id": "233", - "title": "Количество входящих Unicast пакетов Eth_2" - }, - { - "id": "234", - "title": "Количество иcходящих Unicast пакетов Eth_2" - }, - { - "id": "235", - "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" - }, - { - "id": "236", - "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" - }, - { - "id": "237", - "title": "Количество входящих пакетов с ошибкой Eth_2" - }, - { - "id": "238", - "title": "Количество исходящих пакетов с ошибкой Eth_2" - }, - { - "id": "239", - "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" + "id": "18", + "title": "Graviton S2082I (device$18)", + "items": [ + { + "id": "4", + "title": "OS Linux (module$4) АО", + "items": [ + { + "id": "190", + "title": "Загрузка процессора за 1 минуту" + }, + { + "id": "191", + "title": "Загрузка процессора за 5 минут" + }, + { + "id": "192", + "title": "Загрузка процессора за 15 минут" + }, + { + "id": "197", + "title": "Общий объем SWAP-файла" + }, + { + "id": "198", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "199", + "title": "Общий объем физической оперативной памяти" + }, + { + "id": "200", + "title": "Доступный объем физической оперативной памяти" + }, + { + "id": "201", + "title": "Свободный объем физической и виртуальной оперативной памяти" + }, + { + "id": "202", + "title": "Буферизованный объем оперативной памяти" + }, + { + "id": "203", + "title": "Кэшированый объем оперативной памяти" + }, + { + "id": "274", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "275", + "title": "Время затраченное процессором на процессы с пониженным приоритетом" + }, + { + "id": "276", + "title": "Время затраченное процессором на процессы ядра ОС" + }, + { + "id": "277", + "title": "Время простоя процессора" + }, + { + "id": "278", + "title": "Общая емкость жестких дисков" + }, + { + "id": "279", + "title": "Доступная емкость жестких дисков" + } + ] + }, + { + "id": "5", + "title": "Vinteo (module$5) ПО", + "items": [ + { + "id": "31", + "title": "Общее количество участников" + }, + { + "id": "32", + "title": "Ожидание соединения" + }, + { + "id": "33", + "title": "Зарегистрированные абоненты" + }, + { + "id": "34", + "title": "Количество пользоватей HLS" + }, + { + "id": "35", + "title": "Общее количество P2P комнат" + }, + { + "id": "36", + "title": "Общее количество конференций" + }, + { + "id": "37", + "title": "Общее количество активных конференций" + }, + { + "id": "38", + "title": "Статус записи" + }, + { + "id": "39", + "title": "Общее количество сохранённых записей" + } + ] + }, + { + "id": "280", + "title": "Сетевой адаптер №1 (port$261) Eth_1", + "items": [ + { + "id": "207", + "title": "Скорость порта Eth_1" + }, + { + "id": "209", + "title": "Административное состояние порта Eth_1" + }, + { + "id": "210", + "title": "Оперативное состояние порта Eth_1" + }, + { + "id": "211", + "title": "Общее количество отправленных октетов Eth_1" + }, + { + "id": "212", + "title": "Количество входящих Multicast пакетов Eth_1" + }, + { + "id": "213", + "title": "Количество иcходящих Multiicast пакетов Eth_1" + }, + { + "id": "214", + "title": "Количество входящих Broadcast пакетов Eth_1" + }, + { + "id": "215", + "title": "Количество иcходящих Broadcast пакетов Eth_1" + }, + { + "id": "216", + "title": "Количество входящих Unicast пакетов Eth_1" + }, + { + "id": "217", + "title": "Количество иcходящих Unicast пакетов Eth_1" + }, + { + "id": "218", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "219", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "220", + "title": "Количество входящих пакетов с ошибкой Eth_1" + }, + { + "id": "221", + "title": "Количество исходящих пакетов с ошибкой Eth_1" + }, + { + "id": "222", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" + } + ] + }, + { + "id": "281", + "title": "Сетевой адаптер №2 (port$262) Eth_2", + "items": [ + { + "id": "224", + "title": "Скорость порта Eth_2" + }, + { + "id": "226", + "title": "Административное состояние порта Eth_2" + }, + { + "id": "227", + "title": "Оперативное состояние порта Eth_2" + }, + { + "id": "228", + "title": "Общее количество отправленных октетов Eth_2" + }, + { + "id": "229", + "title": "Количество входящих Multicast пакетов Eth_2" + }, + { + "id": "230", + "title": "Количество иcходящих Multiicast пакетов Eth_2" + }, + { + "id": "231", + "title": "Количество входящих Broadcast пакетов Eth_2" + }, + { + "id": "232", + "title": "Количество иcходящих Broadcast пакетов Eth_2" + }, + { + "id": "233", + "title": "Количество входящих Unicast пакетов Eth_2" + }, + { + "id": "234", + "title": "Количество иcходящих Unicast пакетов Eth_2" + }, + { + "id": "235", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "236", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "237", + "title": "Количество входящих пакетов с ошибкой Eth_2" + }, + { + "id": "238", + "title": "Количество исходящих пакетов с ошибкой Eth_2" + }, + { + "id": "239", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" + } + ] + }, + { + "id": "282", + "title": "Сетевой адаптер №3 (port$263) Eth_3", + "items": [ + { + "id": "241", + "title": "Скорость порта Eth_3" + }, + { + "id": "243", + "title": "Административное состояние порта Eth_3" + }, + { + "id": "244", + "title": "Оперативное состояние порта Eth_3" + }, + { + "id": "245", + "title": "Общее количество отправленных октетов Eth_3" + }, + { + "id": "246", + "title": "Количество входящих Multicast пакетов Eth_3" + }, + { + "id": "247", + "title": "Количество иcходящих Multiicast пакетов Eth_3" + }, + { + "id": "248", + "title": "Количество входящих Broadcast пакетов Eth_3" + }, + { + "id": "249", + "title": "Количество иcходящих Broadcast пакетов Eth_3" + }, + { + "id": "250", + "title": "Количество входящих Unicast пакетов Eth_3" + }, + { + "id": "251", + "title": "Количество иcходящих Unicast пакетов Eth_3" + }, + { + "id": "252", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "253", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "254", + "title": "Количество входящих пакетов с ошибкой Eth_3" + }, + { + "id": "255", + "title": "Количество исходящих пакетов с ошибкой Eth_3" + }, + { + "id": "256", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" + } + ] + }, + { + "id": "283", + "title": "Сетевой адаптер №4 (port$264) Eth_4", + "items": [ + { + "id": "258", + "title": "Скорость порта Eth_4" + }, + { + "id": "260", + "title": "Административное состояние порта Eth_4" + }, + { + "id": "261", + "title": "Оперативное состояние порта Eth_4" + }, + { + "id": "262", + "title": "Общее количество отправленных октетов Eth_4" + }, + { + "id": "263", + "title": "Количество входящих Multicast пакетов Eth_4" + }, + { + "id": "264", + "title": "Количество иcходящих Multiicast пакетов Eth_4" + }, + { + "id": "265", + "title": "Количество входящих Broadcast пакетов Eth_4" + }, + { + "id": "266", + "title": "Количество иcходящих Broadcast пакетов Eth_4" + }, + { + "id": "267", + "title": "Количество входящих Unicast пакетов Eth_4" + }, + { + "id": "268", + "title": "Количество иcходящих Unicast пакетов Eth_4" + }, + { + "id": "269", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "270", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "271", + "title": "Количество входящих пакетов с ошибкой Eth_4" + }, + { + "id": "272", + "title": "Количество исходящих пакетов с ошибкой Eth_4" + }, + { + "id": "273", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" + } + ] + } + ] } ] }, { - "id": "282", - "title": "Сетевой адаптер №3 (port$263) Eth_3", + "title": "Сервер систем", + "id": "system_server_1", "items": [ { - "id": "241", - "title": "Скорость порта Eth_3" - }, - { - "id": "243", - "title": "Административное состояние порта Eth_3" - }, - { - "id": "244", - "title": "Оперативное состояние порта Eth_3" - }, - { - "id": "245", - "title": "Общее количество отправленных октетов Eth_3" - }, - { - "id": "246", - "title": "Количество входящих Multicast пакетов Eth_3" - }, - { - "id": "247", - "title": "Количество иcходящих Multiicast пакетов Eth_3" - }, - { - "id": "248", - "title": "Количество входящих Broadcast пакетов Eth_3" - }, - { - "id": "249", - "title": "Количество иcходящих Broadcast пакетов Eth_3" - }, - { - "id": "250", - "title": "Количество входящих Unicast пакетов Eth_3" - }, - { - "id": "251", - "title": "Количество иcходящих Unicast пакетов Eth_3" - }, - { - "id": "252", - "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" - }, - { - "id": "253", - "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" - }, - { - "id": "254", - "title": "Количество входящих пакетов с ошибкой Eth_3" - }, - { - "id": "255", - "title": "Количество исходящих пакетов с ошибкой Eth_3" - }, - { - "id": "256", - "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" + "id": "18", + "title": "Graviton S2082I (device$18)", + "items": [ + { + "id": "4", + "title": "OS Linux (module$4) АО", + "items": [ + { + "id": "190", + "title": "Загрузка процессора за 1 минуту" + }, + { + "id": "191", + "title": "Загрузка процессора за 5 минут" + }, + { + "id": "192", + "title": "Загрузка процессора за 15 минут" + }, + { + "id": "197", + "title": "Общий объем SWAP-файла" + }, + { + "id": "198", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "199", + "title": "Общий объем физической оперативной памяти" + }, + { + "id": "200", + "title": "Доступный объем физической оперативной памяти" + }, + { + "id": "201", + "title": "Свободный объем физической и виртуальной оперативной памяти" + }, + { + "id": "202", + "title": "Буферизованный объем оперативной памяти" + }, + { + "id": "203", + "title": "Кэшированый объем оперативной памяти" + }, + { + "id": "274", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "275", + "title": "Время затраченное процессором на процессы с пониженным приоритетом" + }, + { + "id": "276", + "title": "Время затраченное процессором на процессы ядра ОС" + }, + { + "id": "277", + "title": "Время простоя процессора" + }, + { + "id": "278", + "title": "Общая емкость жестких дисков" + }, + { + "id": "279", + "title": "Доступная емкость жестких дисков" + } + ] + }, + { + "id": "5", + "title": "Vinteo (module$5) ПО", + "items": [ + { + "id": "31", + "title": "Общее количество участников" + }, + { + "id": "32", + "title": "Ожидание соединения" + }, + { + "id": "33", + "title": "Зарегистрированные абоненты" + }, + { + "id": "34", + "title": "Количество пользоватей HLS" + }, + { + "id": "35", + "title": "Общее количество P2P комнат" + }, + { + "id": "36", + "title": "Общее количество конференций" + }, + { + "id": "37", + "title": "Общее количество активных конференций" + }, + { + "id": "38", + "title": "Статус записи" + }, + { + "id": "39", + "title": "Общее количество сохранённых записей" + } + ] + }, + { + "id": "280", + "title": "Сетевой адаптер №1 (port$261) Eth_1", + "items": [ + { + "id": "207", + "title": "Скорость порта Eth_1" + }, + { + "id": "209", + "title": "Административное состояние порта Eth_1" + }, + { + "id": "210", + "title": "Оперативное состояние порта Eth_1" + }, + { + "id": "211", + "title": "Общее количество отправленных октетов Eth_1" + }, + { + "id": "212", + "title": "Количество входящих Multicast пакетов Eth_1" + }, + { + "id": "213", + "title": "Количество иcходящих Multiicast пакетов Eth_1" + }, + { + "id": "214", + "title": "Количество входящих Broadcast пакетов Eth_1" + }, + { + "id": "215", + "title": "Количество иcходящих Broadcast пакетов Eth_1" + }, + { + "id": "216", + "title": "Количество входящих Unicast пакетов Eth_1" + }, + { + "id": "217", + "title": "Количество иcходящих Unicast пакетов Eth_1" + }, + { + "id": "218", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "219", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "220", + "title": "Количество входящих пакетов с ошибкой Eth_1" + }, + { + "id": "221", + "title": "Количество исходящих пакетов с ошибкой Eth_1" + }, + { + "id": "222", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" + } + ] + }, + { + "id": "281", + "title": "Сетевой адаптер №2 (port$262) Eth_2", + "items": [ + { + "id": "224", + "title": "Скорость порта Eth_2" + }, + { + "id": "226", + "title": "Административное состояние порта Eth_2" + }, + { + "id": "227", + "title": "Оперативное состояние порта Eth_2" + }, + { + "id": "228", + "title": "Общее количество отправленных октетов Eth_2" + }, + { + "id": "229", + "title": "Количество входящих Multicast пакетов Eth_2" + }, + { + "id": "230", + "title": "Количество иcходящих Multiicast пакетов Eth_2" + }, + { + "id": "231", + "title": "Количество входящих Broadcast пакетов Eth_2" + }, + { + "id": "232", + "title": "Количество иcходящих Broadcast пакетов Eth_2" + }, + { + "id": "233", + "title": "Количество входящих Unicast пакетов Eth_2" + }, + { + "id": "234", + "title": "Количество иcходящих Unicast пакетов Eth_2" + }, + { + "id": "235", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "236", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "237", + "title": "Количество входящих пакетов с ошибкой Eth_2" + }, + { + "id": "238", + "title": "Количество исходящих пакетов с ошибкой Eth_2" + }, + { + "id": "239", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" + } + ] + }, + { + "id": "282", + "title": "Сетевой адаптер №3 (port$263) Eth_3", + "items": [ + { + "id": "241", + "title": "Скорость порта Eth_3" + }, + { + "id": "243", + "title": "Административное состояние порта Eth_3" + }, + { + "id": "244", + "title": "Оперативное состояние порта Eth_3" + }, + { + "id": "245", + "title": "Общее количество отправленных октетов Eth_3" + }, + { + "id": "246", + "title": "Количество входящих Multicast пакетов Eth_3" + }, + { + "id": "247", + "title": "Количество иcходящих Multiicast пакетов Eth_3" + }, + { + "id": "248", + "title": "Количество входящих Broadcast пакетов Eth_3" + }, + { + "id": "249", + "title": "Количество иcходящих Broadcast пакетов Eth_3" + }, + { + "id": "250", + "title": "Количество входящих Unicast пакетов Eth_3" + }, + { + "id": "251", + "title": "Количество иcходящих Unicast пакетов Eth_3" + }, + { + "id": "252", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "253", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "254", + "title": "Количество входящих пакетов с ошибкой Eth_3" + }, + { + "id": "255", + "title": "Количество исходящих пакетов с ошибкой Eth_3" + }, + { + "id": "256", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" + } + ] + }, + { + "id": "283", + "title": "Сетевой адаптер №4 (port$264) Eth_4", + "items": [ + { + "id": "258", + "title": "Скорость порта Eth_4" + }, + { + "id": "260", + "title": "Административное состояние порта Eth_4" + }, + { + "id": "261", + "title": "Оперативное состояние порта Eth_4" + }, + { + "id": "262", + "title": "Общее количество отправленных октетов Eth_4" + }, + { + "id": "263", + "title": "Количество входящих Multicast пакетов Eth_4" + }, + { + "id": "264", + "title": "Количество иcходящих Multiicast пакетов Eth_4" + }, + { + "id": "265", + "title": "Количество входящих Broadcast пакетов Eth_4" + }, + { + "id": "266", + "title": "Количество иcходящих Broadcast пакетов Eth_4" + }, + { + "id": "267", + "title": "Количество входящих Unicast пакетов Eth_4" + }, + { + "id": "268", + "title": "Количество иcходящих Unicast пакетов Eth_4" + }, + { + "id": "269", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "270", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "271", + "title": "Количество входящих пакетов с ошибкой Eth_4" + }, + { + "id": "272", + "title": "Количество исходящих пакетов с ошибкой Eth_4" + }, + { + "id": "273", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" + } + ] + } + ] } ] }, { - "id": "283", - "title": "Сетевой адаптер №4 (port$264) Eth_4", + "title": "Сервер систем", + "id": "system_server_2", "items": [ { - "id": "258", - "title": "Скорость порта Eth_4" - }, - { - "id": "260", - "title": "Административное состояние порта Eth_4" - }, - { - "id": "261", - "title": "Оперативное состояние порта Eth_4" - }, - { - "id": "262", - "title": "Общее количество отправленных октетов Eth_4" - }, - { - "id": "263", - "title": "Количество входящих Multicast пакетов Eth_4" - }, - { - "id": "264", - "title": "Количество иcходящих Multiicast пакетов Eth_4" - }, - { - "id": "265", - "title": "Количество входящих Broadcast пакетов Eth_4" - }, - { - "id": "266", - "title": "Количество иcходящих Broadcast пакетов Eth_4" - }, - { - "id": "267", - "title": "Количество входящих Unicast пакетов Eth_4" - }, - { - "id": "268", - "title": "Количество иcходящих Unicast пакетов Eth_4" - }, - { - "id": "269", - "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" - }, - { - "id": "270", - "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" - }, - { - "id": "271", - "title": "Количество входящих пакетов с ошибкой Eth_4" - }, - { - "id": "272", - "title": "Количество исходящих пакетов с ошибкой Eth_4" - }, - { - "id": "273", - "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" + "id": "18", + "title": "Graviton S2082I (device$18)", + "items": [ + { + "id": "4", + "title": "OS Linux (module$4) АО", + "items": [ + { + "id": "190", + "title": "Загрузка процессора за 1 минуту" + }, + { + "id": "191", + "title": "Загрузка процессора за 5 минут" + }, + { + "id": "192", + "title": "Загрузка процессора за 15 минут" + }, + { + "id": "197", + "title": "Общий объем SWAP-файла" + }, + { + "id": "198", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "199", + "title": "Общий объем физической оперативной памяти" + }, + { + "id": "200", + "title": "Доступный объем физической оперативной памяти" + }, + { + "id": "201", + "title": "Свободный объем физической и виртуальной оперативной памяти" + }, + { + "id": "202", + "title": "Буферизованный объем оперативной памяти" + }, + { + "id": "203", + "title": "Кэшированый объем оперативной памяти" + }, + { + "id": "274", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "275", + "title": "Время затраченное процессором на процессы с пониженным приоритетом" + }, + { + "id": "276", + "title": "Время затраченное процессором на процессы ядра ОС" + }, + { + "id": "277", + "title": "Время простоя процессора" + }, + { + "id": "278", + "title": "Общая емкость жестких дисков" + }, + { + "id": "279", + "title": "Доступная емкость жестких дисков" + } + ] + }, + { + "id": "5", + "title": "Vinteo (module$5) ПО", + "items": [ + { + "id": "31", + "title": "Общее количество участников" + }, + { + "id": "32", + "title": "Ожидание соединения" + }, + { + "id": "33", + "title": "Зарегистрированные абоненты" + }, + { + "id": "34", + "title": "Количество пользоватей HLS" + }, + { + "id": "35", + "title": "Общее количество P2P комнат" + }, + { + "id": "36", + "title": "Общее количество конференций" + }, + { + "id": "37", + "title": "Общее количество активных конференций" + }, + { + "id": "38", + "title": "Статус записи" + }, + { + "id": "39", + "title": "Общее количество сохранённых записей" + } + ] + }, + { + "id": "280", + "title": "Сетевой адаптер №1 (port$261) Eth_1", + "items": [ + { + "id": "207", + "title": "Скорость порта Eth_1" + }, + { + "id": "209", + "title": "Административное состояние порта Eth_1" + }, + { + "id": "210", + "title": "Оперативное состояние порта Eth_1" + }, + { + "id": "211", + "title": "Общее количество отправленных октетов Eth_1" + }, + { + "id": "212", + "title": "Количество входящих Multicast пакетов Eth_1" + }, + { + "id": "213", + "title": "Количество иcходящих Multiicast пакетов Eth_1" + }, + { + "id": "214", + "title": "Количество входящих Broadcast пакетов Eth_1" + }, + { + "id": "215", + "title": "Количество иcходящих Broadcast пакетов Eth_1" + }, + { + "id": "216", + "title": "Количество входящих Unicast пакетов Eth_1" + }, + { + "id": "217", + "title": "Количество иcходящих Unicast пакетов Eth_1" + }, + { + "id": "218", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "219", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "220", + "title": "Количество входящих пакетов с ошибкой Eth_1" + }, + { + "id": "221", + "title": "Количество исходящих пакетов с ошибкой Eth_1" + }, + { + "id": "222", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" + } + ] + }, + { + "id": "281", + "title": "Сетевой адаптер №2 (port$262) Eth_2", + "items": [ + { + "id": "224", + "title": "Скорость порта Eth_2" + }, + { + "id": "226", + "title": "Административное состояние порта Eth_2" + }, + { + "id": "227", + "title": "Оперативное состояние порта Eth_2" + }, + { + "id": "228", + "title": "Общее количество отправленных октетов Eth_2" + }, + { + "id": "229", + "title": "Количество входящих Multicast пакетов Eth_2" + }, + { + "id": "230", + "title": "Количество иcходящих Multiicast пакетов Eth_2" + }, + { + "id": "231", + "title": "Количество входящих Broadcast пакетов Eth_2" + }, + { + "id": "232", + "title": "Количество иcходящих Broadcast пакетов Eth_2" + }, + { + "id": "233", + "title": "Количество входящих Unicast пакетов Eth_2" + }, + { + "id": "234", + "title": "Количество иcходящих Unicast пакетов Eth_2" + }, + { + "id": "235", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "236", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "237", + "title": "Количество входящих пакетов с ошибкой Eth_2" + }, + { + "id": "238", + "title": "Количество исходящих пакетов с ошибкой Eth_2" + }, + { + "id": "239", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" + } + ] + }, + { + "id": "282", + "title": "Сетевой адаптер №3 (port$263) Eth_3", + "items": [ + { + "id": "241", + "title": "Скорость порта Eth_3" + }, + { + "id": "243", + "title": "Административное состояние порта Eth_3" + }, + { + "id": "244", + "title": "Оперативное состояние порта Eth_3" + }, + { + "id": "245", + "title": "Общее количество отправленных октетов Eth_3" + }, + { + "id": "246", + "title": "Количество входящих Multicast пакетов Eth_3" + }, + { + "id": "247", + "title": "Количество иcходящих Multiicast пакетов Eth_3" + }, + { + "id": "248", + "title": "Количество входящих Broadcast пакетов Eth_3" + }, + { + "id": "249", + "title": "Количество иcходящих Broadcast пакетов Eth_3" + }, + { + "id": "250", + "title": "Количество входящих Unicast пакетов Eth_3" + }, + { + "id": "251", + "title": "Количество иcходящих Unicast пакетов Eth_3" + }, + { + "id": "252", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "253", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "254", + "title": "Количество входящих пакетов с ошибкой Eth_3" + }, + { + "id": "255", + "title": "Количество исходящих пакетов с ошибкой Eth_3" + }, + { + "id": "256", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" + } + ] + }, + { + "id": "283", + "title": "Сетевой адаптер №4 (port$264) Eth_4", + "items": [ + { + "id": "258", + "title": "Скорость порта Eth_4" + }, + { + "id": "260", + "title": "Административное состояние порта Eth_4" + }, + { + "id": "261", + "title": "Оперативное состояние порта Eth_4" + }, + { + "id": "262", + "title": "Общее количество отправленных октетов Eth_4" + }, + { + "id": "263", + "title": "Количество входящих Multicast пакетов Eth_4" + }, + { + "id": "264", + "title": "Количество иcходящих Multiicast пакетов Eth_4" + }, + { + "id": "265", + "title": "Количество входящих Broadcast пакетов Eth_4" + }, + { + "id": "266", + "title": "Количество иcходящих Broadcast пакетов Eth_4" + }, + { + "id": "267", + "title": "Количество входящих Unicast пакетов Eth_4" + }, + { + "id": "268", + "title": "Количество иcходящих Unicast пакетов Eth_4" + }, + { + "id": "269", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "270", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "271", + "title": "Количество входящих пакетов с ошибкой Eth_4" + }, + { + "id": "272", + "title": "Количество исходящих пакетов с ошибкой Eth_4" + }, + { + "id": "273", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" + } + ] + } + ] } ] } ] }, { - "title": "Медиа сервер", - "id": "media_server_1", + "title": "Управление и мониторинг ВКС", + "id": "1002", "items": [ { - "title": "Аппаратное обеспечение", - "id": "system_software_1", - "items": [ - { - "id": "media_system_software_1_2", - "title": "Центральный процессор" - }, - { - "id": "media_system_software_2_2", - "title": "Оперативная память" - }, - { - "id": "media_system_software_3_2", - "title": "Жесткий диск" - }, - { - "id": "media_system_software_4_2", - "title": "Сетевые адаптеры" - } - ] + "id": "server_control_1", + "title": "Сервер Управления", + "items": [] }, { - "title": "Программное обеспечение", - "id": "software_1", - "items": [ - { - "id": "media_software_1_2", - "title": "ПО" - }, - { - "id": "media_software_2_2", - "title": "ПО" - }, - { - "id": "media_software_3_2", - "title": "ПО" - }, - { - "id": "media_software_4_2", - "title": "ПО" - } - ] + "id": "server_control_2", + "title": "Сервер управления", + "items": [] + }, + { + "id": "server_control_3", + "title": "Сервер управления", + "items": [] } ] }, { - "title": "Медиа сервер", - "id": "media_server_2", + "title": "Сервер backup", + "id": "1003", "items": [ { - "title": "Аппаратное обеспечение", - "id": "system_software_2", - "items": [ - { - "id": "media_system_software_1_3", - "title": "Центральный процессор" - }, - { - "id": "media_system_software_2_3", - "title": "Оперативная память" - }, - { - "id": "media_system_software_3_3", - "title": "Жесткий диск" - }, - { - "id": "media_system_software_4_3", - "title": "Сетевые адаптеры" - } - ] + "id": "backup_service_1", + "title": "Резервное копирование данных", + "items": [] }, { - "title": "Программное обеспечение", - "id": "software_2", - "items": [ - { - "id": "media_software_1_3", - "title": "ПО" - }, - { - "id": "media_software_2_3", - "title": "ПО" - }, - { - "id": "media_software_3_3", - "title": "ПО" - }, - { - "id": "media_software_4_3", - "title": "ПО" - } - ] - } - ] - }, - { - "title": "Медиа сервер", - "id": "media_server_3", - "items": [ - { - "title": "Аппаратное обеспечение", - "id": "system_software_3", - "items": [ - { - "id": "media_system_software_1_4", - "title": "Центральный процессор" - }, - { - "id": "media_system_software_2_4", - "title": "Оперативная память" - }, - { - "id": "media_system_software_3_4", - "title": "Жесткий диск" - }, - { - "id": "media_system_software_4_4", - "title": "Сетевые адаптеры" - } - ] + "id": "backup_service_2", + "title": "Восстановление данных", + "items": [] }, { - "title": "Программное обеспечение", - "id": "software_3", - "items": [ - { - "id": "media_software_1_4", - "title": "ПО" - }, - { - "id": "media_software_2_4", - "title": "ПО" - }, - { - "id": "media_software_3_4", - "title": "ПО" - }, - { - "id": "media_software_4_4", - "title": "ПО" - } - ] - } - ] - }, - { - "title": "Медиа сервер", - "id": "media_server_4", - "items": [ - { - "title": "Аппаратное обеспечение", - "id": "system_software_4", - "items": [ - { - "id": "media_system_software_1_5", - "title": "Центральный процессор" - }, - { - "id": "media_system_software_2_5", - "title": "Оперативная память" - }, - { - "id": "media_system_software_3_5", - "title": "Жесткий диск" - }, - { - "id": "media_system_software_4_5", - "title": "Сетевые адаптеры" - } - ] - }, - { - "title": "Программное обеспечение", - "id": "software_4", - "items": [ - { - "id": "media_software_1_5", - "title": "ПО" - }, - { - "id": "media_software_2_5", - "title": "ПО" - }, - { - "id": "media_software_3_5", - "title": "ПО" - }, - { - "id": "media_software_4_5", - "title": "ПО" - } - ] - } - ] - }, - { - "title": "Сервер систем", - "id": "system_server_1", - "items": [ - { - "title": "Аппаратное обеспечение", - "id": "system_software_5", - "items": [ - { - "id": "copy_system_software_1", - "title": "Центральный процессор" - }, - { - "id": "copy_system_software_2", - "title": "Оперативная память" - }, - { - "id": "copy_system_software_3", - "title": "Жесткий диск" - }, - { - "id": "copy_system_software_4", - "title": "Сетевые адаптеры" - } - ] - }, - { - "title": "Программное обеспечение", - "id": "software_5", - "items": [ - { - "id": "copy_software_1", - "title": "ПО" - }, - { - "id": "copy_software_2", - "title": "ПО" - }, - { - "id": "copy_software_3", - "title": "ПО" - }, - { - "id": "copy_software_4", - "title": "ПО" - } - ] - } - ] - }, - { - "title": "Сервер систем", - "id": "system_server_2", - "items": [ - { - "title": "Аппаратное обеспечение", - "id": "system_software_6", - "items": [ - { - "id": "control_system_software_1", - "title": "Центральный процессор" - }, - { - "id": "control_system_software_2", - "title": "Оперативная память" - }, - { - "id": "control_system_software_3", - "title": "Жесткий диск" - }, - { - "id": "control_system_software_4", - "title": "Сетевые адаптеры" - } - ] - }, - { - "title": "Программное обеспечение", - "id": "software_6", - "items": [ - { - "id": "control_software_1", - "title": "ПО" - }, - { - "id": "control_software_2", - "title": "ПО" - }, - { - "id": "control_software_3", - "title": "ПО" - }, - { - "id": "control_software_4", - "title": "ПО" - } - ] + "id": "backup_service_3", + "title": "Настройка расписания", + "items": [] } ] } diff --git a/src/Components/TreeChart/menuData222.json b/src/Components/TreeChart/menuData222.json new file mode 100755 index 0000000..e8b99e6 --- /dev/null +++ b/src/Components/TreeChart/menuData222.json @@ -0,0 +1,714 @@ +{ + "title": "Сервис ЗВКС", + "id": "1", + "items": [ + { + "title": "Функциональные задачи", + "id": "functional_tasks", + "items": [ + { + "id": "system_control", + "title": "Контроль системы" + }, + { + "id": "system_management", + "title": "Система управления" + }, + { + "id": "conference", + "title": "Проведение ВКС" + }, + { + "id": "backup", + "title": "Резервное копирование" + }, + { + "id": "relay_info", + "title": "Ретрансляция информации" + } + ] + }, + { + "id": "18", + "title": "Graviton S2082I (device$18)", + "items": [ + { + "id": "4", + "title": "OS Linux (module$4) АО", + "items": [ + { + "id": "190", + "title": "Загрузка процессора за 1 минуту" + }, + { + "id": "191", + "title": "Загрузка процессора за 5 минут" + }, + { + "id": "192", + "title": "Загрузка процессора за 15 минут" + }, + { + "id": "197", + "title": "Общий объем SWAP-файла" + }, + { + "id": "198", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "199", + "title": "Общий объем физической оперативной памяти" + }, + { + "id": "200", + "title": "Доступный объем физической оперативной памяти" + }, + { + "id": "201", + "title": "Свободный объем физической и виртуальной оперативной памяти" + }, + { + "id": "202", + "title": "Буферизованный объем оперативной памяти" + }, + { + "id": "203", + "title": "Кэшированый объем оперативной памяти" + }, + { + "id": "274", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "275", + "title": "Время затраченное процессором на процессы с пониженным приоритетом" + }, + { + "id": "276", + "title": "Время затраченное процессором на процессы ядра ОС" + }, + { + "id": "277", + "title": "Время простоя процессора" + }, + { + "id": "278", + "title": "Общая емкость жестких дисков" + }, + { + "id": "279", + "title": "Доступная емкость жестких дисков" + } + ] + }, + { + "id": "5", + "title": "Vinteo (module$5) ПО", + "items": [ + { + "id": "31", + "title": "Общее количество участников" + }, + { + "id": "32", + "title": "Ожидание соединения" + }, + { + "id": "33", + "title": "Зарегистрированные абоненты" + }, + { + "id": "34", + "title": "Количество пользоватей HLS" + }, + { + "id": "35", + "title": "Общее количество P2P комнат" + }, + { + "id": "36", + "title": "Общее количество конференций" + }, + { + "id": "37", + "title": "Общее количество активных конференций" + }, + { + "id": "38", + "title": "Статус записи" + }, + { + "id": "39", + "title": "Общее количество сохранённых записей" + } + ] + }, + { + "id": "280", + "title": "Сетевой адаптер №1 (port$261) Eth_1", + "items": [ + { + "id": "207", + "title": "Скорость порта Eth_1" + }, + { + "id": "209", + "title": "Административное состояние порта Eth_1" + }, + { + "id": "210", + "title": "Оперативное состояние порта Eth_1" + }, + { + "id": "211", + "title": "Общее количество отправленных октетов Eth_1" + }, + { + "id": "212", + "title": "Количество входящих Multicast пакетов Eth_1" + }, + { + "id": "213", + "title": "Количество иcходящих Multiicast пакетов Eth_1" + }, + { + "id": "214", + "title": "Количество входящих Broadcast пакетов Eth_1" + }, + { + "id": "215", + "title": "Количество иcходящих Broadcast пакетов Eth_1" + }, + { + "id": "216", + "title": "Количество входящих Unicast пакетов Eth_1" + }, + { + "id": "217", + "title": "Количество иcходящих Unicast пакетов Eth_1" + }, + { + "id": "218", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "219", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "220", + "title": "Количество входящих пакетов с ошибкой Eth_1" + }, + { + "id": "221", + "title": "Количество исходящих пакетов с ошибкой Eth_1" + }, + { + "id": "222", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" + } + ] + }, + { + "id": "281", + "title": "Сетевой адаптер №2 (port$262) Eth_2", + "items": [ + { + "id": "224", + "title": "Скорость порта Eth_2" + }, + { + "id": "226", + "title": "Административное состояние порта Eth_2" + }, + { + "id": "227", + "title": "Оперативное состояние порта Eth_2" + }, + { + "id": "228", + "title": "Общее количество отправленных октетов Eth_2" + }, + { + "id": "229", + "title": "Количество входящих Multicast пакетов Eth_2" + }, + { + "id": "230", + "title": "Количество иcходящих Multiicast пакетов Eth_2" + }, + { + "id": "231", + "title": "Количество входящих Broadcast пакетов Eth_2" + }, + { + "id": "232", + "title": "Количество иcходящих Broadcast пакетов Eth_2" + }, + { + "id": "233", + "title": "Количество входящих Unicast пакетов Eth_2" + }, + { + "id": "234", + "title": "Количество иcходящих Unicast пакетов Eth_2" + }, + { + "id": "235", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "236", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "237", + "title": "Количество входящих пакетов с ошибкой Eth_2" + }, + { + "id": "238", + "title": "Количество исходящих пакетов с ошибкой Eth_2" + }, + { + "id": "239", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" + } + ] + }, + { + "id": "282", + "title": "Сетевой адаптер №3 (port$263) Eth_3", + "items": [ + { + "id": "241", + "title": "Скорость порта Eth_3" + }, + { + "id": "243", + "title": "Административное состояние порта Eth_3" + }, + { + "id": "244", + "title": "Оперативное состояние порта Eth_3" + }, + { + "id": "245", + "title": "Общее количество отправленных октетов Eth_3" + }, + { + "id": "246", + "title": "Количество входящих Multicast пакетов Eth_3" + }, + { + "id": "247", + "title": "Количество иcходящих Multiicast пакетов Eth_3" + }, + { + "id": "248", + "title": "Количество входящих Broadcast пакетов Eth_3" + }, + { + "id": "249", + "title": "Количество иcходящих Broadcast пакетов Eth_3" + }, + { + "id": "250", + "title": "Количество входящих Unicast пакетов Eth_3" + }, + { + "id": "251", + "title": "Количество иcходящих Unicast пакетов Eth_3" + }, + { + "id": "252", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "253", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "254", + "title": "Количество входящих пакетов с ошибкой Eth_3" + }, + { + "id": "255", + "title": "Количество исходящих пакетов с ошибкой Eth_3" + }, + { + "id": "256", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" + } + ] + }, + { + "id": "283", + "title": "Сетевой адаптер №4 (port$264) Eth_4", + "items": [ + { + "id": "258", + "title": "Скорость порта Eth_4" + }, + { + "id": "260", + "title": "Административное состояние порта Eth_4" + }, + { + "id": "261", + "title": "Оперативное состояние порта Eth_4" + }, + { + "id": "262", + "title": "Общее количество отправленных октетов Eth_4" + }, + { + "id": "263", + "title": "Количество входящих Multicast пакетов Eth_4" + }, + { + "id": "264", + "title": "Количество иcходящих Multiicast пакетов Eth_4" + }, + { + "id": "265", + "title": "Количество входящих Broadcast пакетов Eth_4" + }, + { + "id": "266", + "title": "Количество иcходящих Broadcast пакетов Eth_4" + }, + { + "id": "267", + "title": "Количество входящих Unicast пакетов Eth_4" + }, + { + "id": "268", + "title": "Количество иcходящих Unicast пакетов Eth_4" + }, + { + "id": "269", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "270", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "271", + "title": "Количество входящих пакетов с ошибкой Eth_4" + }, + { + "id": "272", + "title": "Количество исходящих пакетов с ошибкой Eth_4" + }, + { + "id": "273", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" + } + ] + } + ] + }, + { + "title": "Медиа сервер", + "id": "media_server_1", + "items": [ + { + "title": "Аппаратное обеспечение", + "id": "system_software_1", + "items": [ + { + "id": "media_system_software_1_2", + "title": "Центральный процессор" + }, + { + "id": "media_system_software_2_2", + "title": "Оперативная память" + }, + { + "id": "media_system_software_3_2", + "title": "Жесткий диск" + }, + { + "id": "media_system_software_4_2", + "title": "Сетевые адаптеры" + } + ] + }, + { + "title": "Программное обеспечение", + "id": "software_1", + "items": [ + { + "id": "media_software_1_2", + "title": "ПО" + }, + { + "id": "media_software_2_2", + "title": "ПО" + }, + { + "id": "media_software_3_2", + "title": "ПО" + }, + { + "id": "media_software_4_2", + "title": "ПО" + } + ] + } + ] + }, + { + "title": "Медиа сервер", + "id": "media_server_2", + "items": [ + { + "title": "Аппаратное обеспечение", + "id": "system_software_2", + "items": [ + { + "id": "media_system_software_1_3", + "title": "Центральный процессор" + }, + { + "id": "media_system_software_2_3", + "title": "Оперативная память" + }, + { + "id": "media_system_software_3_3", + "title": "Жесткий диск" + }, + { + "id": "media_system_software_4_3", + "title": "Сетевые адаптеры" + } + ] + }, + { + "title": "Программное обеспечение", + "id": "software_2", + "items": [ + { + "id": "media_software_1_3", + "title": "ПО" + }, + { + "id": "media_software_2_3", + "title": "ПО" + }, + { + "id": "media_software_3_3", + "title": "ПО" + }, + { + "id": "media_software_4_3", + "title": "ПО" + } + ] + } + ] + }, + { + "title": "Медиа сервер", + "id": "media_server_3", + "items": [ + { + "title": "Аппаратное обеспечение", + "id": "system_software_3", + "items": [ + { + "id": "media_system_software_1_4", + "title": "Центральный процессор" + }, + { + "id": "media_system_software_2_4", + "title": "Оперативная память" + }, + { + "id": "media_system_software_3_4", + "title": "Жесткий диск" + }, + { + "id": "media_system_software_4_4", + "title": "Сетевые адаптеры" + } + ] + }, + { + "title": "Программное обеспечение", + "id": "software_3", + "items": [ + { + "id": "media_software_1_4", + "title": "ПО" + }, + { + "id": "media_software_2_4", + "title": "ПО" + }, + { + "id": "media_software_3_4", + "title": "ПО" + }, + { + "id": "media_software_4_4", + "title": "ПО" + } + ] + } + ] + }, + { + "title": "Медиа сервер", + "id": "media_server_4", + "items": [ + { + "title": "Аппаратное обеспечение", + "id": "system_software_4", + "items": [ + { + "id": "media_system_software_1_5", + "title": "Центральный процессор" + }, + { + "id": "media_system_software_2_5", + "title": "Оперативная память" + }, + { + "id": "media_system_software_3_5", + "title": "Жесткий диск" + }, + { + "id": "media_system_software_4_5", + "title": "Сетевые адаптеры" + } + ] + }, + { + "title": "Программное обеспечение", + "id": "software_4", + "items": [ + { + "id": "media_software_1_5", + "title": "ПО" + }, + { + "id": "media_software_2_5", + "title": "ПО" + }, + { + "id": "media_software_3_5", + "title": "ПО" + }, + { + "id": "media_software_4_5", + "title": "ПО" + } + ] + } + ] + }, + { + "title": "Сервер систем", + "id": "system_server_1", + "items": [ + { + "title": "Аппаратное обеспечение", + "id": "system_software_5", + "items": [ + { + "id": "copy_system_software_1", + "title": "Центральный процессор" + }, + { + "id": "copy_system_software_2", + "title": "Оперативная память" + }, + { + "id": "copy_system_software_3", + "title": "Жесткий диск" + }, + { + "id": "copy_system_software_4", + "title": "Сетевые адаптеры" + } + ] + }, + { + "title": "Программное обеспечение", + "id": "software_5", + "items": [ + { + "id": "copy_software_1", + "title": "ПО" + }, + { + "id": "copy_software_2", + "title": "ПО" + }, + { + "id": "copy_software_3", + "title": "ПО" + }, + { + "id": "copy_software_4", + "title": "ПО" + } + ] + } + ] + }, + { + "title": "Сервер систем", + "id": "system_server_2", + "items": [ + { + "title": "Аппаратное обеспечение", + "id": "system_software_6", + "items": [ + { + "id": "control_system_software_1", + "title": "Центральный процессор" + }, + { + "id": "control_system_software_2", + "title": "Оперативная память" + }, + { + "id": "control_system_software_3", + "title": "Жесткий диск" + }, + { + "id": "control_system_software_4", + "title": "Сетевые адаптеры" + } + ] + }, + { + "title": "Программное обеспечение", + "id": "software_6", + "items": [ + { + "id": "control_software_1", + "title": "ПО" + }, + { + "id": "control_software_2", + "title": "ПО" + }, + { + "id": "control_software_3", + "title": "ПО" + }, + { + "id": "control_software_4", + "title": "ПО" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Components/TreeChart/tabContent.jsx b/src/Components/TreeChart/tabContent.jsx old mode 100644 new mode 100755 diff --git a/src/Components/UI/ErrorIndicator.jsx b/src/Components/UI/ErrorIndicator.jsx old mode 100644 new mode 100755 diff --git a/src/Components/UI/ExpandableInfo.jsx b/src/Components/UI/ExpandableInfo.jsx old mode 100644 new mode 100755 diff --git a/src/Components/UI/LoginModal.jsx b/src/Components/UI/LoginModal.jsx old mode 100644 new mode 100755 diff --git a/src/Components/UI/Modal.jsx b/src/Components/UI/Modal.jsx old mode 100644 new mode 100755 diff --git a/src/Components/UI/Tabs.jsx b/src/Components/UI/Tabs.jsx old mode 100644 new mode 100755 diff --git a/src/Components/UI/TreeTable.jsx b/src/Components/UI/TreeTable.jsx old mode 100644 new mode 100755 diff --git a/src/Components/UI/TreeTable222.jsx b/src/Components/UI/TreeTable222.jsx new file mode 100755 index 0000000..3aac6b7 --- /dev/null +++ b/src/Components/UI/TreeTable222.jsx @@ -0,0 +1,151 @@ +import React, { useEffect, useRef, useState } from "react"; +import "../../Style/TreeTable.css"; +import { statusManager1, statusManager2 } from "../TreeChart/dataUtils"; + +const TreeTable = ({ data }) => { + const tableRef = useRef(null); + const [fontSize, setFontSize] = useState(16); + const [log, setLog] = useState([]); + const [isLogVisible, setIsLogVisible] = useState(true); + + const adjustFontSize = () => { + if (tableRef.current) { + let newSize = 16; + const maxWidth = window.innerWidth; + + while (tableRef.current.scrollWidth > maxWidth && newSize > 10) { + newSize -= 1; + tableRef.current.style.fontSize = `${newSize}px`; + } + + while (tableRef.current.scrollWidth < maxWidth && newSize < 16) { + newSize += 1; + tableRef.current.style.fontSize = `${newSize}px`; + } + + setFontSize(newSize); + } + }; + + useEffect(() => { + adjustFontSize(); + window.addEventListener("resize", adjustFontSize); + return () => window.removeEventListener("resize", adjustFontSize); + }, [data]); + + useEffect(() => { + const newLog = []; + const traverse = (items) => { + items.forEach((item) => { + if (["yellow", "orange", "red"].includes(item.status)) { + newLog.push({ + title: item.title, + status: item.status, + time: new Date().toLocaleTimeString() // Добавляем время + }); + } + if (item.items) { + traverse(item.items); + } + }); + }; + traverse(data.items); + setLog(newLog); + }, [data]); + + const filteredData = data.items.filter((item) => item.title !== "Функциональные задачи"); + + const renderHeaders = (items) => { + return items.map((item) => { + // Если это последний уровень, не отображаем заголовок + if (!item.items || item.items.length === 0) { + return null; + } + + const colSpan = item.items ? item.items.length : 1; + return ( + +
+
+
+ {item.title} +
+ + ); + }); +}; + +const renderRows = (items) => { + if (!items || items.length === 0) return null; + + // Если это последний уровень, не отображаем строки + if (items.every((item) => !item.items || item.items.length === 0)) { + return null; + } + + return ( + + {items.map((item) => { + if (item.items && item.items.length > 0) { + return ( + + {item.items.map((child) => ( + +
+
+
+ {child.title} +
+ + ))} + + ); + } else { + return null; // Не отображаем элементы последнего уровня + } + })} + + ); +}; + + return ( +
+ + + + + + {renderHeaders(filteredData)} + + {renderRows(filteredData)} +
acc + (item.items ? item.items.length : 1), 0)} + className="tree-table-header" + title={data.title} + > +
+
+
+ {data.title} +
+
+ + {isLogVisible && ( +
+

Лог статусов

+
    + {log.map((entry, index) => ( +
  • + [{entry.time}] {entry.status}: {entry.title} +
  • + ))} +
+
+ )} +
+ ); +}; + +export default TreeTable; \ No newline at end of file diff --git a/src/Style/Dashboard.css b/src/Style/Dashboard.css old mode 100644 new mode 100755 diff --git a/src/Style/DatePicker.css b/src/Style/DatePicker.css old mode 100644 new mode 100755 diff --git a/src/Style/ErrorIndicator.css b/src/Style/ErrorIndicator.css old mode 100644 new mode 100755 diff --git a/src/Style/Expandable.css b/src/Style/Expandable.css old mode 100644 new mode 100755 diff --git a/src/Style/LoginModal.css b/src/Style/LoginModal.css old mode 100644 new mode 100755 diff --git a/src/Style/SidebarMenu.css b/src/Style/SidebarMenu.css old mode 100644 new mode 100755 diff --git a/src/Style/SystemStatusTable.css b/src/Style/SystemStatusTable.css old mode 100644 new mode 100755 diff --git a/src/Style/ThemeSwitch.jsx b/src/Style/ThemeSwitch.jsx new file mode 100755 index 0000000..3f00059 --- /dev/null +++ b/src/Style/ThemeSwitch.jsx @@ -0,0 +1,31 @@ +import { createTheme, ThemeProvider } from "@mui/material/styles"; + +// Светлая тема +const lightTheme = createTheme({ + palette: { + mode: "light", + background: { + default: "#FFFFFF", + paper: "#f4f4f4", + }, + text: { + primary: "#000000", + secondary: "#333333", + }, + }, +}); + +// Темная тема +const darkTheme = createTheme({ + palette: { + mode: "dark", + background: { + default: "#1E1E1E", + paper: "#2d2d2d", + }, + text: { + primary: "#E0E0E0", + secondary: "#CCCCCC", + }, + }, +}); \ No newline at end of file diff --git a/src/Style/TreeChart.css b/src/Style/TreeChart.css old mode 100644 new mode 100755 diff --git a/src/Style/TreeTable.css b/src/Style/TreeTable.css old mode 100644 new mode 100755 diff --git a/src/Style/common.css b/src/Style/common.css old mode 100644 new mode 100755 diff --git a/src/Style/dark-theme.css b/src/Style/dark-theme.css old mode 100644 new mode 100755 diff --git a/src/Style/light-theme.css b/src/Style/light-theme.css old mode 100644 new mode 100755 diff --git a/src/assets/images/critical.png b/src/assets/images/critical.png old mode 100644 new mode 100755 diff --git a/src/assets/images/warning.png b/src/assets/images/warning.png old mode 100644 new mode 100755 -- 2.40.1 From eed159e4ab20bad9962a23d81dacea46ee98735a Mon Sep 17 00:00:00 2001 From: prplV Date: Mon, 17 Mar 2025 09:15:25 -0400 Subject: [PATCH 3/7] dark theme login window --- src/Style/LoginModal.css | 29 +++++++++++++++++++++++------ src/Style/dark-theme.css | 5 ++++- src/Style/light-theme.css | 3 +++ 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/src/Style/LoginModal.css b/src/Style/LoginModal.css index efd544a..971fd36 100755 --- a/src/Style/LoginModal.css +++ b/src/Style/LoginModal.css @@ -4,7 +4,7 @@ left: 0; right: 0; bottom: 0; - background: rgba(0, 0, 0, 0.5); + background: var(--modal-background); display: flex; justify-content: center; align-items: center; @@ -13,8 +13,9 @@ .modal { background: var(--modal-background); padding: 20px; + /* padding-right: 3%; */ border-radius: 8px; - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + /* box-shadow: 0 0.3vh 2vh #1E1E1E; */ max-width: 400px; width: 100%; color: var(--modal-text); @@ -22,36 +23,52 @@ .modal h2 { margin-bottom: 20px; + text-align: center; + font-size: 4vh; } .modal label { display: block; margin-bottom: 5px; color: var(--modal-text); + font-size: larger; + font-weight: bolder; + padding-bottom: 1%; } .modal input { width: 100%; - padding: 8px; + /* padding: 8px; */ + padding-top: 3%; + padding-bottom: 3%; + /* margin-left: 3%; */ + /* margin-right: 10%; */ margin-bottom: 10px; border: 1px solid #ccc; border-radius: 4px; + font-size: larger; background-color: var(--modal-background); color: var(--modal-text); } .modal button { - padding: 10px 20px; + /* padding: 10px 20px; */ + margin-top: 5vh; margin-bottom: 5px; - background: var(--accent-color); + background: var(--modal--btn-background); color: var(--text-color); border: none; border-radius: 4px; + box-shadow: 0 0.3vh 1vh #2c2c2c; cursor: pointer; + width: 100%; + padding-top: 4%; + padding-bottom: 4%; + transition: 0.2s; } .modal button:hover { - background: var(--accent-hover-color); + background: var(--hover-button); } .error { diff --git a/src/Style/dark-theme.css b/src/Style/dark-theme.css index 5e61591..ae5c96a 100755 --- a/src/Style/dark-theme.css +++ b/src/Style/dark-theme.css @@ -8,7 +8,8 @@ /* Темный цвет сайдбара */ --sidebar-text-color: #E0E0E0; /* Светлый текст в сайдбаре */ - --modal-background: #333333; + --modal-background: #2d2d2d; + --modal--btn-background: #333333; --modal-text: #FFFFFF; --table-border: #444444; --table-header-background: #2d2d2d; @@ -17,5 +18,7 @@ /* Светлый текст в таблице */ --TreeChart-text-color: #ffffff; --scrollbar-track-color: #333; + /* hover for buttons */ + --hover-button: #333d4d; } } \ No newline at end of file diff --git a/src/Style/light-theme.css b/src/Style/light-theme.css index 6a43ada..287b9f2 100755 --- a/src/Style/light-theme.css +++ b/src/Style/light-theme.css @@ -14,4 +14,7 @@ --table-cell-background: #FFFFFF; --table-text-color: #000000; /* Черный текст в таблице */ + + /* hover for buttons */ + --hover-button: #2c579c; } \ No newline at end of file -- 2.40.1 From f88fd411920968b370954e61b2364ab8df702352 Mon Sep 17 00:00:00 2001 From: prplV Date: Mon, 17 Mar 2025 09:25:49 -0400 Subject: [PATCH 4/7] input fix --- src/Style/LoginModal.css | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Style/LoginModal.css b/src/Style/LoginModal.css index 971fd36..10f969f 100755 --- a/src/Style/LoginModal.css +++ b/src/Style/LoginModal.css @@ -37,14 +37,14 @@ } .modal input { - width: 100%; - /* padding: 8px; */ + width: 94%; + /* max-width: fit-content; */ + padding: 3%; padding-top: 3%; padding-bottom: 3%; - /* margin-left: 3%; */ - /* margin-right: 10%; */ margin-bottom: 10px; border: 1px solid #ccc; + /* text-align: start; */ border-radius: 4px; font-size: larger; background-color: var(--modal-background); -- 2.40.1 From b390f3f03af537a0e158ac06b88c288df2143785 Mon Sep 17 00:00:00 2001 From: prplV Date: Mon, 17 Mar 2025 09:36:47 -0400 Subject: [PATCH 5/7] menu changed --- src/Components/TreeChart/menuData.json | 3106 ++++++++++++++++++------ 1 file changed, 2314 insertions(+), 792 deletions(-) diff --git a/src/Components/TreeChart/menuData.json b/src/Components/TreeChart/menuData.json index 43f44fc..aabfefc 100755 --- a/src/Components/TreeChart/menuData.json +++ b/src/Components/TreeChart/menuData.json @@ -1,5 +1,5 @@ { - "title": "Сервер ВКС", + "title": "ЗВКС", "id": "1001", "items": [ { @@ -782,782 +782,6 @@ } ] }, - { - "title": "Медиа сервер", - "id": "media_server_3", - "items": [ - { - "id": "18", - "title": "Graviton S2082I (device$18)", - "items": [ - { - "id": "4", - "title": "OS Linux (module$4) АО", - "items": [ - { - "id": "190", - "title": "Загрузка процессора за 1 минуту" - }, - { - "id": "191", - "title": "Загрузка процессора за 5 минут" - }, - { - "id": "192", - "title": "Загрузка процессора за 15 минут" - }, - { - "id": "197", - "title": "Общий объем SWAP-файла" - }, - { - "id": "198", - "title": "Используемый объем SWAP-файла" - }, - { - "id": "199", - "title": "Общий объем физической оперативной памяти" - }, - { - "id": "200", - "title": "Доступный объем физической оперативной памяти" - }, - { - "id": "201", - "title": "Свободный объем физической и виртуальной оперативной памяти" - }, - { - "id": "202", - "title": "Буферизованный объем оперативной памяти" - }, - { - "id": "203", - "title": "Кэшированый объем оперативной памяти" - }, - { - "id": "274", - "title": "Используемый объем SWAP-файла" - }, - { - "id": "275", - "title": "Время затраченное процессором на процессы с пониженным приоритетом" - }, - { - "id": "276", - "title": "Время затраченное процессором на процессы ядра ОС" - }, - { - "id": "277", - "title": "Время простоя процессора" - }, - { - "id": "278", - "title": "Общая емкость жестких дисков" - }, - { - "id": "279", - "title": "Доступная емкость жестких дисков" - } - ] - }, - { - "id": "5", - "title": "Vinteo (module$5) ПО", - "items": [ - { - "id": "31", - "title": "Общее количество участников" - }, - { - "id": "32", - "title": "Ожидание соединения" - }, - { - "id": "33", - "title": "Зарегистрированные абоненты" - }, - { - "id": "34", - "title": "Количество пользоватей HLS" - }, - { - "id": "35", - "title": "Общее количество P2P комнат" - }, - { - "id": "36", - "title": "Общее количество конференций" - }, - { - "id": "37", - "title": "Общее количество активных конференций" - }, - { - "id": "38", - "title": "Статус записи" - }, - { - "id": "39", - "title": "Общее количество сохранённых записей" - } - ] - }, - { - "id": "280", - "title": "Сетевой адаптер №1 (port$261) Eth_1", - "items": [ - { - "id": "207", - "title": "Скорость порта Eth_1" - }, - { - "id": "209", - "title": "Административное состояние порта Eth_1" - }, - { - "id": "210", - "title": "Оперативное состояние порта Eth_1" - }, - { - "id": "211", - "title": "Общее количество отправленных октетов Eth_1" - }, - { - "id": "212", - "title": "Количество входящих Multicast пакетов Eth_1" - }, - { - "id": "213", - "title": "Количество иcходящих Multiicast пакетов Eth_1" - }, - { - "id": "214", - "title": "Количество входящих Broadcast пакетов Eth_1" - }, - { - "id": "215", - "title": "Количество иcходящих Broadcast пакетов Eth_1" - }, - { - "id": "216", - "title": "Количество входящих Unicast пакетов Eth_1" - }, - { - "id": "217", - "title": "Количество иcходящих Unicast пакетов Eth_1" - }, - { - "id": "218", - "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" - }, - { - "id": "219", - "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" - }, - { - "id": "220", - "title": "Количество входящих пакетов с ошибкой Eth_1" - }, - { - "id": "221", - "title": "Количество исходящих пакетов с ошибкой Eth_1" - }, - { - "id": "222", - "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" - } - ] - }, - { - "id": "281", - "title": "Сетевой адаптер №2 (port$262) Eth_2", - "items": [ - { - "id": "224", - "title": "Скорость порта Eth_2" - }, - { - "id": "226", - "title": "Административное состояние порта Eth_2" - }, - { - "id": "227", - "title": "Оперативное состояние порта Eth_2" - }, - { - "id": "228", - "title": "Общее количество отправленных октетов Eth_2" - }, - { - "id": "229", - "title": "Количество входящих Multicast пакетов Eth_2" - }, - { - "id": "230", - "title": "Количество иcходящих Multiicast пакетов Eth_2" - }, - { - "id": "231", - "title": "Количество входящих Broadcast пакетов Eth_2" - }, - { - "id": "232", - "title": "Количество иcходящих Broadcast пакетов Eth_2" - }, - { - "id": "233", - "title": "Количество входящих Unicast пакетов Eth_2" - }, - { - "id": "234", - "title": "Количество иcходящих Unicast пакетов Eth_2" - }, - { - "id": "235", - "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" - }, - { - "id": "236", - "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" - }, - { - "id": "237", - "title": "Количество входящих пакетов с ошибкой Eth_2" - }, - { - "id": "238", - "title": "Количество исходящих пакетов с ошибкой Eth_2" - }, - { - "id": "239", - "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" - } - ] - }, - { - "id": "282", - "title": "Сетевой адаптер №3 (port$263) Eth_3", - "items": [ - { - "id": "241", - "title": "Скорость порта Eth_3" - }, - { - "id": "243", - "title": "Административное состояние порта Eth_3" - }, - { - "id": "244", - "title": "Оперативное состояние порта Eth_3" - }, - { - "id": "245", - "title": "Общее количество отправленных октетов Eth_3" - }, - { - "id": "246", - "title": "Количество входящих Multicast пакетов Eth_3" - }, - { - "id": "247", - "title": "Количество иcходящих Multiicast пакетов Eth_3" - }, - { - "id": "248", - "title": "Количество входящих Broadcast пакетов Eth_3" - }, - { - "id": "249", - "title": "Количество иcходящих Broadcast пакетов Eth_3" - }, - { - "id": "250", - "title": "Количество входящих Unicast пакетов Eth_3" - }, - { - "id": "251", - "title": "Количество иcходящих Unicast пакетов Eth_3" - }, - { - "id": "252", - "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" - }, - { - "id": "253", - "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" - }, - { - "id": "254", - "title": "Количество входящих пакетов с ошибкой Eth_3" - }, - { - "id": "255", - "title": "Количество исходящих пакетов с ошибкой Eth_3" - }, - { - "id": "256", - "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" - } - ] - }, - { - "id": "283", - "title": "Сетевой адаптер №4 (port$264) Eth_4", - "items": [ - { - "id": "258", - "title": "Скорость порта Eth_4" - }, - { - "id": "260", - "title": "Административное состояние порта Eth_4" - }, - { - "id": "261", - "title": "Оперативное состояние порта Eth_4" - }, - { - "id": "262", - "title": "Общее количество отправленных октетов Eth_4" - }, - { - "id": "263", - "title": "Количество входящих Multicast пакетов Eth_4" - }, - { - "id": "264", - "title": "Количество иcходящих Multiicast пакетов Eth_4" - }, - { - "id": "265", - "title": "Количество входящих Broadcast пакетов Eth_4" - }, - { - "id": "266", - "title": "Количество иcходящих Broadcast пакетов Eth_4" - }, - { - "id": "267", - "title": "Количество входящих Unicast пакетов Eth_4" - }, - { - "id": "268", - "title": "Количество иcходящих Unicast пакетов Eth_4" - }, - { - "id": "269", - "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" - }, - { - "id": "270", - "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" - }, - { - "id": "271", - "title": "Количество входящих пакетов с ошибкой Eth_4" - }, - { - "id": "272", - "title": "Количество исходящих пакетов с ошибкой Eth_4" - }, - { - "id": "273", - "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" - } - ] - } - ] - } - ] - }, - { - "title": "Медиа сервер", - "id": "media_server_4", - "items": [ - { - "id": "18", - "title": "Graviton S2082I (device$18)", - "items": [ - { - "id": "4", - "title": "OS Linux (module$4) АО", - "items": [ - { - "id": "190", - "title": "Загрузка процессора за 1 минуту" - }, - { - "id": "191", - "title": "Загрузка процессора за 5 минут" - }, - { - "id": "192", - "title": "Загрузка процессора за 15 минут" - }, - { - "id": "197", - "title": "Общий объем SWAP-файла" - }, - { - "id": "198", - "title": "Используемый объем SWAP-файла" - }, - { - "id": "199", - "title": "Общий объем физической оперативной памяти" - }, - { - "id": "200", - "title": "Доступный объем физической оперативной памяти" - }, - { - "id": "201", - "title": "Свободный объем физической и виртуальной оперативной памяти" - }, - { - "id": "202", - "title": "Буферизованный объем оперативной памяти" - }, - { - "id": "203", - "title": "Кэшированый объем оперативной памяти" - }, - { - "id": "274", - "title": "Используемый объем SWAP-файла" - }, - { - "id": "275", - "title": "Время затраченное процессором на процессы с пониженным приоритетом" - }, - { - "id": "276", - "title": "Время затраченное процессором на процессы ядра ОС" - }, - { - "id": "277", - "title": "Время простоя процессора" - }, - { - "id": "278", - "title": "Общая емкость жестких дисков" - }, - { - "id": "279", - "title": "Доступная емкость жестких дисков" - } - ] - }, - { - "id": "5", - "title": "Vinteo (module$5) ПО", - "items": [ - { - "id": "31", - "title": "Общее количество участников" - }, - { - "id": "32", - "title": "Ожидание соединения" - }, - { - "id": "33", - "title": "Зарегистрированные абоненты" - }, - { - "id": "34", - "title": "Количество пользоватей HLS" - }, - { - "id": "35", - "title": "Общее количество P2P комнат" - }, - { - "id": "36", - "title": "Общее количество конференций" - }, - { - "id": "37", - "title": "Общее количество активных конференций" - }, - { - "id": "38", - "title": "Статус записи" - }, - { - "id": "39", - "title": "Общее количество сохранённых записей" - } - ] - }, - { - "id": "280", - "title": "Сетевой адаптер №1 (port$261) Eth_1", - "items": [ - { - "id": "207", - "title": "Скорость порта Eth_1" - }, - { - "id": "209", - "title": "Административное состояние порта Eth_1" - }, - { - "id": "210", - "title": "Оперативное состояние порта Eth_1" - }, - { - "id": "211", - "title": "Общее количество отправленных октетов Eth_1" - }, - { - "id": "212", - "title": "Количество входящих Multicast пакетов Eth_1" - }, - { - "id": "213", - "title": "Количество иcходящих Multiicast пакетов Eth_1" - }, - { - "id": "214", - "title": "Количество входящих Broadcast пакетов Eth_1" - }, - { - "id": "215", - "title": "Количество иcходящих Broadcast пакетов Eth_1" - }, - { - "id": "216", - "title": "Количество входящих Unicast пакетов Eth_1" - }, - { - "id": "217", - "title": "Количество иcходящих Unicast пакетов Eth_1" - }, - { - "id": "218", - "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" - }, - { - "id": "219", - "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" - }, - { - "id": "220", - "title": "Количество входящих пакетов с ошибкой Eth_1" - }, - { - "id": "221", - "title": "Количество исходящих пакетов с ошибкой Eth_1" - }, - { - "id": "222", - "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" - } - ] - }, - { - "id": "281", - "title": "Сетевой адаптер №2 (port$262) Eth_2", - "items": [ - { - "id": "224", - "title": "Скорость порта Eth_2" - }, - { - "id": "226", - "title": "Административное состояние порта Eth_2" - }, - { - "id": "227", - "title": "Оперативное состояние порта Eth_2" - }, - { - "id": "228", - "title": "Общее количество отправленных октетов Eth_2" - }, - { - "id": "229", - "title": "Количество входящих Multicast пакетов Eth_2" - }, - { - "id": "230", - "title": "Количество иcходящих Multiicast пакетов Eth_2" - }, - { - "id": "231", - "title": "Количество входящих Broadcast пакетов Eth_2" - }, - { - "id": "232", - "title": "Количество иcходящих Broadcast пакетов Eth_2" - }, - { - "id": "233", - "title": "Количество входящих Unicast пакетов Eth_2" - }, - { - "id": "234", - "title": "Количество иcходящих Unicast пакетов Eth_2" - }, - { - "id": "235", - "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" - }, - { - "id": "236", - "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" - }, - { - "id": "237", - "title": "Количество входящих пакетов с ошибкой Eth_2" - }, - { - "id": "238", - "title": "Количество исходящих пакетов с ошибкой Eth_2" - }, - { - "id": "239", - "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" - } - ] - }, - { - "id": "282", - "title": "Сетевой адаптер №3 (port$263) Eth_3", - "items": [ - { - "id": "241", - "title": "Скорость порта Eth_3" - }, - { - "id": "243", - "title": "Административное состояние порта Eth_3" - }, - { - "id": "244", - "title": "Оперативное состояние порта Eth_3" - }, - { - "id": "245", - "title": "Общее количество отправленных октетов Eth_3" - }, - { - "id": "246", - "title": "Количество входящих Multicast пакетов Eth_3" - }, - { - "id": "247", - "title": "Количество иcходящих Multiicast пакетов Eth_3" - }, - { - "id": "248", - "title": "Количество входящих Broadcast пакетов Eth_3" - }, - { - "id": "249", - "title": "Количество иcходящих Broadcast пакетов Eth_3" - }, - { - "id": "250", - "title": "Количество входящих Unicast пакетов Eth_3" - }, - { - "id": "251", - "title": "Количество иcходящих Unicast пакетов Eth_3" - }, - { - "id": "252", - "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" - }, - { - "id": "253", - "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" - }, - { - "id": "254", - "title": "Количество входящих пакетов с ошибкой Eth_3" - }, - { - "id": "255", - "title": "Количество исходящих пакетов с ошибкой Eth_3" - }, - { - "id": "256", - "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" - } - ] - }, - { - "id": "283", - "title": "Сетевой адаптер №4 (port$264) Eth_4", - "items": [ - { - "id": "258", - "title": "Скорость порта Eth_4" - }, - { - "id": "260", - "title": "Административное состояние порта Eth_4" - }, - { - "id": "261", - "title": "Оперативное состояние порта Eth_4" - }, - { - "id": "262", - "title": "Общее количество отправленных октетов Eth_4" - }, - { - "id": "263", - "title": "Количество входящих Multicast пакетов Eth_4" - }, - { - "id": "264", - "title": "Количество иcходящих Multiicast пакетов Eth_4" - }, - { - "id": "265", - "title": "Количество входящих Broadcast пакетов Eth_4" - }, - { - "id": "266", - "title": "Количество иcходящих Broadcast пакетов Eth_4" - }, - { - "id": "267", - "title": "Количество входящих Unicast пакетов Eth_4" - }, - { - "id": "268", - "title": "Количество иcходящих Unicast пакетов Eth_4" - }, - { - "id": "269", - "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" - }, - { - "id": "270", - "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" - }, - { - "id": "271", - "title": "Количество входящих пакетов с ошибкой Eth_4" - }, - { - "id": "272", - "title": "Количество исходящих пакетов с ошибкой Eth_4" - }, - { - "id": "273", - "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" - } - ] - } - ] - } - ] - }, { "title": "Сервер систем", "id": "system_server_1", @@ -2341,40 +1565,2338 @@ "id": "1002", "items": [ { - "id": "server_control_1", "title": "Сервер Управления", - "items": [] + "id": "media_server_1", + "items": [ + { + "id": "18", + "title": "Graviton S2082I (device$18)", + "items": [ + { + "id": "4", + "title": "OS Linux (module$4) АО", + "items": [ + { + "id": "190", + "title": "Загрузка процессора за 1 минуту" + }, + { + "id": "191", + "title": "Загрузка процессора за 5 минут" + }, + { + "id": "192", + "title": "Загрузка процессора за 15 минут" + }, + { + "id": "197", + "title": "Общий объем SWAP-файла" + }, + { + "id": "198", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "199", + "title": "Общий объем физической оперативной памяти" + }, + { + "id": "200", + "title": "Доступный объем физической оперативной памяти" + }, + { + "id": "201", + "title": "Свободный объем физической и виртуальной оперативной памяти" + }, + { + "id": "202", + "title": "Буферизованный объем оперативной памяти" + }, + { + "id": "203", + "title": "Кэшированый объем оперативной памяти" + }, + { + "id": "274", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "275", + "title": "Время затраченное процессором на процессы с пониженным приоритетом" + }, + { + "id": "276", + "title": "Время затраченное процессором на процессы ядра ОС" + }, + { + "id": "277", + "title": "Время простоя процессора" + }, + { + "id": "278", + "title": "Общая емкость жестких дисков" + }, + { + "id": "279", + "title": "Доступная емкость жестких дисков" + } + ] + }, + { + "id": "5", + "title": "Vinteo (module$5) ПО", + "items": [ + { + "id": "31", + "title": "Общее количество участников" + }, + { + "id": "32", + "title": "Ожидание соединения" + }, + { + "id": "33", + "title": "Зарегистрированные абоненты" + }, + { + "id": "34", + "title": "Количество пользоватей HLS" + }, + { + "id": "35", + "title": "Общее количество P2P комнат" + }, + { + "id": "36", + "title": "Общее количество конференций" + }, + { + "id": "37", + "title": "Общее количество активных конференций" + }, + { + "id": "38", + "title": "Статус записи" + }, + { + "id": "39", + "title": "Общее количество сохранённых записей" + } + ] + }, + { + "id": "280", + "title": "Сетевой адаптер №1 (port$261) Eth_1", + "items": [ + { + "id": "207", + "title": "Скорость порта Eth_1" + }, + { + "id": "209", + "title": "Административное состояние порта Eth_1" + }, + { + "id": "210", + "title": "Оперативное состояние порта Eth_1" + }, + { + "id": "211", + "title": "Общее количество отправленных октетов Eth_1" + }, + { + "id": "212", + "title": "Количество входящих Multicast пакетов Eth_1" + }, + { + "id": "213", + "title": "Количество иcходящих Multiicast пакетов Eth_1" + }, + { + "id": "214", + "title": "Количество входящих Broadcast пакетов Eth_1" + }, + { + "id": "215", + "title": "Количество иcходящих Broadcast пакетов Eth_1" + }, + { + "id": "216", + "title": "Количество входящих Unicast пакетов Eth_1" + }, + { + "id": "217", + "title": "Количество иcходящих Unicast пакетов Eth_1" + }, + { + "id": "218", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "219", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "220", + "title": "Количество входящих пакетов с ошибкой Eth_1" + }, + { + "id": "221", + "title": "Количество исходящих пакетов с ошибкой Eth_1" + }, + { + "id": "222", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" + } + ] + }, + { + "id": "281", + "title": "Сетевой адаптер №2 (port$262) Eth_2", + "items": [ + { + "id": "224", + "title": "Скорость порта Eth_2" + }, + { + "id": "226", + "title": "Административное состояние порта Eth_2" + }, + { + "id": "227", + "title": "Оперативное состояние порта Eth_2" + }, + { + "id": "228", + "title": "Общее количество отправленных октетов Eth_2" + }, + { + "id": "229", + "title": "Количество входящих Multicast пакетов Eth_2" + }, + { + "id": "230", + "title": "Количество иcходящих Multiicast пакетов Eth_2" + }, + { + "id": "231", + "title": "Количество входящих Broadcast пакетов Eth_2" + }, + { + "id": "232", + "title": "Количество иcходящих Broadcast пакетов Eth_2" + }, + { + "id": "233", + "title": "Количество входящих Unicast пакетов Eth_2" + }, + { + "id": "234", + "title": "Количество иcходящих Unicast пакетов Eth_2" + }, + { + "id": "235", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "236", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "237", + "title": "Количество входящих пакетов с ошибкой Eth_2" + }, + { + "id": "238", + "title": "Количество исходящих пакетов с ошибкой Eth_2" + }, + { + "id": "239", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" + } + ] + }, + { + "id": "282", + "title": "Сетевой адаптер №3 (port$263) Eth_3", + "items": [ + { + "id": "241", + "title": "Скорость порта Eth_3" + }, + { + "id": "243", + "title": "Административное состояние порта Eth_3" + }, + { + "id": "244", + "title": "Оперативное состояние порта Eth_3" + }, + { + "id": "245", + "title": "Общее количество отправленных октетов Eth_3" + }, + { + "id": "246", + "title": "Количество входящих Multicast пакетов Eth_3" + }, + { + "id": "247", + "title": "Количество иcходящих Multiicast пакетов Eth_3" + }, + { + "id": "248", + "title": "Количество входящих Broadcast пакетов Eth_3" + }, + { + "id": "249", + "title": "Количество иcходящих Broadcast пакетов Eth_3" + }, + { + "id": "250", + "title": "Количество входящих Unicast пакетов Eth_3" + }, + { + "id": "251", + "title": "Количество иcходящих Unicast пакетов Eth_3" + }, + { + "id": "252", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "253", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "254", + "title": "Количество входящих пакетов с ошибкой Eth_3" + }, + { + "id": "255", + "title": "Количество исходящих пакетов с ошибкой Eth_3" + }, + { + "id": "256", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" + } + ] + }, + { + "id": "283", + "title": "Сетевой адаптер №4 (port$264) Eth_4", + "items": [ + { + "id": "258", + "title": "Скорость порта Eth_4" + }, + { + "id": "260", + "title": "Административное состояние порта Eth_4" + }, + { + "id": "261", + "title": "Оперативное состояние порта Eth_4" + }, + { + "id": "262", + "title": "Общее количество отправленных октетов Eth_4" + }, + { + "id": "263", + "title": "Количество входящих Multicast пакетов Eth_4" + }, + { + "id": "264", + "title": "Количество иcходящих Multiicast пакетов Eth_4" + }, + { + "id": "265", + "title": "Количество входящих Broadcast пакетов Eth_4" + }, + { + "id": "266", + "title": "Количество иcходящих Broadcast пакетов Eth_4" + }, + { + "id": "267", + "title": "Количество входящих Unicast пакетов Eth_4" + }, + { + "id": "268", + "title": "Количество иcходящих Unicast пакетов Eth_4" + }, + { + "id": "269", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "270", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "271", + "title": "Количество входящих пакетов с ошибкой Eth_4" + }, + { + "id": "272", + "title": "Количество исходящих пакетов с ошибкой Eth_4" + }, + { + "id": "273", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" + } + ] + } + ] + } + ] }, { - "id": "server_control_2", - "title": "Сервер управления", - "items": [] + "title": "Сервер Управления", + "id": "media_server_2", + "items": [ + { + "id": "18", + "title": "Graviton S2082I (device$18)", + "items": [ + { + "id": "4", + "title": "OS Linux (module$4) АО", + "items": [ + { + "id": "190", + "title": "Загрузка процессора за 1 минуту" + }, + { + "id": "191", + "title": "Загрузка процессора за 5 минут" + }, + { + "id": "192", + "title": "Загрузка процессора за 15 минут" + }, + { + "id": "197", + "title": "Общий объем SWAP-файла" + }, + { + "id": "198", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "199", + "title": "Общий объем физической оперативной памяти" + }, + { + "id": "200", + "title": "Доступный объем физической оперативной памяти" + }, + { + "id": "201", + "title": "Свободный объем физической и виртуальной оперативной памяти" + }, + { + "id": "202", + "title": "Буферизованный объем оперативной памяти" + }, + { + "id": "203", + "title": "Кэшированый объем оперативной памяти" + }, + { + "id": "274", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "275", + "title": "Время затраченное процессором на процессы с пониженным приоритетом" + }, + { + "id": "276", + "title": "Время затраченное процессором на процессы ядра ОС" + }, + { + "id": "277", + "title": "Время простоя процессора" + }, + { + "id": "278", + "title": "Общая емкость жестких дисков" + }, + { + "id": "279", + "title": "Доступная емкость жестких дисков" + } + ] + }, + { + "id": "5", + "title": "Vinteo (module$5) ПО", + "items": [ + { + "id": "31", + "title": "Общее количество участников" + }, + { + "id": "32", + "title": "Ожидание соединения" + }, + { + "id": "33", + "title": "Зарегистрированные абоненты" + }, + { + "id": "34", + "title": "Количество пользоватей HLS" + }, + { + "id": "35", + "title": "Общее количество P2P комнат" + }, + { + "id": "36", + "title": "Общее количество конференций" + }, + { + "id": "37", + "title": "Общее количество активных конференций" + }, + { + "id": "38", + "title": "Статус записи" + }, + { + "id": "39", + "title": "Общее количество сохранённых записей" + } + ] + }, + { + "id": "280", + "title": "Сетевой адаптер №1 (port$261) Eth_1", + "items": [ + { + "id": "207", + "title": "Скорость порта Eth_1" + }, + { + "id": "209", + "title": "Административное состояние порта Eth_1" + }, + { + "id": "210", + "title": "Оперативное состояние порта Eth_1" + }, + { + "id": "211", + "title": "Общее количество отправленных октетов Eth_1" + }, + { + "id": "212", + "title": "Количество входящих Multicast пакетов Eth_1" + }, + { + "id": "213", + "title": "Количество иcходящих Multiicast пакетов Eth_1" + }, + { + "id": "214", + "title": "Количество входящих Broadcast пакетов Eth_1" + }, + { + "id": "215", + "title": "Количество иcходящих Broadcast пакетов Eth_1" + }, + { + "id": "216", + "title": "Количество входящих Unicast пакетов Eth_1" + }, + { + "id": "217", + "title": "Количество иcходящих Unicast пакетов Eth_1" + }, + { + "id": "218", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "219", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "220", + "title": "Количество входящих пакетов с ошибкой Eth_1" + }, + { + "id": "221", + "title": "Количество исходящих пакетов с ошибкой Eth_1" + }, + { + "id": "222", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" + } + ] + }, + { + "id": "281", + "title": "Сетевой адаптер №2 (port$262) Eth_2", + "items": [ + { + "id": "224", + "title": "Скорость порта Eth_2" + }, + { + "id": "226", + "title": "Административное состояние порта Eth_2" + }, + { + "id": "227", + "title": "Оперативное состояние порта Eth_2" + }, + { + "id": "228", + "title": "Общее количество отправленных октетов Eth_2" + }, + { + "id": "229", + "title": "Количество входящих Multicast пакетов Eth_2" + }, + { + "id": "230", + "title": "Количество иcходящих Multiicast пакетов Eth_2" + }, + { + "id": "231", + "title": "Количество входящих Broadcast пакетов Eth_2" + }, + { + "id": "232", + "title": "Количество иcходящих Broadcast пакетов Eth_2" + }, + { + "id": "233", + "title": "Количество входящих Unicast пакетов Eth_2" + }, + { + "id": "234", + "title": "Количество иcходящих Unicast пакетов Eth_2" + }, + { + "id": "235", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "236", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "237", + "title": "Количество входящих пакетов с ошибкой Eth_2" + }, + { + "id": "238", + "title": "Количество исходящих пакетов с ошибкой Eth_2" + }, + { + "id": "239", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" + } + ] + }, + { + "id": "282", + "title": "Сетевой адаптер №3 (port$263) Eth_3", + "items": [ + { + "id": "241", + "title": "Скорость порта Eth_3" + }, + { + "id": "243", + "title": "Административное состояние порта Eth_3" + }, + { + "id": "244", + "title": "Оперативное состояние порта Eth_3" + }, + { + "id": "245", + "title": "Общее количество отправленных октетов Eth_3" + }, + { + "id": "246", + "title": "Количество входящих Multicast пакетов Eth_3" + }, + { + "id": "247", + "title": "Количество иcходящих Multiicast пакетов Eth_3" + }, + { + "id": "248", + "title": "Количество входящих Broadcast пакетов Eth_3" + }, + { + "id": "249", + "title": "Количество иcходящих Broadcast пакетов Eth_3" + }, + { + "id": "250", + "title": "Количество входящих Unicast пакетов Eth_3" + }, + { + "id": "251", + "title": "Количество иcходящих Unicast пакетов Eth_3" + }, + { + "id": "252", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "253", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "254", + "title": "Количество входящих пакетов с ошибкой Eth_3" + }, + { + "id": "255", + "title": "Количество исходящих пакетов с ошибкой Eth_3" + }, + { + "id": "256", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" + } + ] + }, + { + "id": "283", + "title": "Сетевой адаптер №4 (port$264) Eth_4", + "items": [ + { + "id": "258", + "title": "Скорость порта Eth_4" + }, + { + "id": "260", + "title": "Административное состояние порта Eth_4" + }, + { + "id": "261", + "title": "Оперативное состояние порта Eth_4" + }, + { + "id": "262", + "title": "Общее количество отправленных октетов Eth_4" + }, + { + "id": "263", + "title": "Количество входящих Multicast пакетов Eth_4" + }, + { + "id": "264", + "title": "Количество иcходящих Multiicast пакетов Eth_4" + }, + { + "id": "265", + "title": "Количество входящих Broadcast пакетов Eth_4" + }, + { + "id": "266", + "title": "Количество иcходящих Broadcast пакетов Eth_4" + }, + { + "id": "267", + "title": "Количество входящих Unicast пакетов Eth_4" + }, + { + "id": "268", + "title": "Количество иcходящих Unicast пакетов Eth_4" + }, + { + "id": "269", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "270", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "271", + "title": "Количество входящих пакетов с ошибкой Eth_4" + }, + { + "id": "272", + "title": "Количество исходящих пакетов с ошибкой Eth_4" + }, + { + "id": "273", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" + } + ] + } + ] + } + ] }, { - "id": "server_control_3", - "title": "Сервер управления", - "items": [] + "title": "Сервер Управления", + "id": "media_server_3", + "items": [ + { + "id": "18", + "title": "Graviton S2082I (device$18)", + "items": [ + { + "id": "4", + "title": "OS Linux (module$4) АО", + "items": [ + { + "id": "190", + "title": "Загрузка процессора за 1 минуту" + }, + { + "id": "191", + "title": "Загрузка процессора за 5 минут" + }, + { + "id": "192", + "title": "Загрузка процессора за 15 минут" + }, + { + "id": "197", + "title": "Общий объем SWAP-файла" + }, + { + "id": "198", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "199", + "title": "Общий объем физической оперативной памяти" + }, + { + "id": "200", + "title": "Доступный объем физической оперативной памяти" + }, + { + "id": "201", + "title": "Свободный объем физической и виртуальной оперативной памяти" + }, + { + "id": "202", + "title": "Буферизованный объем оперативной памяти" + }, + { + "id": "203", + "title": "Кэшированый объем оперативной памяти" + }, + { + "id": "274", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "275", + "title": "Время затраченное процессором на процессы с пониженным приоритетом" + }, + { + "id": "276", + "title": "Время затраченное процессором на процессы ядра ОС" + }, + { + "id": "277", + "title": "Время простоя процессора" + }, + { + "id": "278", + "title": "Общая емкость жестких дисков" + }, + { + "id": "279", + "title": "Доступная емкость жестких дисков" + } + ] + }, + { + "id": "5", + "title": "Vinteo (module$5) ПО", + "items": [ + { + "id": "31", + "title": "Общее количество участников" + }, + { + "id": "32", + "title": "Ожидание соединения" + }, + { + "id": "33", + "title": "Зарегистрированные абоненты" + }, + { + "id": "34", + "title": "Количество пользоватей HLS" + }, + { + "id": "35", + "title": "Общее количество P2P комнат" + }, + { + "id": "36", + "title": "Общее количество конференций" + }, + { + "id": "37", + "title": "Общее количество активных конференций" + }, + { + "id": "38", + "title": "Статус записи" + }, + { + "id": "39", + "title": "Общее количество сохранённых записей" + } + ] + }, + { + "id": "280", + "title": "Сетевой адаптер №1 (port$261) Eth_1", + "items": [ + { + "id": "207", + "title": "Скорость порта Eth_1" + }, + { + "id": "209", + "title": "Административное состояние порта Eth_1" + }, + { + "id": "210", + "title": "Оперативное состояние порта Eth_1" + }, + { + "id": "211", + "title": "Общее количество отправленных октетов Eth_1" + }, + { + "id": "212", + "title": "Количество входящих Multicast пакетов Eth_1" + }, + { + "id": "213", + "title": "Количество иcходящих Multiicast пакетов Eth_1" + }, + { + "id": "214", + "title": "Количество входящих Broadcast пакетов Eth_1" + }, + { + "id": "215", + "title": "Количество иcходящих Broadcast пакетов Eth_1" + }, + { + "id": "216", + "title": "Количество входящих Unicast пакетов Eth_1" + }, + { + "id": "217", + "title": "Количество иcходящих Unicast пакетов Eth_1" + }, + { + "id": "218", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "219", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "220", + "title": "Количество входящих пакетов с ошибкой Eth_1" + }, + { + "id": "221", + "title": "Количество исходящих пакетов с ошибкой Eth_1" + }, + { + "id": "222", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" + } + ] + }, + { + "id": "281", + "title": "Сетевой адаптер №2 (port$262) Eth_2", + "items": [ + { + "id": "224", + "title": "Скорость порта Eth_2" + }, + { + "id": "226", + "title": "Административное состояние порта Eth_2" + }, + { + "id": "227", + "title": "Оперативное состояние порта Eth_2" + }, + { + "id": "228", + "title": "Общее количество отправленных октетов Eth_2" + }, + { + "id": "229", + "title": "Количество входящих Multicast пакетов Eth_2" + }, + { + "id": "230", + "title": "Количество иcходящих Multiicast пакетов Eth_2" + }, + { + "id": "231", + "title": "Количество входящих Broadcast пакетов Eth_2" + }, + { + "id": "232", + "title": "Количество иcходящих Broadcast пакетов Eth_2" + }, + { + "id": "233", + "title": "Количество входящих Unicast пакетов Eth_2" + }, + { + "id": "234", + "title": "Количество иcходящих Unicast пакетов Eth_2" + }, + { + "id": "235", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "236", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "237", + "title": "Количество входящих пакетов с ошибкой Eth_2" + }, + { + "id": "238", + "title": "Количество исходящих пакетов с ошибкой Eth_2" + }, + { + "id": "239", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" + } + ] + }, + { + "id": "282", + "title": "Сетевой адаптер №3 (port$263) Eth_3", + "items": [ + { + "id": "241", + "title": "Скорость порта Eth_3" + }, + { + "id": "243", + "title": "Административное состояние порта Eth_3" + }, + { + "id": "244", + "title": "Оперативное состояние порта Eth_3" + }, + { + "id": "245", + "title": "Общее количество отправленных октетов Eth_3" + }, + { + "id": "246", + "title": "Количество входящих Multicast пакетов Eth_3" + }, + { + "id": "247", + "title": "Количество иcходящих Multiicast пакетов Eth_3" + }, + { + "id": "248", + "title": "Количество входящих Broadcast пакетов Eth_3" + }, + { + "id": "249", + "title": "Количество иcходящих Broadcast пакетов Eth_3" + }, + { + "id": "250", + "title": "Количество входящих Unicast пакетов Eth_3" + }, + { + "id": "251", + "title": "Количество иcходящих Unicast пакетов Eth_3" + }, + { + "id": "252", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "253", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "254", + "title": "Количество входящих пакетов с ошибкой Eth_3" + }, + { + "id": "255", + "title": "Количество исходящих пакетов с ошибкой Eth_3" + }, + { + "id": "256", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" + } + ] + }, + { + "id": "283", + "title": "Сетевой адаптер №4 (port$264) Eth_4", + "items": [ + { + "id": "258", + "title": "Скорость порта Eth_4" + }, + { + "id": "260", + "title": "Административное состояние порта Eth_4" + }, + { + "id": "261", + "title": "Оперативное состояние порта Eth_4" + }, + { + "id": "262", + "title": "Общее количество отправленных октетов Eth_4" + }, + { + "id": "263", + "title": "Количество входящих Multicast пакетов Eth_4" + }, + { + "id": "264", + "title": "Количество иcходящих Multiicast пакетов Eth_4" + }, + { + "id": "265", + "title": "Количество входящих Broadcast пакетов Eth_4" + }, + { + "id": "266", + "title": "Количество иcходящих Broadcast пакетов Eth_4" + }, + { + "id": "267", + "title": "Количество входящих Unicast пакетов Eth_4" + }, + { + "id": "268", + "title": "Количество иcходящих Unicast пакетов Eth_4" + }, + { + "id": "269", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "270", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "271", + "title": "Количество входящих пакетов с ошибкой Eth_4" + }, + { + "id": "272", + "title": "Количество исходящих пакетов с ошибкой Eth_4" + }, + { + "id": "273", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" + } + ] + } + ] + } + ] } ] }, { - "title": "Сервер backup", + "title": "Сервер резервного копирования", "id": "1003", "items": [ { - "id": "backup_service_1", "title": "Резервное копирование данных", - "items": [] + "id": "media_server_1", + "items": [ + { + "id": "18", + "title": "Graviton S2082I (device$18)", + "items": [ + { + "id": "4", + "title": "OS Linux (module$4) АО", + "items": [ + { + "id": "190", + "title": "Загрузка процессора за 1 минуту" + }, + { + "id": "191", + "title": "Загрузка процессора за 5 минут" + }, + { + "id": "192", + "title": "Загрузка процессора за 15 минут" + }, + { + "id": "197", + "title": "Общий объем SWAP-файла" + }, + { + "id": "198", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "199", + "title": "Общий объем физической оперативной памяти" + }, + { + "id": "200", + "title": "Доступный объем физической оперативной памяти" + }, + { + "id": "201", + "title": "Свободный объем физической и виртуальной оперативной памяти" + }, + { + "id": "202", + "title": "Буферизованный объем оперативной памяти" + }, + { + "id": "203", + "title": "Кэшированый объем оперативной памяти" + }, + { + "id": "274", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "275", + "title": "Время затраченное процессором на процессы с пониженным приоритетом" + }, + { + "id": "276", + "title": "Время затраченное процессором на процессы ядра ОС" + }, + { + "id": "277", + "title": "Время простоя процессора" + }, + { + "id": "278", + "title": "Общая емкость жестких дисков" + }, + { + "id": "279", + "title": "Доступная емкость жестких дисков" + } + ] + }, + { + "id": "5", + "title": "Vinteo (module$5) ПО", + "items": [ + { + "id": "31", + "title": "Общее количество участников" + }, + { + "id": "32", + "title": "Ожидание соединения" + }, + { + "id": "33", + "title": "Зарегистрированные абоненты" + }, + { + "id": "34", + "title": "Количество пользоватей HLS" + }, + { + "id": "35", + "title": "Общее количество P2P комнат" + }, + { + "id": "36", + "title": "Общее количество конференций" + }, + { + "id": "37", + "title": "Общее количество активных конференций" + }, + { + "id": "38", + "title": "Статус записи" + }, + { + "id": "39", + "title": "Общее количество сохранённых записей" + } + ] + }, + { + "id": "280", + "title": "Сетевой адаптер №1 (port$261) Eth_1", + "items": [ + { + "id": "207", + "title": "Скорость порта Eth_1" + }, + { + "id": "209", + "title": "Административное состояние порта Eth_1" + }, + { + "id": "210", + "title": "Оперативное состояние порта Eth_1" + }, + { + "id": "211", + "title": "Общее количество отправленных октетов Eth_1" + }, + { + "id": "212", + "title": "Количество входящих Multicast пакетов Eth_1" + }, + { + "id": "213", + "title": "Количество иcходящих Multiicast пакетов Eth_1" + }, + { + "id": "214", + "title": "Количество входящих Broadcast пакетов Eth_1" + }, + { + "id": "215", + "title": "Количество иcходящих Broadcast пакетов Eth_1" + }, + { + "id": "216", + "title": "Количество входящих Unicast пакетов Eth_1" + }, + { + "id": "217", + "title": "Количество иcходящих Unicast пакетов Eth_1" + }, + { + "id": "218", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "219", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "220", + "title": "Количество входящих пакетов с ошибкой Eth_1" + }, + { + "id": "221", + "title": "Количество исходящих пакетов с ошибкой Eth_1" + }, + { + "id": "222", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" + } + ] + }, + { + "id": "281", + "title": "Сетевой адаптер №2 (port$262) Eth_2", + "items": [ + { + "id": "224", + "title": "Скорость порта Eth_2" + }, + { + "id": "226", + "title": "Административное состояние порта Eth_2" + }, + { + "id": "227", + "title": "Оперативное состояние порта Eth_2" + }, + { + "id": "228", + "title": "Общее количество отправленных октетов Eth_2" + }, + { + "id": "229", + "title": "Количество входящих Multicast пакетов Eth_2" + }, + { + "id": "230", + "title": "Количество иcходящих Multiicast пакетов Eth_2" + }, + { + "id": "231", + "title": "Количество входящих Broadcast пакетов Eth_2" + }, + { + "id": "232", + "title": "Количество иcходящих Broadcast пакетов Eth_2" + }, + { + "id": "233", + "title": "Количество входящих Unicast пакетов Eth_2" + }, + { + "id": "234", + "title": "Количество иcходящих Unicast пакетов Eth_2" + }, + { + "id": "235", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "236", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "237", + "title": "Количество входящих пакетов с ошибкой Eth_2" + }, + { + "id": "238", + "title": "Количество исходящих пакетов с ошибкой Eth_2" + }, + { + "id": "239", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" + } + ] + }, + { + "id": "282", + "title": "Сетевой адаптер №3 (port$263) Eth_3", + "items": [ + { + "id": "241", + "title": "Скорость порта Eth_3" + }, + { + "id": "243", + "title": "Административное состояние порта Eth_3" + }, + { + "id": "244", + "title": "Оперативное состояние порта Eth_3" + }, + { + "id": "245", + "title": "Общее количество отправленных октетов Eth_3" + }, + { + "id": "246", + "title": "Количество входящих Multicast пакетов Eth_3" + }, + { + "id": "247", + "title": "Количество иcходящих Multiicast пакетов Eth_3" + }, + { + "id": "248", + "title": "Количество входящих Broadcast пакетов Eth_3" + }, + { + "id": "249", + "title": "Количество иcходящих Broadcast пакетов Eth_3" + }, + { + "id": "250", + "title": "Количество входящих Unicast пакетов Eth_3" + }, + { + "id": "251", + "title": "Количество иcходящих Unicast пакетов Eth_3" + }, + { + "id": "252", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "253", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "254", + "title": "Количество входящих пакетов с ошибкой Eth_3" + }, + { + "id": "255", + "title": "Количество исходящих пакетов с ошибкой Eth_3" + }, + { + "id": "256", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" + } + ] + }, + { + "id": "283", + "title": "Сетевой адаптер №4 (port$264) Eth_4", + "items": [ + { + "id": "258", + "title": "Скорость порта Eth_4" + }, + { + "id": "260", + "title": "Административное состояние порта Eth_4" + }, + { + "id": "261", + "title": "Оперативное состояние порта Eth_4" + }, + { + "id": "262", + "title": "Общее количество отправленных октетов Eth_4" + }, + { + "id": "263", + "title": "Количество входящих Multicast пакетов Eth_4" + }, + { + "id": "264", + "title": "Количество иcходящих Multiicast пакетов Eth_4" + }, + { + "id": "265", + "title": "Количество входящих Broadcast пакетов Eth_4" + }, + { + "id": "266", + "title": "Количество иcходящих Broadcast пакетов Eth_4" + }, + { + "id": "267", + "title": "Количество входящих Unicast пакетов Eth_4" + }, + { + "id": "268", + "title": "Количество иcходящих Unicast пакетов Eth_4" + }, + { + "id": "269", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "270", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "271", + "title": "Количество входящих пакетов с ошибкой Eth_4" + }, + { + "id": "272", + "title": "Количество исходящих пакетов с ошибкой Eth_4" + }, + { + "id": "273", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" + } + ] + } + ] + } + ] }, { - "id": "backup_service_2", "title": "Восстановление данных", - "items": [] + "id": "media_server_2", + "items": [ + { + "id": "18", + "title": "Graviton S2082I (device$18)", + "items": [ + { + "id": "4", + "title": "OS Linux (module$4) АО", + "items": [ + { + "id": "190", + "title": "Загрузка процессора за 1 минуту" + }, + { + "id": "191", + "title": "Загрузка процессора за 5 минут" + }, + { + "id": "192", + "title": "Загрузка процессора за 15 минут" + }, + { + "id": "197", + "title": "Общий объем SWAP-файла" + }, + { + "id": "198", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "199", + "title": "Общий объем физической оперативной памяти" + }, + { + "id": "200", + "title": "Доступный объем физической оперативной памяти" + }, + { + "id": "201", + "title": "Свободный объем физической и виртуальной оперативной памяти" + }, + { + "id": "202", + "title": "Буферизованный объем оперативной памяти" + }, + { + "id": "203", + "title": "Кэшированый объем оперативной памяти" + }, + { + "id": "274", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "275", + "title": "Время затраченное процессором на процессы с пониженным приоритетом" + }, + { + "id": "276", + "title": "Время затраченное процессором на процессы ядра ОС" + }, + { + "id": "277", + "title": "Время простоя процессора" + }, + { + "id": "278", + "title": "Общая емкость жестких дисков" + }, + { + "id": "279", + "title": "Доступная емкость жестких дисков" + } + ] + }, + { + "id": "5", + "title": "Vinteo (module$5) ПО", + "items": [ + { + "id": "31", + "title": "Общее количество участников" + }, + { + "id": "32", + "title": "Ожидание соединения" + }, + { + "id": "33", + "title": "Зарегистрированные абоненты" + }, + { + "id": "34", + "title": "Количество пользоватей HLS" + }, + { + "id": "35", + "title": "Общее количество P2P комнат" + }, + { + "id": "36", + "title": "Общее количество конференций" + }, + { + "id": "37", + "title": "Общее количество активных конференций" + }, + { + "id": "38", + "title": "Статус записи" + }, + { + "id": "39", + "title": "Общее количество сохранённых записей" + } + ] + }, + { + "id": "280", + "title": "Сетевой адаптер №1 (port$261) Eth_1", + "items": [ + { + "id": "207", + "title": "Скорость порта Eth_1" + }, + { + "id": "209", + "title": "Административное состояние порта Eth_1" + }, + { + "id": "210", + "title": "Оперативное состояние порта Eth_1" + }, + { + "id": "211", + "title": "Общее количество отправленных октетов Eth_1" + }, + { + "id": "212", + "title": "Количество входящих Multicast пакетов Eth_1" + }, + { + "id": "213", + "title": "Количество иcходящих Multiicast пакетов Eth_1" + }, + { + "id": "214", + "title": "Количество входящих Broadcast пакетов Eth_1" + }, + { + "id": "215", + "title": "Количество иcходящих Broadcast пакетов Eth_1" + }, + { + "id": "216", + "title": "Количество входящих Unicast пакетов Eth_1" + }, + { + "id": "217", + "title": "Количество иcходящих Unicast пакетов Eth_1" + }, + { + "id": "218", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "219", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "220", + "title": "Количество входящих пакетов с ошибкой Eth_1" + }, + { + "id": "221", + "title": "Количество исходящих пакетов с ошибкой Eth_1" + }, + { + "id": "222", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" + } + ] + }, + { + "id": "281", + "title": "Сетевой адаптер №2 (port$262) Eth_2", + "items": [ + { + "id": "224", + "title": "Скорость порта Eth_2" + }, + { + "id": "226", + "title": "Административное состояние порта Eth_2" + }, + { + "id": "227", + "title": "Оперативное состояние порта Eth_2" + }, + { + "id": "228", + "title": "Общее количество отправленных октетов Eth_2" + }, + { + "id": "229", + "title": "Количество входящих Multicast пакетов Eth_2" + }, + { + "id": "230", + "title": "Количество иcходящих Multiicast пакетов Eth_2" + }, + { + "id": "231", + "title": "Количество входящих Broadcast пакетов Eth_2" + }, + { + "id": "232", + "title": "Количество иcходящих Broadcast пакетов Eth_2" + }, + { + "id": "233", + "title": "Количество входящих Unicast пакетов Eth_2" + }, + { + "id": "234", + "title": "Количество иcходящих Unicast пакетов Eth_2" + }, + { + "id": "235", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "236", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "237", + "title": "Количество входящих пакетов с ошибкой Eth_2" + }, + { + "id": "238", + "title": "Количество исходящих пакетов с ошибкой Eth_2" + }, + { + "id": "239", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" + } + ] + }, + { + "id": "282", + "title": "Сетевой адаптер №3 (port$263) Eth_3", + "items": [ + { + "id": "241", + "title": "Скорость порта Eth_3" + }, + { + "id": "243", + "title": "Административное состояние порта Eth_3" + }, + { + "id": "244", + "title": "Оперативное состояние порта Eth_3" + }, + { + "id": "245", + "title": "Общее количество отправленных октетов Eth_3" + }, + { + "id": "246", + "title": "Количество входящих Multicast пакетов Eth_3" + }, + { + "id": "247", + "title": "Количество иcходящих Multiicast пакетов Eth_3" + }, + { + "id": "248", + "title": "Количество входящих Broadcast пакетов Eth_3" + }, + { + "id": "249", + "title": "Количество иcходящих Broadcast пакетов Eth_3" + }, + { + "id": "250", + "title": "Количество входящих Unicast пакетов Eth_3" + }, + { + "id": "251", + "title": "Количество иcходящих Unicast пакетов Eth_3" + }, + { + "id": "252", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "253", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "254", + "title": "Количество входящих пакетов с ошибкой Eth_3" + }, + { + "id": "255", + "title": "Количество исходящих пакетов с ошибкой Eth_3" + }, + { + "id": "256", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" + } + ] + }, + { + "id": "283", + "title": "Сетевой адаптер №4 (port$264) Eth_4", + "items": [ + { + "id": "258", + "title": "Скорость порта Eth_4" + }, + { + "id": "260", + "title": "Административное состояние порта Eth_4" + }, + { + "id": "261", + "title": "Оперативное состояние порта Eth_4" + }, + { + "id": "262", + "title": "Общее количество отправленных октетов Eth_4" + }, + { + "id": "263", + "title": "Количество входящих Multicast пакетов Eth_4" + }, + { + "id": "264", + "title": "Количество иcходящих Multiicast пакетов Eth_4" + }, + { + "id": "265", + "title": "Количество входящих Broadcast пакетов Eth_4" + }, + { + "id": "266", + "title": "Количество иcходящих Broadcast пакетов Eth_4" + }, + { + "id": "267", + "title": "Количество входящих Unicast пакетов Eth_4" + }, + { + "id": "268", + "title": "Количество иcходящих Unicast пакетов Eth_4" + }, + { + "id": "269", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "270", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "271", + "title": "Количество входящих пакетов с ошибкой Eth_4" + }, + { + "id": "272", + "title": "Количество исходящих пакетов с ошибкой Eth_4" + }, + { + "id": "273", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" + } + ] + } + ] + } + ] }, { - "id": "backup_service_3", "title": "Настройка расписания", - "items": [] + "id": "media_server_3", + "items": [ + { + "id": "18", + "title": "Graviton S2082I (device$18)", + "items": [ + { + "id": "4", + "title": "OS Linux (module$4) АО", + "items": [ + { + "id": "190", + "title": "Загрузка процессора за 1 минуту" + }, + { + "id": "191", + "title": "Загрузка процессора за 5 минут" + }, + { + "id": "192", + "title": "Загрузка процессора за 15 минут" + }, + { + "id": "197", + "title": "Общий объем SWAP-файла" + }, + { + "id": "198", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "199", + "title": "Общий объем физической оперативной памяти" + }, + { + "id": "200", + "title": "Доступный объем физической оперативной памяти" + }, + { + "id": "201", + "title": "Свободный объем физической и виртуальной оперативной памяти" + }, + { + "id": "202", + "title": "Буферизованный объем оперативной памяти" + }, + { + "id": "203", + "title": "Кэшированый объем оперативной памяти" + }, + { + "id": "274", + "title": "Используемый объем SWAP-файла" + }, + { + "id": "275", + "title": "Время затраченное процессором на процессы с пониженным приоритетом" + }, + { + "id": "276", + "title": "Время затраченное процессором на процессы ядра ОС" + }, + { + "id": "277", + "title": "Время простоя процессора" + }, + { + "id": "278", + "title": "Общая емкость жестких дисков" + }, + { + "id": "279", + "title": "Доступная емкость жестких дисков" + } + ] + }, + { + "id": "5", + "title": "Vinteo (module$5) ПО", + "items": [ + { + "id": "31", + "title": "Общее количество участников" + }, + { + "id": "32", + "title": "Ожидание соединения" + }, + { + "id": "33", + "title": "Зарегистрированные абоненты" + }, + { + "id": "34", + "title": "Количество пользоватей HLS" + }, + { + "id": "35", + "title": "Общее количество P2P комнат" + }, + { + "id": "36", + "title": "Общее количество конференций" + }, + { + "id": "37", + "title": "Общее количество активных конференций" + }, + { + "id": "38", + "title": "Статус записи" + }, + { + "id": "39", + "title": "Общее количество сохранённых записей" + } + ] + }, + { + "id": "280", + "title": "Сетевой адаптер №1 (port$261) Eth_1", + "items": [ + { + "id": "207", + "title": "Скорость порта Eth_1" + }, + { + "id": "209", + "title": "Административное состояние порта Eth_1" + }, + { + "id": "210", + "title": "Оперативное состояние порта Eth_1" + }, + { + "id": "211", + "title": "Общее количество отправленных октетов Eth_1" + }, + { + "id": "212", + "title": "Количество входящих Multicast пакетов Eth_1" + }, + { + "id": "213", + "title": "Количество иcходящих Multiicast пакетов Eth_1" + }, + { + "id": "214", + "title": "Количество входящих Broadcast пакетов Eth_1" + }, + { + "id": "215", + "title": "Количество иcходящих Broadcast пакетов Eth_1" + }, + { + "id": "216", + "title": "Количество входящих Unicast пакетов Eth_1" + }, + { + "id": "217", + "title": "Количество иcходящих Unicast пакетов Eth_1" + }, + { + "id": "218", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "219", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_1" + }, + { + "id": "220", + "title": "Количество входящих пакетов с ошибкой Eth_1" + }, + { + "id": "221", + "title": "Количество исходящих пакетов с ошибкой Eth_1" + }, + { + "id": "222", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_1" + } + ] + }, + { + "id": "281", + "title": "Сетевой адаптер №2 (port$262) Eth_2", + "items": [ + { + "id": "224", + "title": "Скорость порта Eth_2" + }, + { + "id": "226", + "title": "Административное состояние порта Eth_2" + }, + { + "id": "227", + "title": "Оперативное состояние порта Eth_2" + }, + { + "id": "228", + "title": "Общее количество отправленных октетов Eth_2" + }, + { + "id": "229", + "title": "Количество входящих Multicast пакетов Eth_2" + }, + { + "id": "230", + "title": "Количество иcходящих Multiicast пакетов Eth_2" + }, + { + "id": "231", + "title": "Количество входящих Broadcast пакетов Eth_2" + }, + { + "id": "232", + "title": "Количество иcходящих Broadcast пакетов Eth_2" + }, + { + "id": "233", + "title": "Количество входящих Unicast пакетов Eth_2" + }, + { + "id": "234", + "title": "Количество иcходящих Unicast пакетов Eth_2" + }, + { + "id": "235", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "236", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_2" + }, + { + "id": "237", + "title": "Количество входящих пакетов с ошибкой Eth_2" + }, + { + "id": "238", + "title": "Количество исходящих пакетов с ошибкой Eth_2" + }, + { + "id": "239", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_2" + } + ] + }, + { + "id": "282", + "title": "Сетевой адаптер №3 (port$263) Eth_3", + "items": [ + { + "id": "241", + "title": "Скорость порта Eth_3" + }, + { + "id": "243", + "title": "Административное состояние порта Eth_3" + }, + { + "id": "244", + "title": "Оперативное состояние порта Eth_3" + }, + { + "id": "245", + "title": "Общее количество отправленных октетов Eth_3" + }, + { + "id": "246", + "title": "Количество входящих Multicast пакетов Eth_3" + }, + { + "id": "247", + "title": "Количество иcходящих Multiicast пакетов Eth_3" + }, + { + "id": "248", + "title": "Количество входящих Broadcast пакетов Eth_3" + }, + { + "id": "249", + "title": "Количество иcходящих Broadcast пакетов Eth_3" + }, + { + "id": "250", + "title": "Количество входящих Unicast пакетов Eth_3" + }, + { + "id": "251", + "title": "Количество иcходящих Unicast пакетов Eth_3" + }, + { + "id": "252", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "253", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_3" + }, + { + "id": "254", + "title": "Количество входящих пакетов с ошибкой Eth_3" + }, + { + "id": "255", + "title": "Количество исходящих пакетов с ошибкой Eth_3" + }, + { + "id": "256", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_3" + } + ] + }, + { + "id": "283", + "title": "Сетевой адаптер №4 (port$264) Eth_4", + "items": [ + { + "id": "258", + "title": "Скорость порта Eth_4" + }, + { + "id": "260", + "title": "Административное состояние порта Eth_4" + }, + { + "id": "261", + "title": "Оперативное состояние порта Eth_4" + }, + { + "id": "262", + "title": "Общее количество отправленных октетов Eth_4" + }, + { + "id": "263", + "title": "Количество входящих Multicast пакетов Eth_4" + }, + { + "id": "264", + "title": "Количество иcходящих Multiicast пакетов Eth_4" + }, + { + "id": "265", + "title": "Количество входящих Broadcast пакетов Eth_4" + }, + { + "id": "266", + "title": "Количество иcходящих Broadcast пакетов Eth_4" + }, + { + "id": "267", + "title": "Количество входящих Unicast пакетов Eth_4" + }, + { + "id": "268", + "title": "Количество иcходящих Unicast пакетов Eth_4" + }, + { + "id": "269", + "title": "Количество входящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "270", + "title": "Количество иcходящих пакетов помеченные как отброшенные Eth_4" + }, + { + "id": "271", + "title": "Количество входящих пакетов с ошибкой Eth_4" + }, + { + "id": "272", + "title": "Количество исходящих пакетов с ошибкой Eth_4" + }, + { + "id": "273", + "title": "Количество входящих пакетов с неизвестным или неподдерживаемым протоколом Eth_4" + } + ] + } + ] + } + ] } ] } -- 2.40.1 From cfaa31acee74dc4694755e2c74b7e0c75e10b2f9 Mon Sep 17 00:00:00 2001 From: prplV Date: Mon, 17 Mar 2025 10:39:12 -0400 Subject: [PATCH 6/7] login page with material --- src/Components/UI/LoginModal.jsx | 72 +++++++++++++++++++++++++++++++- src/Style/Dashboard.css | 1 + src/Style/LoginModal.css | 15 +++---- src/Style/SidebarMenu.css | 4 +- src/Style/dark-theme.css | 1 + src/Style/light-theme.css | 7 +++- 6 files changed, 88 insertions(+), 12 deletions(-) diff --git a/src/Components/UI/LoginModal.jsx b/src/Components/UI/LoginModal.jsx index c4d5f09..7d77404 100755 --- a/src/Components/UI/LoginModal.jsx +++ b/src/Components/UI/LoginModal.jsx @@ -1,11 +1,25 @@ import React, { useState } from "react"; import Modal from "./Modal"; import "../../Style/LoginModal.css"; +import Box from '@mui/material/Box'; +import IconButton from '@mui/material/IconButton'; +import Input from '@mui/material/Input'; +import FilledInput from '@mui/material/FilledInput'; +import OutlinedInput from '@mui/material/OutlinedInput'; +import InputLabel from '@mui/material/InputLabel'; +import InputAdornment from '@mui/material/InputAdornment'; +import FormHelperText from '@mui/material/FormHelperText'; +import FormControl from '@mui/material/FormControl'; +import TextField from '@mui/material/TextField'; + const LoginModal = ({ onLogin, onClose }) => { const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); + const [showPassword, setShowPassword] = React.useState(false); + + const handleClickShowPassword = () => setShowPassword((show) => !show); const handleSubmit = (e) => { e.preventDefault(); @@ -21,7 +35,7 @@ const LoginModal = ({ onLogin, onClose }) => {

Авторизация

-
+ {/*
{ onChange={(e) => setPassword(e.target.value)} required /> -
+
*/} + + {/* :not(style)': { m: 1, width: '25ch' } }} + noValidate + autoComplete="off" + > */} + setUsername(e.target.value)} + size="normal" + /> + + setPassword(e.target.value)} + size="normal" + /> + {/* + Password + + + {showPassword ? : } + + + } + label="Password" + /> + */} + {/* */} + {error &&

{error}

}
diff --git a/src/Style/Dashboard.css b/src/Style/Dashboard.css index 3e1be18..a7f393c 100755 --- a/src/Style/Dashboard.css +++ b/src/Style/Dashboard.css @@ -34,6 +34,7 @@ /* Заголовки */ h2 { color: var(--text-color); + text-align: center; } p { diff --git a/src/Style/LoginModal.css b/src/Style/LoginModal.css index 10f969f..6228e3b 100755 --- a/src/Style/LoginModal.css +++ b/src/Style/LoginModal.css @@ -18,13 +18,13 @@ /* box-shadow: 0 0.3vh 2vh #1E1E1E; */ max-width: 400px; width: 100%; - color: var(--modal-text); } .modal h2 { margin-bottom: 20px; text-align: center; font-size: 4vh; + color: var(--header-color); } .modal label { @@ -37,16 +37,16 @@ } .modal input { - width: 94%; + /* width: 100%; */ /* max-width: fit-content; */ - padding: 3%; + /* padding: 3%; padding-top: 3%; padding-bottom: 3%; - margin-bottom: 10px; - border: 1px solid #ccc; + margin-bottom: 10px; */ + /* border: 1px solid #ccc; */ /* text-align: start; */ - border-radius: 4px; - font-size: larger; + /* border-radius: 4px; */ + /* font-size: larger; */ background-color: var(--modal-background); color: var(--modal-text); } @@ -69,6 +69,7 @@ .modal button:hover { background: var(--hover-button); + color: var(--hover-text-color); } .error { diff --git a/src/Style/SidebarMenu.css b/src/Style/SidebarMenu.css index 66cc367..d4670ec 100755 --- a/src/Style/SidebarMenu.css +++ b/src/Style/SidebarMenu.css @@ -26,10 +26,12 @@ /* Заголовок меню */ .sidebar-title { margin-bottom: 20px; - font-size: 18px; + font-size: 1.5em; font-weight: bold; color: var(--sidebar-text-color); padding: 10px; + text-align: center; + /* font-size: 2vh; */ } /* Элементы меню */ diff --git a/src/Style/dark-theme.css b/src/Style/dark-theme.css index ae5c96a..e1b5215 100755 --- a/src/Style/dark-theme.css +++ b/src/Style/dark-theme.css @@ -3,6 +3,7 @@ :root { --background-color: #1E1E1E; --text-color: #E0E0E0; + --header-color: #FFFFFF; /* Основной цвет текста (светлый) */ --sidebar-color: #2d2d2d; /* Темный цвет сайдбара */ diff --git a/src/Style/light-theme.css b/src/Style/light-theme.css index 287b9f2..6e98f53 100755 --- a/src/Style/light-theme.css +++ b/src/Style/light-theme.css @@ -1,13 +1,15 @@ /* Светлая тема по умолчанию */ :root { --background-color: #FFFFFF; - --text-color: #333333; + --text-color: #FFFFFF; + --header-color: #333333; /* Основной цвет текста (черный) */ --sidebar-color: #3d74c7; /* Синий цвет сайдбара */ --sidebar-text-color: #FFFFFF; /* Белый текст в сайдбаре и вкладках */ --modal-background: #FFFFFF; + --modal--btn-background: #0f55bec2; --modal-text: #333333; --table-border: #ddd; --table-header-background: #f9f9f9; @@ -16,5 +18,6 @@ /* Черный текст в таблице */ /* hover for buttons */ - --hover-button: #2c579c; + --hover-button: #2d62b1; + --hover-text-color : #FFFFFF } \ No newline at end of file -- 2.40.1 From a54b1d0c39aad762aa553f5cca86ce389aafed10 Mon Sep 17 00:00:00 2001 From: DmitriyA Date: Wed, 19 Mar 2025 07:50:37 -0400 Subject: [PATCH 7/7] =?UTF-8?q?=D0=A7=D0=B0=D1=81=D1=82=D0=B8=D1=87=D0=BD?= =?UTF-8?q?=D0=BE=20=D0=BE=D1=82=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BB=20=D0=BA=D0=BE=D0=B4,=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20sidebar=20menu=20=D0=B8?= =?UTF-8?q?=20tabs=20=D1=81=20=D1=81=D0=B8=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=D0=BC=20MUI,=20=D0=BE?= =?UTF-8?q?=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D0=BB=20=D0=B0=D0=B2=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 9 +- package.json | 3 +- src/App.jsx | 39 ++-- src/Charts/PrometheusChart.jsx | 5 + src/Components/Layout/Dashboard.jsx | 130 +++---------- src/Components/Layout/SidebarMenu.jsx | 119 ++++-------- .../Layout/SidebarMenuComponents/MenuItem.jsx | 55 ++++++ .../SidebarMenuComponents/SidebarFooter.jsx | 17 ++ src/Components/UI/LoginModal.jsx | 131 +++++-------- src/Components/UI/MUItabs.jsx | 64 +++++++ src/Components/UI/TreeTable.jsx | 176 ++++++++++++++---- src/Components/UI/TreeTable222.jsx | 151 --------------- src/Components/hooks/TabContent.jsx | 32 ++++ src/Components/hooks/useSidebarResize.jsx | 43 +++++ src/Components/hooks/useTabs.jsx | 26 +++ src/Style/Dashboard.css | 20 +- src/Style/SystemStatusTable.css | 2 +- src/Style/ThemeSwitch.jsx | 31 --- src/Style/TreeTable.css | 22 ++- src/Style/dark-theme.css | 0 src/Style/light-theme.css | 6 +- src/Style/theme.jsx | 73 ++++++++ src/main.jsx | 4 +- 23 files changed, 639 insertions(+), 519 deletions(-) mode change 100755 => 100644 src/Components/Layout/SidebarMenu.jsx create mode 100644 src/Components/Layout/SidebarMenuComponents/MenuItem.jsx create mode 100644 src/Components/Layout/SidebarMenuComponents/SidebarFooter.jsx create mode 100644 src/Components/UI/MUItabs.jsx delete mode 100755 src/Components/UI/TreeTable222.jsx create mode 100644 src/Components/hooks/TabContent.jsx create mode 100644 src/Components/hooks/useSidebarResize.jsx create mode 100644 src/Components/hooks/useTabs.jsx delete mode 100755 src/Style/ThemeSwitch.jsx mode change 100755 => 100644 src/Style/dark-theme.css mode change 100755 => 100644 src/Style/light-theme.css create mode 100644 src/Style/theme.jsx diff --git a/.gitignore b/.gitignore index e20089e..e7fea06 100755 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,11 @@ dist-ssr *.sw? *.les* -node_modules \ No newline at end of file +node_modules + +# Игнорировать .env файлы +.env +.env.local +.env.development +.env.production +.env.test \ No newline at end of file diff --git a/package.json b/package.json index 4d8ad3d..508687a 100755 --- a/package.json +++ b/package.json @@ -22,7 +22,8 @@ "react-datepicker": "^8.1.0", "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.0", - "@mui/material": "^6.4.7" + "@mui/material": "^6.4.7", + "@mui/icons-material": "^6.4.8" }, "devDependencies": { "@eslint/js": "^9.17.0", diff --git a/src/App.jsx b/src/App.jsx index f127d25..2b0954c 100755 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,26 +1,39 @@ -import React, { useState } from "react"; +import React, { useState, useMemo } from "react"; +import { ThemeProvider, CssBaseline, Switch, Box } from "@mui/material"; import Dashboard from "./Components/Layout/Dashboard"; -import LoginModal from "./Components/UI/LoginModal"; // Импортируем компонент авторизации -import "./Style/LoginModal.css"; // Импортируем стили +import LoginModal from "./Components/UI/LoginModal"; +import { lightTheme, darkTheme } from "./Style/theme"; +import "./Style/LoginModal.css"; function App() { - const [isAuthenticated, setIsAuthenticated] = useState(false); // Состояние авторизации - const [showLoginModal, setShowLoginModal] = useState(true); // Показывать ли модальное окно + const [isAuthenticated, setIsAuthenticated] = useState(false); + const [showLoginModal, setShowLoginModal] = useState(true); + const [isDarkMode, setIsDarkMode] = useState( + window.matchMedia("(prefers-color-scheme: dark)").matches + ); + + const theme = useMemo(() => (isDarkMode ? darkTheme : lightTheme), [isDarkMode]); const handleLogin = () => { - setIsAuthenticated(true); // Устанавливаем авторизацию - setShowLoginModal(false); // Скрываем модальное окно + setIsAuthenticated(true); + setShowLoginModal(false); }; return ( -
- {!isAuthenticated && showLoginModal && ( + + + {!isAuthenticated && showLoginModal ? ( setShowLoginModal(false)} /> + ) : ( + + + + setIsDarkMode((prev) => !prev)} /> + + )} - - {isAuthenticated && } -
+ ); } -export default App; \ No newline at end of file +export default App; diff --git a/src/Charts/PrometheusChart.jsx b/src/Charts/PrometheusChart.jsx index 81d42ab..d3a151b 100755 --- a/src/Charts/PrometheusChart.jsx +++ b/src/Charts/PrometheusChart.jsx @@ -96,6 +96,11 @@ const PrometheusChart = ({ metricName }) => { params: { metric: metricName, start, end, step }, }); + /* + const response = await axios.get(`${process.env.REACT_APP_BACK_URL}/metrics`, { + params: { metric: metricName, start, end, step }, + }); */ + const result = response.data; let metrics = Array.isArray(result) ? result : result.data || []; diff --git a/src/Components/Layout/Dashboard.jsx b/src/Components/Layout/Dashboard.jsx index c27e8ac..1db005c 100755 --- a/src/Components/Layout/Dashboard.jsx +++ b/src/Components/Layout/Dashboard.jsx @@ -1,33 +1,32 @@ -import React, { useState, useEffect, useRef, useCallback } from "react"; +import React, { useState, useEffect } from "react"; import SidebarMenu from "./SidebarMenu"; -import TreeChart from "../TreeChart/TreeChart"; import "../../Style/Dashboard.css"; -import SystemStatusChart from "../../Charts/SystemStatusChart"; -import Tabs from "../UI/Tabs"; -import menuData from "../TreeChart/menuData.json"; -import TreeTable from "../UI/TreeTable"; import { statusManager1, statusManager2 } from "../TreeChart/dataUtils"; import generateTabContent from "../TreeChart/tabContent"; +import CustomTabs from "../UI/MUItabs"; +import useTabs from "../hooks/useTabs"; +import useSidebarResize from "../hooks/useSidebarResize"; +import TabContent from "../hooks/TabContent"; +import menuData from "../TreeChart/menuData.json"; const Dashboard = () => { - const [tabs, setTabs] = useState([]); - const [activeTab, setActiveTab] = useState("Главная"); + const { tabs, activeTab, handleOpenTab, handleCloseTab, setActiveTab } = useTabs("Главная"); + const { sidebarWidth, startResizing } = useSidebarResize(250); const [tabContent, setTabContent] = useState({}); const [treeData1, setTreeData1] = useState(menuData); const [treeData2, setTreeData2] = useState(menuData); - const [sidebarWidth, setSidebarWidth] = useState(250); - const [isResizing, setIsResizing] = useState(false); const [statusHistories, setStatusHistories] = useState({ history1: [], history2: [], }); - const sidebarRef = useRef(null); + // Генерация контента для вкладок useEffect(() => { const generatedTabContent = generateTabContent(menuData); setTabContent(generatedTabContent); }, []); + // Обновление статусов каждые 30 секунд useEffect(() => { const interval = setInterval(() => { const updatedData1 = JSON.parse(JSON.stringify(treeData1)); @@ -56,106 +55,33 @@ const Dashboard = () => { return () => clearInterval(interval); }, [treeData1, treeData2]); - const startResizing = useCallback((e) => { - e.preventDefault(); - setIsResizing(true); - }, []); - - const resize = useCallback((e) => { - if (isResizing) { - const newWidth = e.clientX; - if (newWidth > 100 && newWidth < 400) { - setSidebarWidth(newWidth); - } - } - }, [isResizing]); - - const stopResizing = useCallback(() => { - setIsResizing(false); - }, []); - - useEffect(() => { - const handleMouseMove = (e) => resize(e); - const handleMouseUp = () => stopResizing(); - - if (isResizing) { - window.addEventListener("mousemove", handleMouseMove); - window.addEventListener("mouseup", handleMouseUp); - } - - return () => { - window.removeEventListener("mousemove", handleMouseMove); - window.removeEventListener("mouseup", handleMouseUp); - }; - }, [isResizing, resize, stopResizing]); - - const handleOpenTab = (id, title) => { - if (!tabs.some((tab) => tab.id === id)) { - setTabs([...tabs, { id, title }]); - } - setActiveTab(id); - }; - - const handleCloseTab = (id) => { - const newTabs = tabs.filter((tab) => tab.id !== id); - setTabs(newTabs); - if (activeTab === id) { - setActiveTab(newTabs.length > 0 ? newTabs[newTabs.length - 1].id : "Главная"); - } - }; - - const renderTabContent = () => { - if (activeTab === "Главная") { - return ( -
-

Общий мониторинг состояния системы

- -
-
- - -
-
- - -
-
- - - -
- ); - } else if (activeTab === "Визуализация") { - return handleOpenTab(id, title)} />; - } else { - const tabData = tabContent[activeTab]; - return tabData ? tabData.content :

Нет данных

; - } - }; - return (
-
- -
+ {/* Сайдбар */} +
+ +
-
- + {/* Вкладки */} + setActiveTab(id)} + onTabClick={setActiveTab} onCloseTab={handleCloseTab} /> + + {/* Контент вкладки */}
- {renderTabContent()} +
diff --git a/src/Components/Layout/SidebarMenu.jsx b/src/Components/Layout/SidebarMenu.jsx old mode 100755 new mode 100644 index 651c2e7..60acb84 --- a/src/Components/Layout/SidebarMenu.jsx +++ b/src/Components/Layout/SidebarMenu.jsx @@ -1,86 +1,49 @@ -import React, { useState } from "react"; -import "../../Style/SidebarMenu.css"; -import { ThemeProvider, createTheme, CssBaseline, Button } from "@mui/material"; -import { getStatusColor } from "../TreeChart/dataUtils"; // Импортируем только нужную функцию +import React from "react"; +import { Drawer, List } from "@mui/material"; +import MenuItem from "./SidebarMenuComponents/MenuItem"; +import SidebarFooter from "./SidebarMenuComponents/SidebarFooter"; -const MenuItem = ({ item, onSelectItem, sidebarWidth }) => { - const [isOpen, setIsOpen] = useState(false); - const hasChildren = Array.isArray(item.items) && item.items.length > 0; - const statusColor = getStatusColor(item.status); - - const handleSingleClick = () => { - if (hasChildren) { - setIsOpen(!isOpen); - } else { - onSelectItem(item); - } - }; - - const handleOpenParent = (e) => { - e.stopPropagation(); - onSelectItem(item); +const SidebarMenu = ({ data, onOpenTab, sidebarWidth, startResizing }) => { + const handleSelectItem = (id, title, children) => { + onOpenTab(id, title, children); }; return ( -
-
- {/* Круглый индикатор статуса */} -
- {/* Текст элемента меню */} - {item.title} + + +

Меню

+ +
- {/* Иконки */} - {hasChildren && ( -
- {/* Иконка для открытия родителя */} - - 📂 - - {/* Иконка для разворачивания/сворачивания */} - - {isOpen ? "▲" : "▼"} - -
- )} -
- {isOpen && hasChildren && ( -
- {item.items.map((child, index) => ( - - ))} -
- )} -
+ {/* Ресайзер */} +
+ + + ); }; -function SidebarMenu({ data, onOpenTab, sidebarWidth }) { - const handleSelectItem = (item) => { - onOpenTab(item.id, item.title); - }; - - return ( -
-
{/* Динамическая ширина */} -

Меню

- -
-
{/* Динамическая ширина */} -

Помощь

-

Настройка

-
-
- ); -} - -export default SidebarMenu; \ No newline at end of file +export default SidebarMenu; diff --git a/src/Components/Layout/SidebarMenuComponents/MenuItem.jsx b/src/Components/Layout/SidebarMenuComponents/MenuItem.jsx new file mode 100644 index 0000000..82f5f5d --- /dev/null +++ b/src/Components/Layout/SidebarMenuComponents/MenuItem.jsx @@ -0,0 +1,55 @@ +import React from "react"; +import { Drawer, List, ListItem, ListItemIcon, ListItemText, Collapse } from "@mui/material"; +import { ExpandLess, ExpandMore, Folder, FolderOpen } from "@mui/icons-material"; + +// Функция для сбора всех потомков +const getAllChildren = (node) => { + let children = []; + if (node.items && node.items.length > 0) { + node.items.forEach((child) => { + children.push(child); // Добавляем текущий элемент + children = children.concat(getAllChildren(child)); // Рекурсивно добавляем потомков + }); + } + return children; +}; + +const MenuItem = ({ item, onSelectItem }) => { + const [isOpen, setIsOpen] = React.useState(false); + const hasChildren = Array.isArray(item.items) && item.items.length > 0; + + const handleToggle = () => { + setIsOpen(!isOpen); + }; + + const handleOpenTab = (e) => { + e.stopPropagation(); // Останавливаем всплытие события + const allChildren = getAllChildren(item); // Собираем всех потомков + onSelectItem(item.id, item.title, allChildren); // Передаем данные в родительский компонент + }; + + return ( + <> + + +
+ {hasChildren ? (isOpen ? : ) : } +
+
+ + {hasChildren && (isOpen ? : )} +
+ {hasChildren && ( + + + {item.items.map((child, index) => ( + + ))} + + + )} + + ); +}; + +export default MenuItem; \ No newline at end of file diff --git a/src/Components/Layout/SidebarMenuComponents/SidebarFooter.jsx b/src/Components/Layout/SidebarMenuComponents/SidebarFooter.jsx new file mode 100644 index 0000000..ec62bda --- /dev/null +++ b/src/Components/Layout/SidebarMenuComponents/SidebarFooter.jsx @@ -0,0 +1,17 @@ +import React from "react"; +import { List, ListItem, ListItemText } from "@mui/material"; + +const SidebarFooter = ({ sidebarWidth }) => { + return ( + + + + + + + + + ); +}; + +export default SidebarFooter; \ No newline at end of file diff --git a/src/Components/UI/LoginModal.jsx b/src/Components/UI/LoginModal.jsx index 7d77404..98405a8 100755 --- a/src/Components/UI/LoginModal.jsx +++ b/src/Components/UI/LoginModal.jsx @@ -1,18 +1,8 @@ import React, { useState } from "react"; import Modal from "./Modal"; import "../../Style/LoginModal.css"; -import Box from '@mui/material/Box'; -import IconButton from '@mui/material/IconButton'; -import Input from '@mui/material/Input'; -import FilledInput from '@mui/material/FilledInput'; -import OutlinedInput from '@mui/material/OutlinedInput'; -import InputLabel from '@mui/material/InputLabel'; -import InputAdornment from '@mui/material/InputAdornment'; -import FormHelperText from '@mui/material/FormHelperText'; -import FormControl from '@mui/material/FormControl'; import TextField from '@mui/material/TextField'; - const LoginModal = ({ onLogin, onClose }) => { const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); @@ -21,13 +11,31 @@ const LoginModal = ({ onLogin, onClose }) => { const handleClickShowPassword = () => setShowPassword((show) => !show); - const handleSubmit = (e) => { + const handleSubmit = async (e) => { e.preventDefault(); - if (username === "admin" && password === "admin") { - onLogin(); // Успешная авторизация - onClose(); // Закрыть модальное окно - } else { - setError("Неверный логин или пароль"); + + try { + // Отправляем данные на бэкенд + console.log("Отправляем данные:", { username, password }); + const response = await fetch('http://192.168.2.39:3000/auth/login', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ login: username, password }), + }); + + const data = await response.json(); + + if (data.success) { + onLogin(); // Успешная авторизация + onClose(); // Закрыть модальное окно + } else { + setError(data.message || "Неверный логин или пароль"); + } + } catch (err) { + console.error('Ошибка при отправке запроса:', err); + setError("Ошибка при подключении к серверу"); } }; @@ -35,77 +43,28 @@ const LoginModal = ({ onLogin, onClose }) => {

Авторизация

- {/*
- - setUsername(e.target.value)} - required - /> -
-
- - setPassword(e.target.value)} - required - /> -
*/} - - {/* :not(style)': { m: 1, width: '25ch' } }} - noValidate - autoComplete="off" - > */} - setUsername(e.target.value)} - size="normal" - /> + setUsername(e.target.value)} + size="normal" + /> - setPassword(e.target.value)} - size="normal" - /> - {/* - Password - - - {showPassword ? : } - - - } - label="Password" - /> - */} - {/* */} + setPassword(e.target.value)} + size="normal" + /> {error &&

{error}

} diff --git a/src/Components/UI/MUItabs.jsx b/src/Components/UI/MUItabs.jsx new file mode 100644 index 0000000..06ef06f --- /dev/null +++ b/src/Components/UI/MUItabs.jsx @@ -0,0 +1,64 @@ +import React from "react"; +import { Tabs, Tab, Box } from "@mui/material"; +import CloseIcon from "@mui/icons-material/Close"; + +const CustomTabs = ({ tabs, activeTab, onTabClick, onCloseTab }) => { + const handleMouseDown = (e, id) => { + if (e.button === 1) { + e.preventDefault(); + onCloseTab(id); + } + }; + + const handleChange = (event, newValue) => { + onTabClick(newValue); + }; + + return ( + + + {/* Всегда отображаемые вкладки */} + handleMouseDown(e, "Главная")} + /> + handleMouseDown(e, "Визуализация")} + /> + + {/* Динамически добавляемые вкладки */} + {tabs.map((tab) => ( + + {tab.title} + { + e.stopPropagation(); + onCloseTab(tab.id); + }} + /> + + } + value={tab.id} + onMouseDown={(e) => handleMouseDown(e, tab.id)} + /> + ))} + + + ); +}; + +export default CustomTabs; \ No newline at end of file diff --git a/src/Components/UI/TreeTable.jsx b/src/Components/UI/TreeTable.jsx index 51287aa..ddcb5a0 100755 --- a/src/Components/UI/TreeTable.jsx +++ b/src/Components/UI/TreeTable.jsx @@ -27,12 +27,6 @@ const TreeTable = ({ data }) => { } }; - useEffect(() => { - adjustFontSize(); - window.addEventListener("resize", adjustFontSize); - return () => window.removeEventListener("resize", adjustFontSize); - }, [data]); - useEffect(() => { const newLog = []; const traverse = (items) => { @@ -41,7 +35,7 @@ const TreeTable = ({ data }) => { newLog.push({ title: item.title, status: item.status, - time: new Date().toLocaleTimeString() // Добавляем время + time: new Date().toLocaleTimeString(), // Добавляем время }); } if (item.items) { @@ -50,19 +44,31 @@ const TreeTable = ({ data }) => { }); }; traverse(data.items); - setLog(newLog); + + // Ограничиваем количество сообщений до 50 + setLog((prevLog) => [...newLog, ...prevLog].slice(0, 50)); }, [data]); const filteredData = data.items.filter((item) => item.title !== "Функциональные задачи"); + // Функция для отображения заголовков const renderHeaders = (items) => { return items.map((item) => { const colSpan = item.items ? item.items.length : 1; return (
-
-
+
+
{item.title}
@@ -70,41 +76,117 @@ const TreeTable = ({ data }) => { }); }; - const renderRows = (items) => { - if (!items || items.length === 0) return null; - const hasChildren = items.some((item) => item.items && item.items.length > 0); - if (!hasChildren) return null; - return ( - - {items.map((item) => { - if (item.items && item.items.length > 0) { - return ( - - {item.items.map((child) => ( - -
-
-
- {child.title} -
- - ))} - - ); + // Функция для отображения подзаголовков + const renderSubHeaders = (items) => { + return items.map((item) => { + if (item.items) { + return item.items.map((child) => ( + +
+
+
+ {child.title} +
+ + )); + } else { + return ( + +
+
+
+ {item.title} +
+ + ); + } + }); + }; + + // Функция для отображения данных + const renderData = (items) => { + return items.map((item) => { + if (item.items) { + return item.items.map((child) => { + if (child.items) { + return child.items.map((subChild) => ( + +
+
+
+ {subChild.title} +
+ + )); } else { return ( - +
-
-
- {item.title} +
+
+ {child.title}
); } - })} - - ); + }); + } else { + return ( + +
+
+
+ {item.title} +
+ + ); + } + }); }; return ( @@ -118,15 +200,27 @@ const TreeTable = ({ data }) => { title={data.title} >
-
-
+
+
{data.title}
{renderHeaders(filteredData)} + {renderSubHeaders(filteredData)} - {renderRows(filteredData)} + + {renderData(filteredData)} + - {isLogVisible && ( -
-

Лог статусов

-
    - {log.map((entry, index) => ( -
  • - [{entry.time}] {entry.status}: {entry.title} -
  • - ))} -
-
- )} -
- ); -}; - -export default TreeTable; \ No newline at end of file diff --git a/src/Components/hooks/TabContent.jsx b/src/Components/hooks/TabContent.jsx new file mode 100644 index 0000000..bd33c2c --- /dev/null +++ b/src/Components/hooks/TabContent.jsx @@ -0,0 +1,32 @@ +import SystemStatusChart from "../../Charts/SystemStatusChart"; +import TreeTable from "../UI/TreeTable"; +import TreeChart from "../TreeChart/TreeChart"; + +const TabContent = ({ activeTab, statusHistories, treeData1, tabContent, handleOpenTab }) => { + if (activeTab === "Главная") { + return ( +
+

Общий мониторинг состояния системы

+
+
+ + +
+
+ + +
+
+ + +
+ ); + } else if (activeTab === "Визуализация") { + return handleOpenTab(id, title)} />; + } else { + const tabData = tabContent[activeTab]; + return tabData ? tabData.content :

Нет данных

; + } +}; + +export default TabContent; \ No newline at end of file diff --git a/src/Components/hooks/useSidebarResize.jsx b/src/Components/hooks/useSidebarResize.jsx new file mode 100644 index 0000000..f41e0a7 --- /dev/null +++ b/src/Components/hooks/useSidebarResize.jsx @@ -0,0 +1,43 @@ +import { useState, useCallback, useEffect } from "react"; + +const useSidebarResize = (initialWidth = 250) => { + const [sidebarWidth, setSidebarWidth] = useState(initialWidth); + const [isResizing, setIsResizing] = useState(false); + + const startResizing = useCallback((e) => { + e.preventDefault(); + setIsResizing(true); + }, []); + + const resize = useCallback((e) => { + if (isResizing) { + const newWidth = e.clientX; + if (newWidth > 100 && newWidth < 400) { + setSidebarWidth(newWidth); + } + } + }, [isResizing]); + + const stopResizing = useCallback(() => { + setIsResizing(false); + }, []); + + useEffect(() => { + const handleMouseMove = (e) => resize(e); + const handleMouseUp = () => stopResizing(); + + if (isResizing) { + window.addEventListener("mousemove", handleMouseMove); + window.addEventListener("mouseup", handleMouseUp); + } + + return () => { + window.removeEventListener("mousemove", handleMouseMove); + window.removeEventListener("mouseup", handleMouseUp); + }; + }, [isResizing, resize, stopResizing]); + + return { sidebarWidth, startResizing }; +}; + +export default useSidebarResize; \ No newline at end of file diff --git a/src/Components/hooks/useTabs.jsx b/src/Components/hooks/useTabs.jsx new file mode 100644 index 0000000..188cdf5 --- /dev/null +++ b/src/Components/hooks/useTabs.jsx @@ -0,0 +1,26 @@ +import { useState, useCallback } from "react"; + +const useTabs = (initialTab) => { + const [tabs, setTabs] = useState([]); + const [activeTab, setActiveTab] = useState(initialTab); + + const handleOpenTab = useCallback((id, title) => { + setTabs((prevTabs) => + prevTabs.some((tab) => tab.id === id) + ? prevTabs + : [...prevTabs, { id, title }] + ); + setActiveTab(id); + }, []); + + const handleCloseTab = useCallback((id) => { + setTabs((prevTabs) => prevTabs.filter((tab) => tab.id !== id)); + if (activeTab === id) { + setActiveTab(tabs.length > 1 ? tabs[tabs.length - 2].id : initialTab); + } + }, [activeTab, tabs, initialTab]); + + return { tabs, activeTab, handleOpenTab, handleCloseTab, setActiveTab }; +}; + +export default useTabs; \ No newline at end of file diff --git a/src/Style/Dashboard.css b/src/Style/Dashboard.css index a7f393c..4f9eb18 100755 --- a/src/Style/Dashboard.css +++ b/src/Style/Dashboard.css @@ -2,24 +2,34 @@ .dashboard-container { display: flex; height: 100vh; - width: calc(100vw - 20px); + width: 100vw; overflow: hidden; - margin-left: 20px; background-color: var(--background-color); color: var(--text-color); } +/* Сайдбар */ +.sidebar { + flex-shrink: 0; + height: 100vh; + overflow-y: auto; + background-color: var(--sidebar-color); + color: var(--sidebar-text-color); + transition: width 0.2s ease; +} + /* Основной контент */ .main-content { - flex: 1; + flex-grow: 1; + display: flex; + flex-direction: column; padding: 20px; - margin-left: 50px; - transition: margin-left 0.2s ease; overflow: auto; background-color: var(--background-color); color: var(--text-color); } + /* Контент */ .content { background-color: var(--modal-background); diff --git a/src/Style/SystemStatusTable.css b/src/Style/SystemStatusTable.css index 5711e1e..be9c38f 100755 --- a/src/Style/SystemStatusTable.css +++ b/src/Style/SystemStatusTable.css @@ -48,7 +48,7 @@ button { } button:hover { - background-color: #0056b3; + background-color: #000000; } caption { diff --git a/src/Style/ThemeSwitch.jsx b/src/Style/ThemeSwitch.jsx deleted file mode 100755 index 3f00059..0000000 --- a/src/Style/ThemeSwitch.jsx +++ /dev/null @@ -1,31 +0,0 @@ -import { createTheme, ThemeProvider } from "@mui/material/styles"; - -// Светлая тема -const lightTheme = createTheme({ - palette: { - mode: "light", - background: { - default: "#FFFFFF", - paper: "#f4f4f4", - }, - text: { - primary: "#000000", - secondary: "#333333", - }, - }, -}); - -// Темная тема -const darkTheme = createTheme({ - palette: { - mode: "dark", - background: { - default: "#1E1E1E", - paper: "#2d2d2d", - }, - text: { - primary: "#E0E0E0", - secondary: "#CCCCCC", - }, - }, -}); \ No newline at end of file diff --git a/src/Style/TreeTable.css b/src/Style/TreeTable.css index 10eb027..d31dad5 100755 --- a/src/Style/TreeTable.css +++ b/src/Style/TreeTable.css @@ -1,6 +1,7 @@ .tree-table-container { width: 100%; - overflow-x: auto; + overflow-x: hidden; + /* Убираем горизонтальный скролл */ } .tree-table { @@ -8,26 +9,33 @@ border-collapse: collapse; text-align: center; table-layout: fixed; + /* Фиксированная ширина колонок */ background-color: var(--table-cell-background); color: var(--table-text-color); - /* Используем переменную для цвета текста */ } .tree-table-header { padding: 10px; - border: 1px solid var(--table-border); + border: 1px solid black; font-weight: bold; white-space: nowrap; + /* Текст не переносится */ overflow: hidden; + /* Скрываем текст, который не помещается */ text-overflow: ellipsis; + /* Добавляем многоточие */ background-color: var(--table-header-background); } .tree-table-cell { padding: 8px; - border: 1px solid var(--table-border); + border: 1px solid black; white-space: nowrap; + /* Текст не переносится */ overflow: hidden; + /* Скрываем текст, который не помещается */ + text-overflow: ellipsis; + /* Добавляем многоточие */ } .cell-content, @@ -40,6 +48,12 @@ text-overflow: ellipsis; } +.cell-text { + flex: 1; + overflow: hidden; + text-overflow: ellipsis; +} + .status-indicator-bar { width: 6px; height: 20px; diff --git a/src/Style/dark-theme.css b/src/Style/dark-theme.css old mode 100755 new mode 100644 diff --git a/src/Style/light-theme.css b/src/Style/light-theme.css old mode 100755 new mode 100644 index 6e98f53..b4f6d03 --- a/src/Style/light-theme.css +++ b/src/Style/light-theme.css @@ -1,7 +1,7 @@ /* Светлая тема по умолчанию */ :root { --background-color: #FFFFFF; - --text-color: #FFFFFF; + --text-color: #000000; --header-color: #333333; /* Основной цвет текста (черный) */ --sidebar-color: #3d74c7; @@ -16,8 +16,8 @@ --table-cell-background: #FFFFFF; --table-text-color: #000000; /* Черный текст в таблице */ - + /* hover for buttons */ --hover-button: #2d62b1; - --hover-text-color : #FFFFFF + --hover-text-color: #FFFFFF } \ No newline at end of file diff --git a/src/Style/theme.jsx b/src/Style/theme.jsx new file mode 100644 index 0000000..02b38ed --- /dev/null +++ b/src/Style/theme.jsx @@ -0,0 +1,73 @@ +import { createTheme } from "@mui/material/styles"; + +export const lightTheme = createTheme({ + palette: { + mode: "light", + background: { + default: "#FFFFFF", + paper: "#FFFFFF", + }, + text: { + primary: "#000000", + }, + primary: { + main: "#3d74c7", + }, + secondary: { + main: "#0f55bec2", + }, + custom: { + background: "#FFFFFF", + text: "#000000", + sidebar: "#3d74c7", + sidebarText: "#FFFFFF", + modalBackground: "#FFFFFF", + modalBtnBackground: "#0f55bec2", + modalText: "#333333", + tableBorder: "#ddd", + tableHeaderBackground: "#f9f9f9", + tableCellBackground: "#FFFFFF", + tableText: "#000000", + treeChartText: "#000000", + scrollbarTrack: "#f1f1f1", + hoverButton: "#2d62b1", + hoverText: "#FFFFFF", + }, + }, +}); + +export const darkTheme = createTheme({ + palette: { + mode: "dark", + background: { + default: "#1E1E1E", + paper: "#2d2d2d", + }, + text: { + primary: "#E0E0E0", + }, + primary: { + main: "#2d2d2d", + }, + secondary: { + main: "#333333", + }, + custom: { + background: "#1E1E1E", + text: "#E0E0E0", + sidebar: "#2d2d2d", + sidebarText: "#E0E0E0", + modalBackground: "#2d2d2d", + modalBtnBackground: "#333333", + modalText: "#FFFFFF", + tableBorder: "#444444", + tableHeaderBackground: "#2d2d2d", + tableCellBackground: "#333333", + tableText: "#E0E0E0", + treeChartText: "#FFFFFF", + scrollbarTrack: "#333", + hoverButton: "#333d4d", + hoverText: "#E0E0E0", + }, + }, +}); diff --git a/src/main.jsx b/src/main.jsx index f802dc0..e373476 100755 --- a/src/main.jsx +++ b/src/main.jsx @@ -2,8 +2,8 @@ import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' import './index.css' import App from './App.jsx' -import './Style/light-theme.css'; // Подключаем светлую тему по умолчанию -import './Style/dark-theme.css'; // Подключаем темную тему +//import './Style/light-theme.css'; // Подключаем светлую тему по умолчанию +//import './Style/dark-theme.css'; // Подключаем темную тему createRoot(document.getElementById('root')).render( -- 2.40.1