除了常见的系统设施(mail、news、daemon、cron等), syslog 还提供了一系列“本地”设施,编号为 0 到 7:LOCAL0、LOCAL1、 ...、LOCAL7。
哪些是常见应用程序的程序默认设置?
我想找出哪些设施“传统上”用于众所周知的服务。我将在许多服务器上部署应用程序,并安装各种软件,并想看看是否有一个“免费”工具可以轻松用于我自己的日志。
请注意,我意识到除了系统日志工具之外,还有其他方法可以做到这一点。只是好奇!
这里有一些,(开始回答我自己的问题)还有一些感谢 voretaq7:
LOCAL0 被 postgresql 使用LOCAL2 被 sudo 使用LOCAL3 被某些版本的 SpamAssassin 使用LOCAL4 slapd(OpenLDAP 服务器)默认使用LOCAL5 有时被 Snort IDS 使用LOCAL7 用于 Fedora 12 上的引导消息使用 ASP.NET 会很好,但 PHP 也可以,并且应该托管在 IIS6 中。
编辑:日志来自我们的内部网站。
我在 Linode 上有一个盒子正在经历奇怪的行为。CPU 和磁盘 I/O 会时不时地达到 100%,并且服务器变得无响应并且必须启动。我想更好地调查发生了什么,但我不知道如何找到谁对所有 CPU 和 I/O 负责。我正在运行 Gentoo 2.6.18。
我们有一个在 linux 中运行在特定端口上的 java 服务器,它接受成千上万用户的持久连接。最近,我们的客户因超时错误而无法连接。我们怀疑流量太高,但我们的 java 日志实际上显示每秒连接的数量并不多。
我们怀疑是否有太多人同时尝试,并且它们基本上在操作系统级别被丢弃,因此java程序从来没有真正有机会接受连接?linux中是否有某种日志可以显示有人试图打一个套接字?
我希望得到一些关于如何在我的域的访问日志上设置截断和 gzip'ing 的指导。我注意到核心 nginx 访问日志默认被拆分和压缩,但我的个人访问日志继续增长。
这是可以设置并由 nginx 处理的东西,还是我的系统上管理其核心日志的其他东西?
我试图找出 PHP 错误在我的设置中的位置。我正在运行 nginx 作为 PHP-FPM 的反向代理,但我没有看到我的应用程序生成的各种E_NOTICE或E_WARNING消息。我知道它们正在发生的唯一原因是响应失败和 NewRelic 捕获堆栈跟踪。
这是日志配置:
配置文件
proxy_intercept_errors on;
fastcgi_intercept_errors on;
Run Code Online (Sandbox Code Playgroud)
配置文件
error_reporting = E_ALL
display_errors = Off
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = On
error_log = syslog
Run Code Online (Sandbox Code Playgroud)
php-fpm.conf
[global]
error_log = /var/log/php-fpm/fpm-error.log
[www]
access.log = /var/log/php-fpm/access.log
access.format = "%t \"%m %r%Q%q\" %s %{mili}dms %{kilo}Mkb %C%%"
catch_workers_output = yes
php_flag[display_errors] = on
php_admin_flag[log_errors] = true
Run Code Online (Sandbox Code Playgroud)
配置文件
:syslogtag, contains, …Run Code Online (Sandbox Code Playgroud) 我在 Ubuntu 14.04 服务器上使用默认的 nginx 包。它用/etc/nginx/nginx.conf作主配置,然后包含来自/etc/nginx/conf.d/*.conf和 的配置/etc/nginx/sites-enabled/*。
默认的 nginx 配置有这个指令用于记录到访问日志
access_log /var/log/nginx/access.log;
我想添加 X-Forwarded-For 标头,所以我在conf.d文件夹内执行此操作:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,然后我在 access.log 文件中得到了两条记录——一条带有标题信息,另一条没有。
我知道我可以覆盖nginx.conf文件本身,但如果可能的话,我宁愿避免它。我还想继续使用相同的日志文件 ( access.log)。
有没有办法告诉 nginx 覆盖之前的指令并简单地更改日志格式而不修改主nginx.conf文件?
我想尽可能地了解过去几天 PC 的使用情况。就像谁登录一样,PC 被锁定了多长时间以及有关在 PC 上登录的用户活动的任何其他信息。
我知道 last 命令可用于找出谁登录以及登录了多长时间。任何其他可以查到的信息。
这是一个基本问题 - 在电影“社交网络”中,有几个场景是年轻的 Facebook 员工正在实时观看 PHP/Apache 服务器登录他们的 TERMINAL。
我熟悉如何在 RUBY/RoR 环境中执行此操作 - 但是使用标准 LAMP Apache/PHP 环境,如何实时主动监控服务器的操作?我猜在终端中有一种简单的方法可以做到这一点。
我想CustomLog在我的 apache 配置中添加一个指令来记录请求的完整 URL(或至少是 URL 的主机部分)。我有几个域由同一个 apache 实例处理,并且希望能够区分日志中的域(现在我看到的只是“GET /”)。我在 LogFormat 的文档中看到它列出%U了打印 URL 的路径部分,但我正在寻找主机。