温馨提示×

Debian LAMP如何进行系统监控与日志分析

小樊
36
2025-12-20 17:44:26
栏目: 智能运维

Debian LAMP系统监控与日志分析

一 关键日志与存放路径

  • 系统与服务日志集中在**/var/log**:
    • 系统整体:/var/log/syslog(或部分系统为**/var/log/messages**)
    • 认证与安全:/var/log/auth.log
    • 内核与启动:/var/log/kern.log/var/log/dmesg/var/log/boot.log
    • 包管理:/var/log/dpkg.log
    • 登录失败记录:/var/log/btmp
    • Web服务:/var/log/apache2/access.log/var/log/apache2/error.log
    • 数据库:/var/log/mysql/error.log(具体路径以实际安装为准)
  • 建议先确认本机日志目录与服务日志配置,再开展监控与排查。

二 实时监控与常用命令

  • 资源与进程
    • 实时资源:tophtop(交互更友好,需安装)
    • 虚拟内存/进程/I/O/CPU:vmstat 1 5
    • 内存:free -h
    • 磁盘I/O:iostat -xz 1(需安装sysstat
    • 磁盘空间:df -h
    • 网络连接与端口:ss -tulnp(或 netstat)
  • 日志查看与检索
    • 实时跟踪:tail -f /var/log/syslog
    • 关键字过滤:grep -i “error” /var/log/syslog
    • 分页浏览:less /var/log/syslog
    • systemd 日志:journalctljournalctl -u apache2journalctl -p errjournalctl --since “2025-12-20 00:00:00” --until “2025-12-20 12:00:00”
  • 组合示例
    • 查看 Apache 最近的错误并高亮:tail -n 200 /var/log/apache2/error.log | grep -i “error”
    • 按时间窗口排查系统错误:journalctl -p err --since “2025-12-19”

三 日志轮转与保留策略

  • 使用logrotate自动轮转、压缩与清理日志
    • 主配置:/etc/logrotate.conf;服务配置:/etc/logrotate.d/(如 apache2)
  • 常用配置项
    • rotate N:保留历史份数
    • size 100M:按大小触发
    • daily/weekly/monthly:按周期触发
    • compressdelaycompress:压缩与延迟压缩
    • missingoknotifempty:容错与空文件跳过
    • create 644 www-data adm:轮转后重建并设置权限属主
  • 建议为apache2mysqlsyslog等分别配置合理的保留周期与压缩策略,避免磁盘被占满。

四 错误日志分析与定位流程

  • 确认日志路径与级别
    • Apache:/var/log/apache2/error.log(关注错误级别与时间戳)
    • 系统:/var/log/syslogjournalctl -p err
  • 快速检索与过滤
    • 按关键字:grep -i “error|fail|timeout” /var/log/apache2/error.log
    • 按时间:journalctl --since “2025-12-20 09:00” -u apache2
  • 关联排查
    • 资源瓶颈:top/htopiostat -xz 1free -hdf -h
    • 连接与端口:ss -tulnp
    • 句柄与文件:lsof
    • 必要时跟踪进程:strace -p -f -o /tmp/strace.log
  • 处置闭环
    • 依据错误类型执行:调整配置、重启服务、升级组件、优化慢查询或代码路径,并验证修复效果。

五 进阶监控与可视化方案

  • 企业级监控
    • Zabbix:集中监控主机、服务与网络,支持触发器与告警
    • Nagios:成熟的主机与服务可用性监控
  • 时间序列与可视化
    • Prometheus + Grafana:采集系统与应用指标,构建仪表盘与告警规则
    • 轻量可视化:Sampler(基于 Shell 命令的实时可视化)
  • 集中式日志
    • **ELK Stack(Elasticsearch, Logstash, Kibana)**或 Graylog:日志收集、解析、检索与可视化
  • 选型建议
    • 单机或中小规模:优先Prometheus + Grafana + 系统日志
    • 多机与合规审计:引入ZabbixELK/Graylog做统一监控与日志平台。

0