基于文件的日志监控与邮件触发器只?

我有来自我公司的各种异构服务能够将事物logging到文件中,但是例如不能自己发送邮件。 此外,我已经login到Apache httpd和Tomcat,Postgres,Upstart和其他各种来源的文件,默认情况下不使用例如Syslog。 所有这些服务的普遍意义是使用文件,但是日志大小,消息格式,是否旋转等都不同。 所以我正在寻找的是一些日志监视器,它侧重于configuration文件,并提供触发器来将新添加的内容与针对某些正则expression式的这些文件相匹配,或者用于向错误消息发送邮件。 我想有独立的东西,专注于使用触发器进行日志文件监视,并且通过例如使用文件系统事件来获得已更改文件的通知,只读取文件结尾而不是parsing整个文件等。 但是,在定义触发器时需要一些灵活性,但除此之外,它只需要发送带有日志消息的邮件到任意地址。 即使支持本地sendmail也不行,这些邮件的模板function很less。 我甚至不关心诸如识别多个错误信息等等。 我已经阅读了关于这个话题的整个一天,发现了各种不同的解决scheme,像Graylog,Logstash,Nagios / Zabbix插件等。但从我读到的,所有这些对我的环境有严重的缺陷:Graylog和Logstash似乎有沉重的设置和依赖关系,并提供我根本不需要的function,如在日志中search。 我目前不使用Nagios和Zabbix,也不确定它们的日志监视插件如何执行,因为它们似乎轮询基于时间的日志文件等。 另外, Zabbix的configuration看起来有点难以维护。 那么有没有更多的重点可用?

Solaris IPS:pkg依赖性错误与实际问题没有关系/如何最好地诊断IPS依赖性失败?

我正在运行Solaris 11.3(目前来自非合同发行回购)。 我有大量的Solaris 10的经验,但我是11更新,并仍在努力获得与IPS的信心。 我的问题是,我经常发现我有严重的问题诊断程序包依赖性失败,因为pkg install的输出似乎与实际问题没有关系。 事实上,我现在想知道这是否是由一些错误或存储库问题引起的,我将在最后解释。 下面是我遇到的最近的两个问题,其中一个失败的pkg命令的输出与真正的问题完全无关。 在第一个例子中,这使我花了几天的时间追逐红鲱鱼,直到我最终偶然发现了所需的修复。 全局版本是Oracle Solaris 11.3.1.5.1( pkg/entire版本0.5.11-0.175.3.1.0.5.1 。)全局是从USB文本安装程序安装,从那时起我有版本解锁和更新所有在默认情况下安装在全球的FOSS软件包(按照这里的Oracle文档 ),另外安装了一些额外的支持软件包( vim , screen , tmux等) 在写这篇文章的时候,我重新创build了一个新安装的solaris-small-server区域的例子,没有任何其他的变化。 我上面描述的FOSS更新只发生在全局,而不是在用来重新运行下面的例子并捕获错误输出的区域。 下面列出的命令实际上是从默认区域AI清单创build后在testing区域中运行的第一个命令。 示例1 :我一直在尝试在非全局区域中安装工作的Gnome桌面,而不必在我的全局中安装软件包,我始终希望保持精简和清洁。 zlogin zone pkg install –accept -v solaris-desktop :因为driver/audio/audio-usb表示它也必须安装在全局区域中。 我创build了一个名为solaris-desktop-zone的solaris-desktop的自定义版本,它删除了所有driver/*软件包,以及任何依赖于全局的软件包(我通过一个脚本在每个软件包上调用了pkg contents -mr删除了任何引用的feature/package/dependency/self 。)我将它安装到我的本地回购,这是一个pkg/mirror克隆http://pkg.oracle.com/solaris/release/ 。 安装修改后的软件包会导致这个pastebin中显示的依赖性失败的长列表,这些列表似乎大部分与Python包相关。 我花了一天的时间来处理这些错误:手动和recursion地分析各种Python包和它们的依赖关系,并删除我在solaris-desktop-zone包中可以find的任何提示。 最后,我只好把包中的软件包删除,直到find能够通过Solver阶段的版本,然后从那里开始工作,找出一个软件包,并最终了解原因。 解决scheme? x11/server/xorg/driver/xorg-video ,它依赖于一个NVidia驱动,它也具有feature/package/dependency/self依赖。 事后看来,我可以更快地find这个自我依赖的recursionsearch – 即不仅检查我的solaris-desktop-zone软件包所依赖的所有软件包,还检查它们的所有依赖关系。 但是当然,我还是陷入了困境之中,认为这个问题是由Python程序包或者依赖于它们的包所造成的。 例2 : gcc-5 zlogin testdesktop pkg install […]

有没有办法查询kdc的领域?

我一直在尝试configurationkinit来对Windows Active Directory PDC进行身份validation。 但不断得到结果: kinit: Realm not local to KDC while getting initial credentials 我的krb5.conf有: [libdefaults] clockskew = 300 default_realm = XXX.COM [realms] XXX.COM = { kdc = pdc01.aaa.bbb.xxx.com default_domain = XXX.COM kpasswd_server = pdc01.aaa.bbb.xxx.com } [domain_realm] server01.www.yyy.xxx.com = XXX.COM .yyy.xxx.com = XXX.COM .xxx.com = XXX.COM xxx.com = XXX.COM server01.www.yyy.xxx.com是一个红帽服务器,我正在运行kinit。 我没有控制PDC。 但是在redhat服务器上有pipe理员权限。 我真的不确定这是否是一个可行的设置,我对Kerberos的理解是有限的。 我会很感激任何指导。

tcpdump的默认捕获大小在类似的服务器上有所不同

在两个不同但相似的(发行版,版本)服务器上运行/usr/sbin/tcpdump -n dst ${some_ip} and dst port 80会给我不同的捕获大小(一个为65535个字节,另一个为262144个字节)。 什么可能导致tcpdump捕获大小的差异? 在结果数据输出中可能导致哪些不一致? 编辑: ldd $(which tcpdump)在两台服务器上具有相同的输出: linux-vdso.so.1 => (0xdeadbeef) libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0xdeadbeef) libpcap.so.0.8 => /usr/lib/x86_64-linux-gnu/libpcap.so.0.8 (0xdeadbeef) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0xdeadbeef) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0xdeadbeef) /lib64/ld-linux-x86-64.so.2 (0xdeadbeef) 嗯,但内核版本不同,必须与这个… capture size 65535: Ubuntu 14.04.4, Linux 3.13.0-85-generic capture size 262144: Ubuntu 14.04.5, Linux 3.13.0-116-generic

如何防止HAProxy删除带有下划线的HTTP标头

我们有一个API后端服务器,需要某些包含下划线的HTTP头。 我知道,这不是最好的做法,标题应该使用连字符,但我不能改变这一点。 我们使用nginx作为代理服务器,并使用underscores_in_headers on选项。 这会导致nginx不删除这些头文件。 现在我们要切换到HAProxy,并在configuration更改之前将其作为nginx使用下划线删除标题。 有没有办法阻止HAProxy下拉字头?

是否有理由保持Web服务器上的HTTP / 1.0支持?

我想在我的Web服务器上closures对HTTP/1.0的支持 。 这些服务器托pipe常规网站(MVC.NET)。 什么是潜在的负面影响? 有什么重要的互联网服务使用HTTP/1.0 ,我应该知道的?

nginx从.htmredirect到没有的url

您好新的网站启动。 前网站有这样的url: http://example.com/something.htm 新网站没有,看起来像这样: http://example.com/something 我怎么能告诉nginx做这个redirectpermanetly(301)。 我已经尝试rewrite ^(.*)$ $1.htm permanent; 没有成功。 location ~*\.(htm)${ rewrite ^(.*)$ $1.htm permanent; }

将数据移至磁带

在我的新工作场所,我希望将旧数据(大图像文件)备份到磁带上。 作为一个从未使用磁带的人,我有几个关于他们的问题。 如果有人能把我指向网上的指南或在这里回答,那将是非常棒的。 目前,我能够使用命令mt查询磁带驱动器。 除此之外,mt还可以将磁带头从一个文件边界移动到另一个文件边界 mt -f /dev/st0 status 使用tar移动数据看起来很简单。 tar cvf /dev/st0 somedirectory/ 我无法理解的部分是如何查询磁带卷上有多less可用空间? 我testing的磁带是HP LTO-5 Ultrium(1.5TB未压缩)。 另外,如何创build可以跨越多个磁带的卷? 说一个大小10TB的文件夹? 一旦这个系统正常工作,我打算每两个不同的磁带每六个月存储10TB的数据。

物理机使用Azure备份的快照

在Azure备份服务中,我们可以备份文件和文件夹,但是可以将完整的操作系统与物理机的数据一起备份,并在同一台/其他物理机上进行恢复?

Google Cloud SQL / App Engine并发限制

我一直在使用Google App Engine来托pipe我的API,并保持对并发数据库连接的限制。 文档说,每个“应用程序引擎实例”( https://cloud.google.com/sql/faq#sizeqps )最多只能有12个并发连接,但我不太清楚这意味着什么。 我正在使用GoLang,而我的应用程序是事务性的,因此有12个并发数据库连接的限制意味着less于12个并发API连接。 这真的很低,似乎与谷歌的其他利率限制非常慷慨一步。 每个单独的进程不需要超过一个单一的数据库连接,所以如果有一种方法来产生多个“实例”,我会没事的。 但是我不太清楚这是什么意思,它是否适用于所有服务,每个服务,每个处理程序等。 在此先感谢您的帮助。 担

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.