我在Ubuntu 14.04服务器上使用默认的nginx包。 它使用/etc/nginx/nginx.conf作为主configuration,然后包含/etc/nginx/conf.d/*.conf和/etc/nginx/sites-enabled/* 。 默认的nginxconfiguration有这个指令来logging到访问日志 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; 我的问题是,然后我得到两个logging在我的access.log文件 – 一个与标题信息和另一个没有。 我知道我可以覆盖nginx.conf文件本身,但我宁愿避免它,如果可能的话。 我也想继续使用相同的日志文件( access.log )。 有没有办法告诉nginx覆盖以前的指令,只是改变日志格式而不修改主nginx.conf文件?
什么是代表用户运行的进程的传统日志位置? ~/.foo/logs/ – 我的首选,但不是超棒的 /var/log/foo.uid/ – 非系统用户不能在这里创build目录,首先需要合作才能创build。 /var/log/ (例如/var/log/foo.log )中的常见文件 – 非私有文件 等等
所以我已经阅读了很多与此相关的post,而且比以前更加困惑。 有各种工具,包括ttyrec,史努比,acct,rootsh,sudosh,ttyrpld,unix审计和更多的build议。 在我的情况下,我希望能够logging系统上执行的所有命令(如启用了时间戳的历史logging),但是我也想知道谁做了什么? 但是,我们都通过sshlogin到用户帐户的相同小部分(取决于我们在做什么)。 我怎样才能得到一个命令日志,其中包括“谁”会给我的信息(关于连接),所以我可以把这个动作追溯到一个特定的人作为一个普通的“用户”?
有没有什么方法来loggingvi的活动? 我怀疑另外一个用户是通过进入vi编辑器的shell来发出命令的,显然这些命令并没有logging到历史logging中。
我正在尝试使用IPtables的TRACE目标,但我似乎无法获取任何logging的跟踪信息。 我想使用这里描述的: debugging器为Iptables 。 从iptables man for TRACE: This target marks packes so that the kernel will log every rule which match the packets as those traverse the tables, chains, rules. (The ipt_LOG or ip6t_LOG module is required for the logging.) The packets are logged with the string prefix: "TRACE: tablename:chain- name:type:rulenum " where type […]
以后如何检查启动Debian系统时滚动的消息? 换句话说,我怎样才能方便地查看所有的东西呢? 这是问题的重点; 只是其中的一部分是不够的。 某些启动时间消息仅写入/var/log/daemon.log和/var/log/syslog ,其中我已经看到如下消息: udevd[240]: SYSFS{}= will be removed in a future udev version 。 在挤压中,这些不在/var/log/dmesg 。 它们也不在/var/log/boot ,在/etc/default/bootlogd和安装的软件包bootlogd设置BOOTLOGD_ENABLE=yes 。 有关rsyslogd各种日志logging位置的更多详细信息,请参阅/etc/rsyslog.conf 。
我想我记得几年前用LVM做了一些镜像,我不记得这个“日志”的事情。 或者,也许我用mdadm制作了镜像,并将LVM放在顶部。 那一定是吧。 什么是LVM日志,如果它只是一面镜子? 那里储存了什么? 这是什么目的? 正在使用“–mirrorlog核心”不好? 什么是缺点? 如果我不需要,我不希望有另一个日志分区。 任何使用任何技术的build议? 即使我用mdadm制作镜像,我也会使用LVM。 那么,在这种情况下,也许最好是用LVM构build整个设置…? 这将会带来更多的性能降低吗? 这些磁盘用于存储Xen domU“磁盘”。 对不起,复杂的非点“问题”。 想法和build议和链接是最受欢迎的。 谢谢!
我在Heroku日志中看不到日志条目(在INFO级别)。 这是我的configuration: LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'filters': { 'require_debug_false': { '()': 'django.utils.log.RequireDebugFalse', }, 'require_debug_true': { '()': 'django.utils.log.RequireDebugTrue', }, 'not_development_filter': { '()': NotDevelopmentFilter, }, }, 'handlers': { 'console':{ 'level': 'INFO', 'class': 'logging.StreamHandler', }, 'null': { 'class': 'django.utils.log.NullHandler', }, 'mail_admins': { 'level': 'ERROR', 'filters': ['not_development_filter'], 'class': 'django.utils.log.AdminEmailHandler', 'include_html': True, } }, 'loggers': { '': […]
我希望能够得到一个电子邮件通知每当syslogdlogging的东西,比如说优先级或更高。 假设这是一个兼容BSD的syslog守护进程。 这能做到吗? 我应该使用命名pipe道到shell脚本吗? 还有哪些其他可能的解决scheme?
你如何从UNIX / Linux机器上分析日志文件? 我们运行几百台服务器,它们都可以直接或通过系统日志生成自己的日志文件。 我正在寻找一个体面的解决scheme来汇总这些并挑选重要的事件。 这个问题分解成三个部分: 1)消息传输 经典的方法是使用syslog将消息logging到远程主机。 这适用于login到syslog的应用程序,但对写入本地文件的应用程序不太有用。 解决scheme可能包括让应用程序login到连接到程序的FIFO中,使用syslog发送消息,或者写一些grep本地文件并将输出发送到中央系统日志主机。 但是,如果我们去编写工具来把消息写入系统日志的麻烦,我们会更好地用像Scribe这样的东西来代替整个系统,它比syslog提供更多的灵活性和可靠性。 2)消息聚合 日志条目似乎分为两种types:每个主机和每个服务。 每主机消息是在一台机器上发生的消息; 认为磁盘失败或可疑的login。 运行服务的大多数或全部主机上都会出现每个服务的消息。 例如,我们想知道Apache何时发现一个SSI错误,但是我们不希望100台机器发生同样的错误。 在所有情况下,我们只希望看到每种消息types之一:我们不希望10条消息说同一个磁盘失败了,而且每次遇到一个破坏的SSI都不需要消息。 解决这个问题的一个方法是将多个相同types的消息聚合到每个主机上,将这些消息发送到中央服务器,然后将相同types的消息聚合成一个整体事件。 SER可以做到这一点,但使用起来很尴尬。 即使在几天的摆弄之后,我也只有基本的聚合工作,并且不得不经常查找SER用于关联事件的逻辑。 它function强大但棘手:我需要一些我的同事可以在最短的时间内拿起和使用的东西。 SER规则不符合要求。 3)生成警报 当有趣的事情发生时,我们如何告诉我们的pipe理员? 邮件收件箱? 注入Nagios? 那么,你是怎么解决这个问题的? 我不期望在盘子上有答案。 我可以自己搞清楚细节,但是一些高层次的讨论肯定是个普遍的问题。 目前我们正在使用cron作业,系统日志和谁知道还有什么可以find事件。 这不是可扩展的,可维护的或灵活的,因此我们错过了许多我们不应该做的事情。 更新:我们已经在使用Nagios进行监控,这对于检测到主机/testing服务/ etc是非常好的,但是对于抓取日志文件不太有用。 我知道有Nagios的日志插件,但是我对比每个主机警报更具可扩展性和层次感的东西感兴趣。