系统日志
常见的日志文件:
日志文件 | 说明 |
---|---|
/var/log/message | 记录Linux系统的绝大多数重要信息,如果系统出现问题,首先要检查的应该就是这个日志文件 |
/var/log/secure | 记录验证和授权方面的信息,只要涉及账户和密码的程序都会记录,比如系统的登录、ftp的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中 |
/var/log/dmesg | 记录了系统在开机时内核自检(硬件)的信息。也可以使用dmesg命令直接查看内核自检信息 |
/var/log/wtmp | 永久记录所有用户的登陆、注销、系统的启动、重启、关机事件,是二进制文件.不能直接Vi查看,使用last命令查看 |
/var/log/btmp | 记录错误登陆的日志。这个文件是二进制文件,不能直接Vi查看,使用lastb命令查看 |
/var/log/lasllog | 记录系统中所有用户最后一次的登录时间的日志,也是二进制文件,使用lastlog命令查看 |
/var/log/cron | 系统定时任务相关的日志 |
定义服务日志记录位置的配置文件—/etc/rsyslog.conf
格式:日志服务[连接符号]日志等级 日志记录位置
#### RULES ####
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
# Log cron stuff
cron.* /var/log/cron
# Everybody gets emergency messages
*.emerg :omusrmsg:*
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log
日志服务
facility:是用来定义由谁产生的日志信息
日志服务名称 | 说明 |
---|---|
auth | 安全和认证 |
authpriv | 安全和认证(私有),指定用户才能查看 |
cron | 计划任务 |
daemon | 系统守护进程 |
kern | 与内核有关的信息 |
lpr | 与打印服务有关的信息 |
与电子邮件有关的信息 | |
news | 来自新闻服务器的信息 |
syslog | 由syslog生成的信息 |
user | 用户的程序生成的信息,默认 |
ftp | ftp服务的日志信息 |
uucp | 由uucp生成的信息 |
local0~7 | 用来定义本地策略 |
连接符号
- “.”代表只要比后面的等级高的(包含该等级)日志都记录。比如,“cron.info”代表cron服务产生的日志,只要日志等级大于等于info级别就会记录。
- “.=”代表只记录所需等级的日志,其他等级的日志都不记录。比如,“*.=emerg”代表任何日志服务产生的日志,只要等级是emerg等级就记录
- “.!”代表不等于,也就是除该等级的日志外,其他等级的日志都记录。
日志等级(从上至下等级越高)
等级名称 | 含义 |
---|---|
debug | 一般的调试信息 |
info | 基本的通知信息 |
nolice | 普通信息,但是有一定的重要性 |
warning | 警吿信息,但是还不会影响到服务或系统的运行 |
err | 错误信息, 一般达到err等级的信息已经可以影响到服务成系统的运行了 |
crit | 临界状况信思,比err等级要严重 |
alert | 状态信息,比err等级要严重,必须立即处理 |
emerg | 紧急信息,系统已经无法使用了 |
* | 代表所有日志等级。比如,“authpriv.*”代表amhpriv认证信息服务产生的日志,所有的日志等级都记录 |
日志记录位置
- 绝对路径
mail.* -/var/log/maillog
“-” 表示通过异步的方式记录文件,日志量较大的情况下,部分日志会先存储在内存中,然后同步到对应磁盘文件中
2. 系统设备文件
#kern.* /dev/console
[root@linux2019 ~]# ll /dev/console
crw------- 1 root root 5, 1 3月 14 10:22 /dev/console
3. 转发给远程主机
- *.* @192.168.1.1 # 所有日志使用UDP协议转发到192.168.0.1的514端口
- *.* @@192.168.1.1:514 # 所有日志使用TCP协议转发到192.168.0.1的514端口
- 514端口是日志服务的默认端口
- 用户名
- *.alert root #表示把大与alert等级的日志发送给root用户(需要在线)
- .emerg :omusrmsg: #表示把大于emerg等级的日志打印到每个登录到系统上的用户的显示器窗口上
- 忽略或丢弃日志(~)
mail.=info ~ #表示邮件info等级的日志全部丢弃
服务日志
列举当前测试环境已安装服务的主要关注的日志
- Nginx (访问日志、错误日志)
nginx服务默认主配置文件是/etc/nginx/nginx.conf,里面定义了登录日志和错误日志的格式和默认路径,针对各个nginx虚拟主机配置文件,可以对日志的配置重新定义
[root@linux2019 ~]# vim /etc/nginx/nginx.conf
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
error_log /var/log/nginx/error.log warn;
access_log /var/log/nginx/access.log main;
[root@linux2019 conf.d]# pwd
/etc/nginx/conf.d
[root@linux2019 conf.d]# ll
总用量 16
-rw-r--r-- 1 root root 1578 2月 14 09:12 bbs.aibenwoniu.xyz.conf
-rw-r--r-- 1 root root 1062 3月 2 22:56 blog.aibenwoniu.xyz.conf
-rw-r--r-- 1 root root 1095 3月 2 23:14 default.conf.bakfile
-rw-r--r-- 1 root root 717 3月 2 22:55 zrlog.aibenwoniu.xyz.conf_bak
[root@linux2019 conf.d]# vim bbs.aibenwoniu.xyz.conf #定义日志配置
#access_log /var/log/nginx/host.access.log main; 默认日志配置
access_log /data/logs/bbs.access.log main;
error_log /data/logs/bbs.error.log warn;
- PHP-FPM (错误日志、慢执行日志)
[root@linux2019 ~]# vim /usr/local/php-fpm/etc/php-fpm.conf #配配置错误日志
;error_log = log/php-fpm.log
[root@linux2019 ~]# cd /usr/local/php-fpm/etc/php-fpm.d
[root@linux2019 php-fpm.d]# ll
总用量 44
-rw-r--r-- 1 root root 19318 2月 14 09:21 bbs.conf
-rw-r--r-- 1 root root 479 2月 14 09:20 blog.conf
-rw-r--r--. 1 root root 19244 1月 23 11:09 www.conf.default
[root@linux2019 php-fpm.d]# vim /usr/local/php-fpm/etc/php-fpm.d/bbs.conf #配置慢执行日志
slowlog = /var/log/$pool.log.slow
request_slowlog_timeout = 1
- php 错误日志
[root@linux2019 php-fpm.d]# vim /usr/local/php-fpm/etc/php-fpm.d/bbs.conf
php_admin_value[error_log] = /var/log/fpm-php.bbs.log
- MariaDB/MySQL (错误日志、慢查询日志)
[root@linux2019 mysql]# cd /etc/my.cnf
slow_query_log = ON
slow_query_log_file = /data/mysql/linux2019-slow.log #配置慢查询日志
long_query_time = 2
log-error=/data/mysql/mariadb.log
- Tomcat (访问日志–主要关注catalina.out日志)
- Zabbix
[root@linux2019 ~]# vim /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log