Position actuelle: Accueil> Derniers articles> Comment définir et implémenter la fonction de journalisation distante via la fonction syslog?

Comment définir et implémenter la fonction de journalisation distante via la fonction syslog?

gitbox 2025-09-11
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Ce n&#39;est pas lié au contenu de l&#39;article PHP Section de code</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Initialiser la fonction de journalisation du système...\n"</span></span><span>;
</span><span><span class="hljs-variable">$syslog_ident</span></span><span> = </span><span><span class="hljs-string">"MyApp"</span></span><span>;
</span><span><span class="hljs-variable">$syslog_option</span></span><span> = LOG_PID | LOG_PERROR;
</span><span><span class="hljs-variable">$syslog_facility</span></span><span> = LOG_USER;
</span><span><span class="hljs-title function_ invoke__">openlog</span></span><span>(</span><span><span class="hljs-variable">$syslog_ident</span></span><span>, </span><span><span class="hljs-variable">$syslog_option</span></span><span>, </span><span><span class="hljs-variable">$syslog_facility</span></span><span>);

</span><span><span class="hljs-meta">?></span></span><span>

<hr>

<h2>Comment passer syslog Paramètre de fonction et implémentation de la fonction de journalisation distante?</h2>

<p>exister PHP milieu,<code>syslog

La configuration ci-dessus permet d'envoyer des journaux au port de serveur distant 514 via UDP .

3. Le côté PHP envoie des journaux distants

Les fonctions Syslog de PHP reposent généralement sur les services Syslog locaux. Par conséquent, pour envoyer à un serveur distant, vous devez spécifier la destination distante dans le fichier de configuration Syslog local. Prendre /etc/rsyslog.d/remote.conf du système Linux comme exemple:

*. * @@ serveur distant IP: <span><span>514</span></span><span>
</span><p>Utilisez ensuite la fonction syslog directement dans PHP:</p><pre>
<span><span><?php</span></span><span>
</span><span><span class="function_ invoke__">openLog</span></span> <span>(</span> <span><span>"myApp"</span></span> <span>, log_pid | log_perror, log_user);
</span><span><span class="function_ invoke__">syslog</span></span> <span>(log_info,</span> <span><span>"Ceci est un exemple de message de journal distant"</span></span> <span>);
</span><span><span class="function_ invoke__">roselog</span></span> <span>();
</span><span><span>?></span></span><span>
</span></span><h3><span><span>4.</span></span> <span>Priorité et installations du journal</span><p> Les messages de journal peuvent spécifier différentes priorités et installations pour les serveurs distants pour classer et filtrer:</p><ul><li> Priorité: <span class="fun">log_emerg</span> , <span class="fun">log_alert</span> , <span class="fun">log_crit</span> , <span class="fun">log_err</span> , <span class="fun">log_warning</span> , <span class="fun">log_notice</span> , <span class="fun">log_info</span> , <span class="fun">log_debug</span></li><li> Installations: <span class="fun">log_user</span> , <span class="fun">log_local0</span> à <span class="fun">log_local7</span> , etc.</li></ul><h3> <span><span>5.</span></span> <span>Choses à noter</span><ol><li> Assurez-vous que le port réseau (par défaut UDP <span><span>514</span></span> <span>) est autorisé à accéder dans le pare-feu.</span><li> Les serveurs de journaux distants doivent avoir des mécanismes de stockage et de rotation des journaux pour empêcher la croissance des journaux illimités.</li><li> Dans des situations de concurrence élevées, envisagez l&#39;envoi du journal par lots ou utilisez un proxy de journal dédié pour réduire l&#39;impact des performances.</li></ol><p> Grâce aux exemples de configuration et de code ci-dessus, nous pouvons implémenter des programmes PHP pour envoyer des journaux en toute sécurité et efficacement aux serveurs de journaux distants, ce qui facilite la surveillance centralisée et la gestion de l&#39;état de fonctionnement des applications.</p> <span><span><?php</span></span><span>
</span><span><span>// Le code PHP à la fin de l&#39;article n&#39;est pas pertinent</span></span><span>
</span><span><span>écho</span></span><span> </span><span><span>"L&#39;enregistrement du journal est terminé. \ N"</span></span> <span>;</span> <span><span>?></span></span><span>
</span></span></div></div>