我有一个运行服务的 ubuntu 14.04 服务器,我目前正在设置一些日志可视化,但我注意到我的 /var/log/auth.log 是空的。
我认为它不会有太多内容,因为除了使用 ssh 密钥之外,我还禁用了 ssh 连接。但是,我确实希望有 sshd 日志。是否还有其他地方可以让我看到使用 ssh 密钥的登录信息,或者是否还有其他我不知道的事情发生?
我的最终目标是记录每次有人尝试使用密钥或不使用密钥登录时的日志。
编辑1
我看到有 auth.log 备份,但它们没有记录 ssh 尝试,或使用密钥成功的 ssh 登录。它们只显示 CRON 作业。
我还将 sshd_config 日志记录级别提升到 VERBOSE 而不是 INFO。
我发现在做Nginx的日志旋转的例子在这里
但是一个简单的测试:
set $date "2018-08-24";
access_log /home/tim/log/access-http-$date.log default;
Run Code Online (Sandbox Code Playgroud)
生成一个名为access-http-.log. 我正在使用 nginx 1.13.6(带有 openresty)。
更新
经过大量的修改和调整后,我想出了以下 logrotate 脚本来旋转 nginx 生成的不同日志文件。我已经把它放到了 /etc/logrotate.conf 文件中。剩下的问题是日志不会每天轮换(我目前不确定为什么),但是 alogrotate -f <filename>产生的结果正是我想要的。
一个有趣的注意事项是nginx -s reload可以代替 USR1 使用。不幸的是,nginx 日志记录页面中没有引用它,但我找到了它(在手册页 IIRC 中)。我手动构建 openresty/nginx 以合并我需要的额外模块,因此我不会像 pid 保留那样获得打包版本中的各种额外功能。
/path/to/log/access-http.log /path/to/log/access-https.log /path/to/log/api.log /path/to/log/error.log {
daily
missingok
notifempty
create 664 nobody tim
dateext
dateformat -%Y-%m-%d
dateyesterday
rotate 10
su tim tim
postrotate
/usr/local/bin/openresty -s reload
endscript
}
Run Code Online (Sandbox Code Playgroud)
我认为这对于拥有大型 nginx 配置同时提供网页和 API 的任何人都非常有用。我将 http 分开,因为我不提供非 https 页面,并且它将脚本小子废话从我的页面日志中删除。
我想摆脱 Apache 中多余的日志记录。我找到了如何为此目的使用setenvif 模块的教程,设置变量。dontlog
唯一的问题是,我没有在标准列表中看到对我来说最有趣的东西,即 http 状态。
我想做以下事情:
SetEnvIf Http_Status 200 dontlog
Run Code Online (Sandbox Code Playgroud)
但似乎不Http_Status支持SetEnvIf...
如何根据http状态过滤日志?
我有一个标准的 apache 错误日志文件。我想看看是什么 URL 导致了 404,因为我已经移动了这个网站,我想找到坏链接。任何人都可以推荐一个 bash 片段,它会使用 awk 或其他东西来解析这个日志来向我展示流行的 404s 吗?
我知道有针对此类事情的高级程序。我只是在寻找一些简单的东西。
我有一位同事建议在没有 IP 地址的单独网络上设置一个服务器作为日志服务器。这个想法是你可以广播日志信息,日志服务器可以选择并存储它,但没有任何方法可以实际连接到盒子。
这是人们做的事情吗?以前做过吗?实用吗?这是个好主意吗?它将如何在 Linux 中实现?
谢谢
我有一个 apache web 服务器,它被配置为只允许少数人通过客户端证书访问。我无法通过 IP 锁定,因为证书持有者可能会从任何地方连接。
Apache 目前向任何没有提供有效证书或试图访问无效 URL 的人返回 403,但由于机器没有 ACL 限制,因此经常扫描漏洞。这些扫描会在日志中产生相当多的噪音。
有没有办法根据响应代码登录到不同的文件?是否可以将导致 403 的请求的所有日志记录发送到不同的文件?
我们有一个非常简单的系统设置,当出现系统问题时我会收到短信。没什么好看的 我向我的日志类中的电话号码发送电子邮件以了解警报级别。它运行良好,但有一个主要缺陷:系统/站点中的一个小问题可能会变成数十条快速发送的短信。有时会不停地发短信,直到我登录系统并解决问题。
因此,我正在寻找有关可以以更智能的方式处理警报的软件或服务的指针。也许某些东西只会在 Y 分钟内向我发送 X 次警报。我不是在寻找完整的监控套件。我们已经在内部处理了这个问题。我只是想解决这个单一的问题。
目前 exim4 登录,/var/log/exim4/mainlog但我想停止此操作。
我检查了一些手册页,但没有显示如何执行此操作。
是否有任何适用于 Apache Httpd 的模块或程序可以在不重新启动服务器进程的情况下轮换日志并清除它们?我检查了几个选项,mod_autorotate、rotatelogs、mod_log_rotate 和 cronologs。由于每次需要轮换日志时服务器都会重新启动,因此刮掉了 mod_autorotate。删除 mod_log_rotate、rotatelogs 和 cronologs,因为它们没有清除功能。我不完全确定我是否可以使用“logrotate”,因为它涉及 cron 作业,而且我不可能为许多运行着大量应用程序的 Apache 服务器安排 cron 作业。
logging ×10
apache-2.2 ×3
alerts ×1
apache2 ×1
bash ×1
exim ×1
httpd.conf ×1
linux ×1
login ×1
logrotate ×1
monitoring ×1
nginx ×1
openresty ×1
ping ×1
snippet ×1
ssh ×1
ubuntu-14.04 ×1
web-server ×1