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.
2. Construisez le projet
Créez le répertoire du projet et entrez dans le répertoire : `
`
$ mkdir real_time_monitor
$ cd real_time_monitor
初始化Composer:`
$ composer init
根据提示填写项目信息,并生成composer.json
文件。
安装PHP Redis扩展:`
$ composer require predis/predis
该命令会自动下载并安装Redis的PHP扩展。安装完成后,我们可以在项目的`vendor`目录下看到相关的文件。
创建项目文件结构及配置文件:`
$ mkdir src
$ touch src/index.php config.php
首先创建src
目录,用于存放我们的PHP代码文件。然后创建index.php
文件作为我们的入口文件,config.php
用于存放我们的配置信息。
五、编写代码
config.php
文件中,我们需要配置Redis的连接信息:`
$config = [
'host' => '127.0.0.1', // Redis主机地址 'port' => 6379, // Redis端口 'database' => 0, // Redis数据库编号
];
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]); // 其他数据的收集和存储...
`
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."
";
}
// 查询并展示内存使用前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."
";
}
// 其他数据的查询和展示...
六、运行项目 1. 收集数据:通过命令行执行以下命令进行数据的收集:``` $ php src/index.php
`
$ mkdir real_time_monitor`</ code >🎜$ composer init🎜🎜🎜🎜Remplissez les informations du projet en fonction des invites et générez le fichier <code>composer.json
. 🎜`
🎜$ composer require predis/predis🎜运行以上命令后,我们可以看到相应的数据展示在命令行中。 总结:
` 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`
🎜$ php src/index.php🎜🎜rrreeeCe 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!