Debian数据记录和展示教程详解

2024-11-09 2

在Debian系统中,数据记录和展示它涉及到日志后台守护进程、日志分析、定制文本数据的显示、定制时间和日期的显示、shell中echo的颜色、有颜色输出的命令、记录编辑器复杂的重复操作动作、记录X应用程序的图像以及记录配置文件的变更等,本教程将详细介绍这些方面。

一、日志后台守护进程

许多传统的程序在”/var/log/” 目录下用文本文件格式记录它们的活动。在一个产生很多日志文件的系统上,用 logrotate(8)来简化日志文件的管理。

许多新的程序使用 systemd-journald(8) 日志服务的二进制文件格式来记录它们的活动,在”/var/log/journal” 目录下。能够从 shell 脚本记录数据到 systemd-journald(8) 日志,使用 systemd-cat(1) 命令。

二、日志分析

这里是主要的日志分析软件 (“~Gsecurity::log-analyzer” 在 aptitude(8) 中).

系统日志分析软件列表:

软件包流行度大小说明
logwatchV:12, I:142328用 Perl 写的日志分析软件,有好的输出
fail2banV:100, I:1132129禁用造成多个认证错误的 IP
analogV:3, I:963739web 服务器日志分析
awstatsV:7, I:116928强大和特性全面的 web 服务器日志分析
sargV:1, I:1845生成 squid 分析报告
pflogsummV:1, I:4109Postfix 日志条目概要
fwlogwatchV:0, I:0480防火墙日志分析软件
squidviewV:0, I:0189监控和分析 squid access.log 文件
swatchV:0, I:099有正则表达式、高亮和曲线的日志文件查看器
crm114V:0, I:01119Controllable Regex Mutilator 和垃圾邮件过滤 (CRM114)
icmpinfoV:0, I:044解释 ICMP 信息

CRM114 提供语言架构来写模糊 过滤器,使用了 TRE 正则表达式库 。它主要在垃圾邮件过滤器中使用,但也能够用于日志分析。

三、文本数据显示

尽管例如 more(1) 和 less(1) 这样的分页程序和用于高亮和格式的自定义工具可以漂亮地显示文本数据,但通用的编辑器是用途最广的,且可定制性最高。

对于 vim(1) 和它的分页模式别名 view(1),“:set hls” 可以启用高亮搜索。

四、时间/日期显示

“ls -l” 命令默认的时间和日期显示格式取决于语言环境。“$LANG” 变量将被首先考虑,但它会被导出的 “$LC_TIME” 或 “$LC_ALL”环境变量覆盖。

每个语言环境实际的默认显示格式取决于所使用的 C 标准库的版本(libc6 软件包),也就是说,不同的 Debian 发行版有不同的默认情况。

如果真的想自定义超出语言环境的时间和日期显示格式,应该通过 “–time-style” 参数或 “$TIME_STYLE” 的值来设置时间样式值。

使用 时间样式值 的”ls -l” 命令的时间和日期的显示例子:

时间样式值语言环境时间和日期显示
iso任何值01-19 00:15
long-iso任何值2009-01-19 00:15
full-iso任何值2009-01-19 00:15:16.000000000 +0900
语言环境CJan 19 00:15
语言环境en_US.UTF-8Jan 19 00:15
语言环境es_ES.UTF-8ene 19 00:15
+%d.%m.%y %H:%M任何值19.01.09 00:15
+%d.%b.%y %H:%MC 或 en_US.UTF-819.Jan.09 00:15
+%d.%b.%y %H:%Mes_ES.UTF-819.ene.09 00:15

可以使用命令别名以避免在命令行中输入长的选项:

alias ls='ls --time-style=+%d.%m.%y %H:%M'

五、shell中echo颜色

大部分现代终端的 shell 中 echo 能够使用 ANSI 转义字符来显示颜色。

尝试下列例子:

$ RED=$(printf "\x1b[31m")
$ NORMAL=$(printf "\x1b[0m")
$ REVERSE=$(printf "\x1b[7m")
$ echo "${RED}RED-TEXT${NORMAL} ${REVERSE}REVERSE-TEXT${NORMAL}"

六、有颜色输出命令

在交互式的环境下,命令的输出带颜色,能够给检查命令的输出带来便利。 我在我的”~/.bashrc”里加入了下面内容.

if [ "$TERM" != "dumb" ]; then
eval "`dircolors -b`"
alias ls='ls --color=always'
alias ll='ls --color=always -l'
alias la='ls --color=always -A'
alias less='less -R'
alias ls='ls --color=always'
alias grep='grep --color=always'
alias egrep='egrep --color=always'
alias fgrep='fgrep --color=always'
alias zgrep='zgrep --color=always'
else
alias ll='ls -l'
alias la='ls -A'
fi

在交互式命令中,使用别名来限制颜色的影响范围。导出环境变量 “export GREP_OPTIONS=’–color=auto'” 也有好处,这样能够让 less(1) 之类的页面程序看到颜色。当使用管道到其它命令时,想去掉颜色,上面列子 “~/.bashrc” 中的内容,可以使用 “–color=auto” 代替.

注意:在交互式的环境中,通过”TERM=dumb bash”调用 shell ,能够关闭这些颜色别名。

七、记录重复操作

能够记录编辑器复杂的重复操作动作。

对于 Vim,请按下面操作:

  • “qa”: 开始记录输入字符到有名字的寄存器 “a”;

  • … 编辑器操作;

  • “q”: 结束记录输入的字符;

  • “@a”:执行寄存器 “a 的内容”。

对于 Emacs, 请按下面操作:

  • “C-x (“: 开始定义一个键盘宏;

  • … 编辑器操作;

  • “C-x )”:结束定义一个键盘宏;

  • “C-x e”: 执行一个键盘宏。

八、记录X图像

有少量方法可以记录 X 应用程序的图像,包括 xterm 显示。

图形图像处理工具列表:

软件包流行度大小屏幕命令
gnome-screenshotV:19, I:1841134WaylandGNOME 下的截屏程序
flameshotV:8, I:153364Wayland强大的截屏程序
gimpV:38, I:25519303Wayland + XGUI 菜单中的截屏
x11-appsV:31, I:4602460Xxwd(1)
imagemagickI:31973Ximport(1)
scrotV:5, I:64131Xscrot(1)

九、记录配置文件变更

有特定的工具可以通过 DVCS 的帮助来记录配置文件的变更和在 Btrfs 上制作系统快照。

记录配置历史的软件包列表:

软件包流行度大小说明
etckeeperV:26, I:30164使用 Git(默认)、Mercurial 或 GNU Bazaar 来保存配置文件和它们的元数据
timeshiftV:5, I:93421使用 rsync 或 BTRFS 快照的系统恢复工具
snapperV:4, I:52419Linux 文件系统快照管理工具