Как можно отобразить загрузку компьютера на веб-странице?

Как я могу создать отдельную страницу на своём сайте, чтобы отслеживать его загруженность, если сервер работает на старом ПК?
  • 11 января 2025 г. 10:04
Ответы на вопрос 2
Для отображения загрузки компьютера на веб-странице можно использовать несколько подходов, в зависимости от технологий и инструментов, которые у вас есть. Вот общий план действий:

### 1. Сбор данных о загрузке компьютера

Первым шагом является получение информации о загрузке процессора, памяти и других системных ресурсов. Для этого можно использовать различные инструменты и языки программирования. Например:

- **Python**: Вы можете использовать библиотеку `psutil`, которая позволяет получить информацию о нагрузке на систему.

```python
import psutil

cpu_usage = psutil.cpu_percent(interval=1)
memory_info = psutil.virtual_memory()
memory_usage = memory_info.percent
```

- **Node.js**: Для сервера на Node.js можно использовать библиотеку `os-utils`.

```javascript
const os = require('os-utils');

os.cpuUsage(function(v){
    console.log('CPU Usage (%): ' + v * 100);
});
```

### 2. Создание API для передачи данных на клиент

Создайте простой API, который будет отдаваться информацию о загрузке. Например, на Python с использованием Flask:

```python
from flask import Flask, jsonify
import psutil

app = Flask(__name__)

@app.route('/status')
def status():
    cpu_usage = psutil.cpu_percent(interval=1)
    memory_info = psutil.virtual_memory()
    memory_usage = memory_info.percent
    return jsonify({'cpu_usage': cpu_usage, 'memory_usage': memory_usage})

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)
```

### 3. Создание веб-страницы для отображения данных

Теперь создайте HTML-страницу, которая будет запрашивать данные с вашего API и отображать их в реальном времени с использованием JavaScript.

```html
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Загрузка системы</title>
    <script>
        async function fetchStatus() {
            const response = await fetch('/status');
            const data = await response.json();
            document.getElementById('cpu').innerText = `Загрузка ЦП: ${data.cpu_usage}%`;
            document.getElementById('memory').innerText = `Загрузка Памяти: ${data.memory_usage}%`;
        }

        setInterval(fetchStatus, 2000); // Каждый 2 секунды
    </script>
</head>
<body>
    <h1>Статус загрузки системы</h1>
    <p id="cpu">Загрузка ЦП: 0%</p>
    <p id="memory">Загрузка Памяти: 0%</p>
</body>
</html>
```

### 4. Развертывание

Запустите свой сервер, и откройте созданную вами веб-страницу в браузере. Убедитесь, что на сервере установлены все необходимые зависимости.

### Заметки

1. Убедитесь, что ваш сервер имеет доступ к сети, и ваш API доступен откуда вы хотите его просматривать.
2. Не забудьте учитывать безопасность, особенно если планируете открывать доступ к этому API извне.
3. При необходимости можете интегрировать графики (например, с использованием библиотеки Chart.js) для более наглядного отображения данных.

Этот подход позволит вам отслеживать нагрузку на ваш сервер и отображать эту информацию на веб-странице.
Использовать готовые решения. monit, zabbix, например. Графану там какую то
Похожие вопросы