日志管理

其它的日志文件

	/var/log/secure :	系统安装日志,文本格式,应周期性分析
	/var/log/btmp :	当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看
	/var/log/wtmp :	当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看
	/var/log/lastlog : 	每一个用户最近一次的登录信息,二进制格式,lastlog 命令可以查看
	/var/log/dmesg :	系统引导过程中的日志信息,文本格式,专用命令dmesg 查看
	/var/log/messages :	系统中大部分的信息
	/var/log/anaconda.* : 	anaconda的日志

管理命令

last,lastb

		last, lastb - show listing of last logged in users
		last,lastb [options] [name...] [tty...]
			-f 	文件最后使用一个特定的文件来取代 /var/log/wtmp
			-num   	指定最多显示多少行
			-t YYYYMMDDHHMMSS 	显示指定时间的登陆状态
			-f file 	指定要搜索的文件而不是 /var/log/wtmp.
			-R     	取消主机名字段的显示
			-a     	在最后一列中显示主机名,与下一标志结合使用
			-d     	对于非本地登陆,Linux不仅存储远程主机的主机名,而且还保存其ip号码,此选项将ip号码转换回主机名。
			-F     	显示全部的登陆和登出的时间和日期
			-i     	此选项类似于-d,因为它显示远程主机的ip号,但它以数字和点数表示法显示ip号码
			-o     	读取旧类型的wtmp文件 (written by linux-libc5 applications).
			-w     	在输出上显示所有用户和域名
			-x     	显示系统关机条目和运行级别更改

lastlog

		lastlog - reports the most recent login of all users or of a given user
		lastlog [options]
			-b, --before DAYS             	只打印比天数早的lastlog记录
			-h, --help                    	显示帮助信息
			-R, --root CHROOT_DIR         	directory to chroot into
			-t, --time DAYS               	仅打印lastlog记录(最近几天)
			-u, --user LOGIN              	打印指定登陆的lastlog记录

journalctl

		1》centos7上,Systemd有统一管理所有Unit的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。
		2》日志的配置文件/etc/systemd/journald.conf
		3》journalctl 用法
			journalctl - Query the systemd journal
			journalctl [OPTIONS...] [MATCHES...]
				--system              	显示系统日志
				--user                	显示当前用户的日志
				-M --machine=CONTAINER   	在本地容器中操作
				-S --since=DATE          	查看指定时间的日志
				-U --until=DATE          	显示不比指定日期更新的条目
				-c --cursor=CURSOR       	显示从指定游标开始的条目
				--after-cursor=CURSOR 	显示指定光标后的条目
				--show-cursor         	显示所有条目后的光标
				-b --boot[=ID]           	查看系统本次启动的日志
				--list-boots          	显示启动相关记录的简洁信息
				-k --dmesg               	查看内核日志(不显示应用日志)
				-u --unit=UNIT           	查看某个Unit的日志
				-t --identifier=STRING   	显示具有指定的syslog标识符的条目
				-p --priority=RANGE      	查看指定优先级(及其以上级别)的日志
				-e --pager-end           	跳到页面结尾
				-f --follow              	实时滚动显示最新日志
				-n --lines[=INTEGER]     	显示尾部的最新几行日志,默认为10行。
				--no-tail             	显示所有行,即使在接下来的模式中
				-r --reverse             	首先显示最新的条目
				-o --output=STRING       	更改日志输出的模式
					(short, short-iso,short-precise, short-monotonic,verbose,export, json, json-pretty, json-sse, cat)
				--utc                 	采用utc时间格式
				-x --catalog             	添加可用的消息解释
				--no-full             	Ellipsize 字段
				-a --all                 	显示所有区域,包括长的和不可打印的
				-q --quiet               	不显示私有告警
				--no-pager            	日志默认分页输出,改为正常的标准输出
				-m --merge               	从所有可用日志中显示条目
				-D --directory=PATH      	从目录中显示日志文件
				--file=PATH           	显示日志文件
				--root=ROOT           	在根目录下对目录文件进行操作
				--interval=TIME       	更改FSS密封密钥的时间间隔
				--verify-key=KEY      	指定FSS核查密钥
				--force               	使用设置键重写FSS密钥对
				-h --help                	显示帮助
				--version             	显示包版本
				-F --field=FIELD         	列出指定字段所需的所有值
				--new-id128           	Generate a new 128-bit ID
				--disk-usage          	显示日志占据的硬盘空间
				--vacuum-size=BYTES   	指定日志文件占据的最大空间
				--vacuum-time=TIME    	指定日志文件保存多久
				--flush               	从/run中刷新所有日志到/var
				--header              	显示所有日志头部信息
				--list-catalog        	在目录文件上显示所有信息ID
				--dump-catalog        	在信息目录中显示所有条目
				--update-catalog      	更新消息目录数据
				--setup-keys          	产生新的FSS密钥对
				--verify              	验证显示队列的一致性
			示例:
				查看所有日志(默认情况下  ,只保存本次启动的日志)
					journalctl
				查看内核日志(不显示应用日志)
					journalctl -k
				查看系统本次启动的日志
					journalctl -b
					journalctl -b -0
				查看上一次启动的日志(需更改设置)
					journalctl -b -1
				查看指定时间的日志
					journalctl --since="2017-10-30 18:10:30"
					journalctl --since "20 min ago"
					journalctl --since yesterday
					journalctl --since "2017-01-10" --until "2017-01-11 03:00"
					journalctl --since 09:00 --until "1 hour ago"
				显示尾部的最新10 行日志
					journalctl -n
				显示尾部指定行数的日志
					journalctl -n 20
				实时滚动显示最新日志
					journalctl -f
				查看指定服务的日志
					journalctl /usr/lib/systemd/systemd
				查看指定进程的日志
					journalctl _PID=1
				查看某个路径的脚本的日志
					journalctl /usr/bin/bash
				查看指定用户的日志
					journalctl _UID=33 --since today
				查看某个 Unit  的日志
					journalctl -u nginx.service
					journalctl -u nginx.service --since today
				实时滚动显示某个 Unit  的最新日志
					journalctl -u nginx.service -f
				合并显示多个 Unit  的日志
					journalctl -u nginx.service -u php-fpm.service --since today
				查看指定优先级(及其以上级别)的日志,共有8级 级
					0: emerg
					1: alert
					2: crit
					3: err
					4: warning
					5: notice
					6: info
					7: debug
					journalctl -p err -b
				日志默认分页输出,--no-pager  改为正常的标准输出
					journalctl --no-pager
				以 JSON  格式(单行)输出
					journalctl -b -u nginx.service -o json
				以 JSON  格式(多行)输出,可读性更好
					journalctl -b -u nginx.serviceqq -o json-pretty
				显示日志占据的硬盘空间
					journalctl --disk-usage
				指定日志文件占据的最大空间
					journalctl --vacuum-size=1G
				指定日志文件保存多久
					journalctl --vacuum-time=1years

logger

		logger - a shell command interface to the syslog(3) system log module
			logger makes entries in the system log.  It provides a shell command interface to the syslog(3) system log module.
		logger [options] [message]
			-T, --tcp             	仅使用tcp
			-d, --udp             	仅使用udp
			-i, --id              	记录进程id
			-f, --file <file>     	记录指定文件内容
			-h, --help            	显示帮助
			-S, --size <num>      	单一信息的最大尺寸(default 1024)
			-n, --server <name>   	写入到远程syslog服务上
			-P, --port <port>     	使用端口来进行udp或tcp连接
			-p, --priority <prio> 	使用此优先级来标记给定的信息
			-s, --stderr          	按标准错误输出信息
			-t, --tag <tag>       	用此标记标记每行
			-u, --socket <socket> 	写入Unix socket
posted @ 2018-02-19 17:18  shenxm  阅读(392)  评论(0编辑  收藏  举报