溫馨提示×

ubuntu syslog日志監控

小樊
41
2025-09-30 01:04:38
欄目: 智能運維

1. 基礎命令行監控

  • tail -f 實時查看:通過tail -f /var/log/syslog命令實時跟蹤syslog文件的最新內容,適用于快速查看實時日志流(如系統啟動、服務運行或錯誤事件);若需過濾特定關鍵詞(如“error”),可組合grep命令:sudo tail -f /var/log/syslog | grep "error",僅顯示包含該關鍵詞的日志行。
  • journalctl 系統日志查詢:作為systemd的集成工具,journalctl提供更強大的日志管理功能。常用命令包括:sudo journalctl -f(實時查看所有系統日志)、sudo journalctl -p err(僅顯示錯誤級別日志)、sudo journalctl -b(查看本次系統啟動的日志)。

2. 日志分析與報告工具

  • logwatch 定制報告:通過logwatch工具可自動生成系統日志分析報告,支持郵件發送或屏幕輸出。安裝命令:sudo apt-get install logwatch;查看實時報告:sudo logwatch --output screen --detail high;配置每日郵件報告:sudo logwatch --output mail --mailto your-email@example.com(需替換為實際郵箱)。

3. 高級監控與告警配置

  • rsyslog 規則告警:rsyslog是Ubuntu默認的日志處理工具,可通過配置規則實現基于內容的告警。編輯配置文件(如/etc/rsyslog.d/custom.conf),添加如下規則(當myapp程序產生錯誤日志時發送郵件):
    if $programname == 'myapp' and $syslogseverity-text == 'Error' then {
        action(type="ommail" 
               server="smtp.example.com" 
               port="587" 
               protocol="tls" 
               from="syslog@example.com" 
               to="your-email@example.com" 
               subject="Error Alert from myapp")
        stop
    }
    
    重啟rsyslog服務使配置生效:sudo systemctl restart rsyslog。
  • 第三方監控工具:對于企業級需求,可使用ELK Stack(Elasticsearch+Logstash+Kibana,用于日志存儲、搜索與可視化)、Zabbix(企業級監控平臺,支持日志閾值告警)、Prometheus+Grafana(監控系統指標與日志關聯分析)等工具,提升日志管理效率。

4. 日志輪轉管理
為避免日志文件過大占用磁盤空間,Ubuntu默認使用logrotate工具進行日志輪轉。配置文件位于/etc/logrotate.conf,針對syslog的默認配置(/etc/logrotate.d/syslog)如下:

/var/log/syslog {
    weekly          # 每周輪轉一次
    missingok       # 若日志文件不存在也不報錯
    rotate 52       # 保留52份輪轉日志
    compress        # 壓縮舊日志(如gzip)
    delaycompress   # 延遲壓縮(避免壓縮最新的舊日志)
    notifempty      # 若日志為空則不輪轉
    create 0640 root adm  # 創建新日志文件并設置權限
}

可通過修改此文件調整輪轉周期、保留數量等參數。

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