首页主机资讯如何利用Ubuntu日志监控系统性能

如何利用Ubuntu日志监控系统性能

时间2025-12-02 12:31:04发布访客分类主机资讯浏览740
导读:利用 Ubuntu 日志监控系统性能 一 日志来源与关键命令 使用 journald 统一查看系统与服务日志:实时跟踪用 journalctl -f;按启动周期查看用 journalctl -b;查看上一次启动用 journalctl -...

利用 Ubuntu 日志监控系统性能

一 日志来源与关键命令

  • 使用 journald 统一查看系统与服务日志:实时跟踪用 journalctl -f;按启动周期查看用 journalctl -b;查看上一次启动用 journalctl -b -1;按时间窗口查询用 journalctl --since “2025-05-22 08:00:00” --until “2025-05-22 10:00:00”;按日志级别过滤用 journalctl -p err -b;查看某服务日志用 journalctl -u 。传统文本日志位于 /var/log/,常用有 /var/log/syslog(系统消息)、/var/log/auth.log(认证与 SSH)、/var/log/kern.logdmesg(内核与驱动)。示例:定位 SSH 暴力破解可查 grep “Failed password” /var/log/auth.log;硬件或驱动异常可用 dmesg | grep -i error。这些日志能直接反映进程崩溃、资源紧张、登录异常与 I/O 错误等性能隐患。

二 将性能事件写入日志

  • 让资源监控主动“写日志”而不是被动查日志:使用 Glances 的 syslog 告警能力,编辑 /etc/glances/glances.conf 开启 notify_syslog = True、设置 syslog_facility = local0syslog_level = warning,以 sudo glances -w 启动 Web/服务模式,当 CPU、内存、磁盘等指标超过阈值时自动写入 syslog,便于集中采集与告警联动。
  • rsyslog + 自定义脚本 把关键指标写进 syslog:编写脚本采集 CPU、内存、磁盘 使用情况(如读取 /proc/loadavg、/proc/meminfo、df 等),通过 logger 发送到指定 facility,再用 cron 定时执行(如每小时),形成结构化性能事件日志,方便后续检索与可视化。

三 日志告警与报表

  • 轻量级日报与趋势分析:部署 Logwatch,安装后配置 /etc/logwatch/conf/logwatch.conf(如 Detail = High、Range = yesterday、Output = mail、MailTo = you@example.com),每日自动汇总 syslog 与服务日志,快速发现错误激增、登录异常与资源告警趋势。
  • 安全类事件自动处置:部署 Fail2ban 扫描 auth.log 等日志中的暴力破解特征并自动封禁来源 IP,减少因反复失败登录导致的资源占用与潜在 DoS 风险。
  • 大规模与可视化:集中式方案推荐 ELK(Elasticsearch + Logstash + Kibana)Prometheus + Grafana(配合日志采集器如 Fluent Bit/Loki),实现日志结构化、实时检索、图表展示与阈值告警,适合多主机与长期容量规划。

四 日志存储与性能优化

  • 控制日志体量防止磁盘与 I/O 压力:配置 logrotate(如 /etc/logrotate.conf/etc/logrotate.d/),典型策略为 daily、rotate 7、compress、missingok、notifempty,并按需保留 /var/log/syslog 等关键日志;对 journald 使用 journalctl --vacuum-size=100M–vacuum-time=3d 回收空间。
  • 降低日志系统对前台性能的影响:在 rsyslog 中调优 日志级别、启用异步/缓冲(如 imuxsock 缓冲)、合理分割与压缩日志;必要时优化 磁盘 I/O(如使用 SSD、调整 vm.dirty_ratio / vm.dirty_background_ratio),避免日志写入成为瓶颈。

五 从日志定位常见性能问题

  • CPU 瓶颈:在 journalctl 中按级别与时间筛选 -p err -b,结合 top/htop 确认占用最高的进程;若为短时突发,配合 vmstat 1 观察运行队列与系统态占用是否持续偏高。
  • 内存压力与 OOM:检索 syslog/kern.log/dmesg 中的 Out of memory / kill 等关键词,配合 free -hvmstatsi/so(换入/换出)判断是内存不足还是泄漏;必要时分析具体进程行为。
  • 磁盘 I/O 异常:查看 dmesgkern.logI/O error/timeout,用 iostat -x 1 观察 await、svctm、util 等指标定位慢盘或过载;若某进程异常写盘,可用 iotop 精确定位。
  • 网络与连接问题:在 auth.log 检索 Failed password 发现暴力登录;结合服务日志(如 Nginx/Apacheaccess.log/error.log)分析 5xx/499/超时 与慢请求,定位后端或网络瓶颈。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何利用Ubuntu日志监控系统性能
本文地址: https://pptw.com/jishu/761154.html
Ubuntu日志记录了哪些用户活动 如何通过Ubuntu日志进行故障排查

游客 回复需填写必要信息