溫馨提示×

如何監控LNMP運行狀態

小樊
69
2025-04-05 03:39:24
欄目: 編程語言

要監控LNMP(Linux, Nginx, MySQL, PHP)環境的運行狀態,可以采用以下幾種方法:

使用系統監控工具

  • top、htopvmstat 等命令來查看CPU、內存、磁盤和網絡使用情況。

檢查服務狀態

  • 使用以下命令檢查各個服務的狀態:
    • 檢查Nginx服務狀態:sudo systemctl status nginx
    • 檢查MySQL服務狀態:sudo systemctl status mysql
    • 檢查PHP-FPM服務狀態:sudo systemctl status php-fpm

分析日志文件

  • 查看各個服務的錯誤日志,以便分析錯誤和異常:
    • 查看Nginx錯誤日志:sudo tail -n 10 /var/log/nginx/error.log
    • 查看MySQL錯誤日志:sudo tail -n 10 /var/log/mysql/error.log
    • 查看PHP錯誤日志(路徑可能因版本不同而異):sudo tail -n 10 /var/log/php7.x/error.log

使用監控工具

  • 利用 Prometheus、Grafana 等監控工具收集并展示系統指標。

自動化腳本

  • 可以使用自動化腳本來監控服務狀態并在必要時自動重啟服務。例如,下面的腳本可以檢查PHP-FPM、MySQL和Nginx服務是否運行,并在服務down時重啟它們:
#!/bin/bash

# 獲取當前時間
echo "$(date +'%Y-%m-%d %H:%M:%S')"

# 檢查php-fpm服務是否運行
if ! netstat -an | grep php-cgi | wc -l; then
    # 重啟php-fpm服務
    /etc/init.d/php-fpm restart
    # 寫入日志
    echo "$(date +'%Y-%m-%d %H:%M:%S') php-fpm service is down... restart..." >> /home/checkfail-lnmp.log
fi

# 檢查mysql服務是否運行
if ! netstat -anpt | grep mysqld | awk '{print $4}' | awk -F: '{print $2}' | wc -l; then
    # 重啟mysql服務
    /etc/init.d/mysql restart
    # 寫入日志
    echo "$(date +'%Y-%m-%d %H:%M:%S') mysqld service is down... restart..." >> /home/checkfail-lnmp.log
fi

# 檢查nginx服務是否運行
if ! netstat -anpt | grep nginx | awk '{print $4}' | awk -F: '{print $2}' | wc -l; then
    # 重啟nginx服務
    /etc/init.d/nginx restart
    # 寫入日志
    echo "$(date +'%Y-%m-%d %H:%M:%S') nginx service is down... restart..." >> /home/checkfail-lnmp.log
fi

為腳本添加執行權限,并將其添加到crontab中,可以每分鐘檢查一次服務狀態:

通過上述方法,可以有效地監控LNMP環境的運行狀態,確保服務的穩定性和可靠性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女