网站首页 > 基础教程 正文
日志是系统运行状态和故障排查的重要依据,而监控则是实时掌握系统性能和安全状况的关键。
1. 日志管理
1.1 日志文件位置
- 系统日志:/var/log/。
- 常见日志文件:
- /var/log/syslog:系统日志(Debian/Ubuntu)。
- /var/log/messages:系统日志(CentOS/RHEL)。
- /var/log/auth.log:认证日志。
- /var/log/kern.log:内核日志。
- /var/log/dmesg:内核启动日志。
- /var/log/nginx/access.log:Nginx访问日志。
- /var/log/mysql/error.log:MySQL错误日志。
1.2 日志管理工具
1.2.1rsyslog
- 配置文件:/etc/rsyslog.conf。
- 示例配置:
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
- 重启服务:
sudo systemctl restart rsyslog
1.2.2journalctl
- 查看系统日志:
journalctl
- 查看指定服务的日志:
journalctl -u
- 实时查看日志:
journalctl -f
- 按时间过滤日志:
journalctl --since "2023-10-01" --until "2023-10-02"
1.3 日志轮转
- logrotate:自动轮转日志文件,防止日志文件过大。
- 配置文件:/etc/logrotate.conf和/etc/logrotate.d/。
- 示例配置:
/var/log/nginx/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
/usr/sbin/nginx -s reload
endscript
}
- 手动执行轮转:
logrotate -f /etc/logrotate.conf
2. 系统监控
2.1 监控工具
2.1.1top和htop
- top:实时查看系统资源使用情况。 top
- htop:增强版的top,支持交互式操作。 htop
2.1.2vmstat
- 查看系统性能: vmstat 1 # 每秒刷新一次
2.1.3iostat
- 查看磁盘I/O性能: iostat -x 1
2.1.4sar
- 系统活动报告:
- sar -u 1 # 查看CPU使用率
- sar -r 1 # 查看内存使用率
- sar -b 1 # 查看磁盘I/O
2.2 网络监控
2.2.1netstat
- 查看网络连接状态: netstat -an
- 查看监听端口: netstat -tuln
2.2.2ss
- 查看网络连接状态: ss -tuln
2.2.3iftop
- 实时查看网络流量: iftop
3. 使用rsyslog配置日志上报
rsyslog是Linux系统中常用的日志管理工具,支持将日志发送到远程服务器。
3.1 安装rsyslog
- Debian/Ubuntu:
sudo apt update
sudo apt install rsyslog
- CentOS/RHEL:
sudo yum install rsyslog
3.2 配置rsyslog
- 编辑配置文件:/etc/rsyslog.conf或/etc/rsyslog.d/目录下的自定义配置文件。
- 添加远程日志服务器配置:
*.* @:514 # UDP方式
*.* @@:514 # TCP方式
- *.*表示所有日志级别和设施。
- @表示使用UDP协议,@@表示使用TCP协议。
是远程日志服务器的IP地址。 - 514是默认的syslog端口。
- 示例:
# 发送所有日志到远程服务器(TCP)
*.* @@192.168.1.100:514
3.3 重启rsyslog服务
sudo systemctl restart rsyslog
3.4 验证日志上报
- 在远程日志服务器上查看是否接收到日志。
- 使用tcpdump或wireshark抓包验证日志是否发送成功。
4. 使用systemd-journald配置日志上报
systemd-journald是Systemd的日志管理工具,支持将日志发送到远程服务器。
4.1 配置systemd-journald
- 编辑配置文件:/etc/systemd/journald.conf。
- 启用远程日志:
[Journal]
ForwardToSyslog=yes
4.2 配置rsyslog接收journald日志
- 编辑rsyslog配置文件:/etc/rsyslog.conf。
- 添加以下内容:
module(load="imjournal")
input(type="imjournal" statefile="imjournal.state")
4.3 重启服务
sudo systemctl restart systemd-journald
sudo systemctl restart rsyslog
5. 总结
本章节介绍了通过配置日志上报,可以将Linux系统的日志集中管理,便于分析和监控。常用的日志上报工具包括rsyslog、systemd-journald、,具体选择取决于你的需求和环境。掌握这些技能可以帮助你更好地管理和维护Linux系统的日志。
猜你喜欢
- 2025-03-25 服务器安全设置教程,手把手保护好你的主机(保姆级)
- 2025-03-25 用 FastAPI 搭建若依后台(03)后台 Login 实现
- 2025-03-25 信创改造--人大金仓(Kingbase)数据库安装、备份恢复的问题纪要
- 2025-03-25 Zabbix agent编译安装详细教程(zabbix_agentd -t)
- 2025-03-25 Scrapy 框架运作流程、配置安装及入门案例
- 2025-03-25 【技术分享】Linux常见日志解析(1)
- 2025-03-25 Python Supervisor进程管理介绍(大厂也在用)
- 2025-03-25 moodle 开源的在线学习管理系统(LMS)部署
- 2025-03-25 19.1 PyQt5 Web操作-QWebEngineView
- 2025-03-25 Ollama使用指南【超全版】(olm使用说明)
- 最近发表
- 标签列表
-
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- mysql教程 (60)
- pythonif (86)
- location.href (69)
- deletesql (62)
- c++模板 (62)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)