Comment créer un système de surveillance en temps réel en utilisant PHP et REDIS

WBOY
Libérer: 2023-07-21 16:46:01
original
1047 Les gens l'ont consulté

Comment utiliser PHP et Redis pour créer un système de surveillance en temps réel

Introduction :
Le système de surveillance en temps réel est une partie importante des applications Internet modernes. Il est utilisé pour collecter, analyser et afficher différents types de données en temps réel. temps, nous aidant à comprendre l’état de fonctionnement et les performances du système ainsi que le comportement des utilisateurs et d’autres informations. Cet article explique comment utiliser PHP et Redis pour créer un système de surveillance simple en temps réel et fournit des exemples de code correspondants à titre de référence.

1. Préparation
Afin de compléter notre système de surveillance en temps réel, nous devons préparer les composants suivants, les installer et les configurer : PHP, Redis et Composer.

  • PHP : Nous utilisons PHP comme langage back-end pour gérer des fonctions telles que la collecte, l'analyse et l'affichage de données.
  • Redis : nous utilisons Redis comme stockage de données et cache pour obtenir un stockage de données en temps réel et une requête rapide.
  • Composer : Composer est un outil de gestion des dépendances pour PHP. Nous l'utilisons pour gérer nos packages de dépendances PHP.

2. Construisez le projet

  1. Créez le répertoire du projet et entrez dans le répertoire : ``
    $ mkdir real_time_monitor
    $ cd real_time_monitor

  2. 初始化Composer:`
    $ composer init

根据提示填写项目信息,并生成composer.json文件。

  1. 安装PHP Redis扩展:`
    $ composer require predis/predis

    该命令会自动下载并安装Redis的PHP扩展。安装完成后,我们可以在项目的`vendor`目录下看到相关的文件。
    Copier après la connexion
  2. 创建项目文件结构及配置文件:`
    $ mkdir src
    $ touch src/index.php config.php

首先创建src目录,用于存放我们的PHP代码文件。然后创建index.php文件作为我们的入口文件,config.php用于存放我们的配置信息。

五、编写代码

  1. 配置Redis连接:在config.php文件中,我们需要配置Redis的连接信息:`

$config = [

'host' => '127.0.0.1',    // Redis主机地址
'port' => 6379,           // Redis端口
'database' => 0,          // Redis数据库编号
Copier après la connexion

];

return $config;

2. 收集数据:在`index.php`文件中,我们需要编写代码来收集需要监控的数据,并将其存入Redis中。以下是一个示例代码:```
<?php

require_once __DIR__ . '/../vendor/autoload.php';

use PredisClient;

// 引入配置文件
$config = require_once __DIR__ . '/../config.php';

// 连接Redis
$redis = new Client($config);

// 收集CPU使用率数据
$cpuUsage = getCpuUsage();
$redis->zadd('monitor:cpu_usage', [time() => $cpuUsage]);

// 收集内存使用数据
$memoryUsage = getMemoryUsage();
$redis->zadd('monitor:memory_usage', [time() => $memoryUsage]);

// 其他数据的收集和存储...
Copier après la connexion
  1. 查询数据:我们可以通过以下代码来查询Redis中的数据,并进行相应的展示和分析:`

require_once DIR . '/../vendor/autoload.php';

use PredisClient;

// 引入配置文件
$config = require_once DIR . '/../config.php';

// 连接Redis
$redis = new Client($config);

// 查询并展示CPU使用率前10名的数据
$result = $redis->zrevrange('monitor:cpu_usage', 0, 9, 'WITHSCORES');
foreach ($result as $timestamp => $cpuUsage) {

echo "时间:".date('Y-m-d H:i:s', $timestamp).",CPU使用率:".$cpuUsage."
Copier après la connexion

";
}

// 查询并展示内存使用前10名的数据
$result = $redis->zrevrange('monitor:memory_usage', 0, 9, 'WITHSCORES');
foreach ($result as $timestamp => $memoryUsage) {

echo "时间:".date('Y-m-d H:i:s', $timestamp).",内存使用:".$memoryUsage."
Copier après la connexion

";
}

// 其他数据的查询和展示...

六、运行项目
1. 收集数据:通过命令行执行以下命令进行数据的收集:```
$ php src/index.php
Copier après la connexion
  1. 查询数据:同样通过命令行执行以下命令进行数据的查询:`$ mkdir real_time_monitor
    $ cd real_time_monitor
🎜🎜Initialisez Composer : `</ code >🎜$ composer init🎜🎜🎜🎜Remplissez les informations du projet en fonction des invites et générez le fichier <code>composer.json. 🎜
    🎜🎜Installer l'extension PHP Redis : `🎜$ composer require predis/predis🎜
    运行以上命令后,我们可以看到相应的数据展示在命令行中。
    
    总结:
    Copier après la connexion
    🎜🎜🎜Créer la structure du fichier de projet et le fichier de configuration : ` code>🎜$ mkdir src🎜$ touch src/index.php config.php🎜🎜🎜🎜Créez d'abord le répertoire <code>src pour stocker nos fichiers de code PHP. Créez ensuite le fichier index.php comme fichier d'entrée, et config.php est utilisé pour stocker nos informations de configuration. 🎜🎜5. Écrivez le code 🎜🎜🎜Configurer la connexion Redis : Dans le fichier config.php, nous devons configurer les informations de connexion Redis : `🎜🎜Requête de données : nous pouvons interroger les données dans Redis via le code suivant et effectuer l'affichage et l'analyse correspondants : `🎜DIR '/../vendor/autoload.php';🎜🎜utilisez PredisClient;🎜🎜//Introduire le fichier de configuration. 🎜$config = require_once DIR . '/../config.php';🎜🎜// Se connecter à Redis 🎜$redis = new Client($config);🎜🎜// Requête et affichage du CPU utilisation Évaluez les 10 premières données🎜$result = $redis->zrevrange('monitor:cpu_usage', 0, 9, 'WITHSCORES');🎜foreach ($result as $timestamp => $cpuUsage) {🎜rrreee🎜 ";🎜}🎜🎜//Interrogez et affichez les 10 principales données d'utilisation de la mémoire🎜$result = $redis->zrevrange('monitor:memory_usage', 0, 9, 'WITHSCORES');🎜foreach ($résultat en $ timestamp => $memoryUsage) {🎜rrreee🎜";🎜}🎜🎜// Requête et affichage d'autres données...🎜rrreee
      🎜Requête de données : exécutez également la commande suivante via la commande ligne Données de requête : `🎜$ php src/index.php🎜🎜rrreee

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal