Articles of linux

为服务的不同检查级别configurationNagios event_handler而不重叠

运行Nagios Core 4.0.2并在客户端使用最新的NRPE。 我们有3个服务定义每分钟检查一个不同层次的软件: 打开TCP端口检查 进程正在运行检查 应用程序层通过向套接字发送数据并期待一些返回值来检查 在任何这些检查失败的状态下,我们将调用一个event_handler来重新启动服务,最多3次。 如果3后状态不好,则升级。 问题是有一些组合,如果一个服务将失败另一个预计将处于CRITICAL状态。 如果我们每个都有一个event_handler,两个都失败,那么通过event_handler重启脚本将被调用两次。 例如,如果进程没有运行,那么TCP端口将不会打开,应用层检查将失败。 例如,TCP端口可能是CRITICAL,因为防火墙configuration不当的规则或networking条件,应用程序层将失败,因为无法到达,但进程仍在运行 问题:我们如何确保事件处理程序只被一个失败的服务检查调用,而不是3个失败的服务中的两个或多个重新启动,因为它们的状态变为CRITICAL? 例如,如果3个服务检查进入CRITICAL,那么在1分钟内重新启动3次,在2分钟内重新启动6次(假设重新启动失败使服务恢复到OK状态)。 我相信服务依赖可能是正确的解决scheme,但我不知道如何去创build它们来满足不同的条件。

切换到新目录后禁用额外的消息

每当目录改变,它显示新的目录名称: # cd /home/ Directory: /home/ # cd ~ Directory: /root 如何禁用它? 我们正在login到csh。 我们已经validation了/etc/csh.cshrc,/ etc / profile,/etc/csh.login。

是否可以将Linux服务器configuration为使用多个LDAP目标?

我们有一个我们负责pipe理的环境,同时还可以访问在服务器上运行应用程序的项目。 其中一些项目已经站起来用于validation项目用户的LDAP。 在没有深入讨论为什么我们没有做到这一点的时候,我们现在想站出来自己的LDAP来pipe理我们的用户,而不是站在每个项目的现有LDAPconfiguration上。 基本上,我们的LDAP将完全与项目LDAP分离。 可以将Linux(RHEL)configuration为针对多个LDAP服务器进行身份validation吗? 我正在考虑级联身份validation选项:检查帐户的LDAP 1; 如果不存在帐户,请检查LDAP 2; 如果没有帐户存在本地检查。 这似乎是可能的,但从来没有configurationLDAP我不知道它是否实际上是一个可configuration的方法。

如何确定什么内存被释放

我们有一个复杂的LAMP堆栈,在Centos 5上运行各种使用Litespeed而不是Apache的网站。 一旦一切正常运行,系统的内存使用情况相当一致 – 大部分内存被MySQL的caching占用,其余部分用于Litespeed(webserver和lsphp5)以及与操作系统相关的操作。 每隔一段时间,我们都会遇到进程消耗的内存大量减less(下面截图中的凌晨3:55和9:25左右)。 一切都还在继续,事实上,性能提高了 。 我已经检查了OOM杀手,看不到任何被杀死的进程,并且MySQL的caching似乎保持不变(例如MyISAM或InnoDB命中率没有偏差)。 所以,我的问题是,“我们如何确定哪些内存正在被释放(例如它属于哪个进程)?” 请注意,如果我们可以追溯性地进行这种分析(例如,根据历史数据),这是理想的。 不过,我也很高兴find一个解决scheme,我们可以将其用于跟踪未来的内存使用情况。

更改Web服务器上的文件权限以遵循最低特权安全原则:chmod 750 -R /

我不确定哪些细节是相关的,但是这里有一些一般的上下文。 我正在AWS上configuration一个Ubuntu 12.04 Web服务器来处理客户的付款信息,然后将他们redirect到一个托pipe的付费页面,这个页面不会返回交易细节以便进一步处理。 预先托pipe的付费页面处理将涉及到远程连接到我们的本地数据库,以便客户信息可以validation和帐户详细信息可以返回显示。 我是pipe理服务器的唯一一个。 大多数目录和文件的默认权限为755,所有者为root:root。 在试图遵循最小权限的安全原则,我想知道删除所有的世界读取/执行权限,所以服务器根剩下750,将自己添加到根组,以保持可用性。 我有Apache作为WWW数据运行,我已经设置为2750的Web根和所有者的权限:www-data – 将自己添加到WWW数据组的可用性。 将系统umask从默认值022更改为027似乎是很常见的,所以任何新创build的权限都是750而不是755,但是我还没有遇到过任何关于对整个文件系统进行“追溯” 。 这是一个好主意,有没有适当的方法来做到这一点?

使用cron压缩并从linux上的JBoss删除日志

我需要从serwer一段时间后压缩和删除日志文件。 我从来没有写脚本。 到目前为止,我有脚本logs.sh : #!/bin/bash LOGS=/usr/local/jboss/server/default/log/ INFOLOG="server.log" ERRORLOG="error.log" BOOTLOG="boot.log" # gzip files last modify at least 7 days ago, and not files that are identified above and that have already been compressed find $LOGS -mtime +7 -not -name "$INFOLOG" -not -name "$ERRORLOG" -not -name "$BOOTLOG" -not -name '*.gz' -exec gzip "{}" \; # remove all […]

将lighttpd转换成nginx重写规则

我努力让我的代码在nginx上工作。 这个configuration适用于lighttpd,但是我想把它迁移到nginx。 在lighttd上重写规则: url.rewrite-once = ( "^/(ui)/(.*)$" => "/gi.php/$1/$2", "/(.*)\.(.*)" => "$0", "/(xhr|js-api)/(.*)" => "$0", "^/([^.]+)$" => "/gi.php/$1" ) 任何人都可以帮助在这个转换? 我尝试了很多东西,包括将其转换为Apache重写规则,但没有一个工作。 Nginx规则: if (!-f $request_filename){ set $rule_0 1$rule_0; } if (!-d $request_filename){ set $rule_0 2$rule_0; } if ($rule_0 = "21"){ rewrite ^/(.*)$ /gi.php/$1 last; } Error : 404 有什么build议么?

在Linux服务器上所有进程停止意外

我是一个正在运行的Ubuntu 12.04 LTS服务器版本,在过去的两个半小时左右,VPS变得完全没有响应。 Nginx停止响应请求。 有日志活动发送到我的日志logging服务。 新的遗物数据停止发送。 我什至不能进入箱子ssh。 解决这个问题的唯一方法是去我的托pipe服务提供商的pipe理系统,并做一个VPS的硬重启。 重新启动后,一切似乎都很好,直到它再次发生。 我有1 GB的RAM加上至less另外1 GB的交换。 我查看了日志,但没有发现OOM杀死任何进程的迹象。 以下是NewRelic关于服务器负载的一些截图。 还有其他地方我应该寻找细节? 可能是内核错误。

在debian – sites-enabled上安装nginx

我的印象是,在debian上安装nginx会为我创build这两个目录: 在/ etc / nginx的/网站可用/ 启用站点的/ etc / nginx的/ / 这是不是自动创build的,是否正确,我应该手动创build这些,并把我的conf文件在那里读取?

在Linux下通过袜子挂载云存储?

我试图在Linux下挂载云存储,但通过SOCKS代理。 我find的一个build议的解决scheme是使用davfs2 ,但据我所知它只支持一个Http代理。 我试过这个: sudo apt-get install davfs2 #enable the following in /etc/davfs2/davfs2.conf use_proxy 1 proxy 192.168.147.1:100 #my socks proxy # add the following to /etc/fstab https://dav.box.com/dav /home/user/box.com davfs rw,user,noauto 0 0 # then try to mount mount box.com 但它永远不能连接。 我假设,因为它期待一个HTTP代理。 抛出的错误是: 无法通过代理服务器创buildSSL连接:无法读取状态行:连接被代理服务器closures 那么任何人都可以build议一个方法来获得这个工作? 或者另一种方法来挂载它?