日志管理

Posted shenxm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日志管理相关的知识,希望对你有一定的参考价值。

其它的日志文件

    /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

以上是关于日志管理的主要内容,如果未能解决你的问题,请参考以下文章

执行代码时有时不显示对话框片段

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

使用 Git 来管理 Xcode 中的代码片段

massCode 一款优秀的开源代码片段管理器

如何管理在每个 git 版本中添加私有代码片段?

webstorm代码片段的创建