命令行工具是LAMP性能監控的基礎手段,適合快速查看系統及服務狀態,無需圖形界面。
系統級基礎監控:
top
:實時顯示系統中各個進程的CPU、內存占用情況,默認按CPU使用率排序,可快速定位高負載進程。htop
:top
的增強版,提供顏色化界面、鼠標交互和進程管理功能(如終止進程),需通過sudo apt install htop
安裝。vmstat
:報告虛擬內存、CPU活動、磁盤I/O等統計信息(如vmstat 1
每秒刷新一次),需安裝sysstat
包。iostat
:監控磁盤I/O操作(讀寫速率、I/O等待時間),同樣屬于sysstat
包,常用命令iostat -c -d 4
(每4秒顯示CPU和磁盤統計)。sar
:收集并報告系統活動數據(如CPU利用率、內存使用、網絡流量),需安裝sysstat
,通過sar -u 1
查看CPU使用率,sar -d 1
查看磁盤活動。df
:顯示文件系統磁盤使用情況(如根分區剩余空間),常用df -h
以人類可讀格式輸出。free
:查看系統內存使用情況(包括緩存、緩沖區),常用free -m
以MB為單位顯示。LAMP組件專項監控:
mod_status
模塊監控Apache狀態(需啟用)。編輯Apache配置文件(如/etc/apache2/mods-enabled/status.conf
),添加ExtendedStatus On
和<Location "/server-status">
段,重啟Apache后訪問http://服務器IP/server-status
,可查看當前連接數、請求數、工作線程狀態等。mysqladmin
工具(MySQL自帶)監控數據庫狀態,如mysqladmin -u root -p status
查看服務器運行時間、連接數、查詢速率;或通過Performance Schema
(需開啟)深入分析查詢性能、鎖等待等。圖形界面工具適合直觀查看系統整體狀態,適合不熟悉命令行的用戶。
Ubuntu自帶工具:
第三方圖形化工具:
glances
包,sudo apt install glances
),可監控CPU、內存、磁盤、網絡、傳感器等,支持遠程監控。conky
包并通過配置文件調整顯示內容。/etc/prometheus/prometheus.yml
添加LAMP服務器地址)和Grafana數據源(指向Prometheus)。適合企業級環境,支持集中管理、報警、歷史數據存儲等功能。
wget http://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz
),配置nagios.cfg
和services.cfg
文件,訪問http://服務器IP:8080
登錄Web界面。wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1ubuntu20.04_all.deb
),安裝zabbix-server-mysql
、zabbix-frontend-php
等包,配置數據庫(如MySQL)和Web界面(訪問http://服務器IP:80
)。通過腳本和定時任務實現自動化監控,及時響應性能問題。
psutil
庫(Python)獲取系統利用率,腳本示例如下:import psutil
cpu_usage = psutil.cpu_percent(interval=1)
if cpu_usage > 80:
print("CPU使用率過高!當前值:{}%".format(cpu_usage))
將腳本保存為monitor.py
,通過cron
定時執行(如crontab -e
添加*/5 * * * * /usr/bin/python3 /path/to/monitor.py
)。mail
命令,在指標異常時發送郵件通知。例如,監控Apache進程數的腳本:#!/bin/bash
apache_count=$(ps aux | grep apache2 | grep -v grep | wc -l)
if [ $apache_count -gt 200 ]; then
echo "Apache進程數過多!當前值:$apache_count" | mail -s "Apache報警" admin@example.com
fi
通過cron
每分鐘執行一次。以上方法覆蓋了從基礎到高級的LAMP性能監控需求,可根據實際場景選擇合適的工具組合(如命令行快速排查+Grafana可視化+報警腳本)。