小编Smu*_*dge的帖子

Nagios 远程监控:NRPE Vs。SSH

我们使用 Nagios 来监控相当多(~130)台服务器。我们监控每台服务器上的 CPU、磁盘、RAM 和其他一些东西。我一直使用 SSH 来运行远程命令,纯粹是因为它在远程服务器上几乎不需要额外的配置,只需安装 nagios-plugins,创建 nagios 用户并添加 SSH 密钥,所有这些我都自动化了一个 shell 脚本。我从未真正考虑过在 NRPE 上使用 SSH 对性能的影响。

我不太担心 Nagios 服务器上的负载(它的功能可能超出了规格,CPU 从未超过 10%),但我们每 30 秒运行一次远程检查,每个服务器有 5 个不同的检查执行。我认为 SSH 每次检查都需要更多资源,但有很大的不同吗?(即足以保证切换到 NRPE 的差异)。

如果有帮助,我们会监控物理服务器(通常具有 8、12 或 16 个物理核心)和 Amazon EC2 中/大型实例的组合。

monitoring performance nagios nrpe

9
推荐指数
2
解决办法
1万
查看次数

我的服务器工作正常,但我无法 ping 通它

我之前注意到,我们的 EC2 实例中的一个(许多)不响应ping请求。其他一切运行正常,SSH、HTTP、FTP、数据库都运行良好,但 ping 失败。


此实例基于我们在 EC2 上用于大约 40 个节点的映像,我不记得以前有此问题。我注意到是因为我们对 NAGIOS 中每个服务器的主要“是否启动”检查使用 Ping,所以我注意到了。

从功能上讲,这不是问题(刚刚启动了另一个实例并且该实例运行良好),但是对于我的教育(并且只是因为我感兴趣),为什么在其他服务可以时 ping 不起作用?

Sam-Rudges-MacBook-Pro:~ sam$ curl -i http://50.19.x.x/
HTTP/1.1 302 Found
Date: Tue, 14 Jun 2011 16:38:36 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Content-Length: 0
Location: /dash
Server: TornadoServer/1.2.1

Sam-Rudges-MacBook-Pro:~ sam$ ping 50.19.x.x
PING 50.19.x.x (50.19.x.x): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
^C …
Run Code Online (Sandbox Code Playgroud)

ping amazon-ec2

9
推荐指数
1
解决办法
3万
查看次数

NGINX“全球”位置

是否可以为 NGINX 服务器创建一个“全局”位置?我希望 NGINX 服务的每个站点都可以访问 /global/ 文件夹;沿着

http {
    [...stuff...]

    #Global path
    location /global/ {
        root /my/global/location/;
    }

    server {
        listen          127.0.0.1:80;
        server_name     example.com;

        [...standard config...]
    }

    server {
        listen          127.0.0.1:80;
        server_name     example.org;

        [...standard config...]
    }

    server {
        listen          127.0.0.1:80;
        server_name     example.net;

        [...standard config...]
    }
}
Run Code Online (Sandbox Code Playgroud)

并且能够从http://example.com/global/ http://example.org/global/等访问全局位置的文件。

如果我将全局位置块添加到每个server块中,我可以做到这一点,但这很烦人,我希望将其定义为全局并能够从站点内访问它。

我可以include在每个主机中使用一个指令,但它仍然需要在每个主机中指定。NGINX wiki 说“位置”块仅在server上下文中有效,但我不知道是否有重写技巧或类似的东西。

nginx

9
推荐指数
1
解决办法
4756
查看次数

绑定 HTTP“API”

首先,我有点拘泥于 n00b,所以如果我说一些没有意义的事情,请忽略它们 =)

是否有任何软件可以允许“API”之类的命令用于在 BIND 上创建、更新、删除等区域和记录?
我有两个 DNS 服务器在 EC2 上运行,我希望能够从另一个应用程序轻松管理它们上的域。我知道像 CPanel 这样的东西有一个 HTTP API 和与 BIND 的接口,但这对于我需要的东西来说可能有点过分了。我不介意安装 Apache/PHP/Mysql/Python/Rails/无论其他需要让它工作但所有服务器都会做的是 DNS

编辑: 或者让 BIND 使用 MySQL 来存储它的配置,然后我可以编写一个简单的 PHP 脚本来执行“API”位

mysql domain-name-system bind

7
推荐指数
1
解决办法
3445
查看次数

NGINX 返回带有自定义错误文档的正确标头

我已经设置 NGINX 为我的代理服务器返回自定义错误文档,它显示正确的文件但总是返回一个200 OK标题。

相关的 NGINX 配置是

server {
    listen       94.23.155.32:80;
    server_name  rmg.io www.rmg.io;

    proxy_intercept_errors on;

    location / {
        proxy_pass http://rmgshort/;
    }

    error_page 404 = /error/404.html;
error_page 500 501 502 503 503 = /error/500.html;

    location /error/ {
        root /var/rmg/;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你想,你可以对此进行测试,这个页面应该返回404错误,它返回正确的文档,但更改状态代码“200 OK”(测试HTTP头位置),如果我更换root /var/rmg/internal;正确的标题是返回,但随后我自定义错误页面不起作用。

如何让 NGINX 返回带有正确状态标题的自定义错误文档?

我在 RHEL 6.1 上运行 NGINX 1.0.4

nginx

6
推荐指数
1
解决办法
9009
查看次数

VCenter 应该是一个虚拟机吗?/它可以是外部硬件吗?

我们有 6 台 ESX 服务器运行 +150 台虚拟机。目前,我们的 VCenter 服务器是这些 VM 之一。前几天,我们的 DC 发生了硬件故障(由顽皮的 UPS 引起),导致其中两台服务器瘫痪。它取出的第一台服务器运行我们的主 VCenter 服务器,第二台运行我们的 HA/Heartbeat VCenter 服务器,因此我们的主机都没有从两台故障主机迁移到 4 台正常工作的主机上,我们失去了大部分 VM 管理(用户全部使用 VSphere)。这是一个非常不幸的情况,希望不应该经常发生,但我想知道,在不同数据中心的单独机器上运行我们的主 VCenter 服务器是否是个好主意*/仅专用于 VCenter 的冗余块,备份是虚拟机?甚至有可能吗?(我们所拥有的只是虚拟设备,但如果它可用,我不会

*我很惭愧,我们在一个 DC 中运行我们所有的 VMWare 服务器。我们将 SAN 镜像到第二个 DC,但那里没有服务器。它们只是开发/非关键服务器,但如果它们宕机,人们仍然会大喊大叫。

vmware-esxi vmware-vcenter

6
推荐指数
1
解决办法
293
查看次数

Postfix“负载平衡”发送IP

我有一台带有 8 个 IP 地址的服务器用作邮件服务器(使用 PostFix)。我希望 PostFix 为每条消息轮换 IP 和主机名。我找到了配置参数

smtp_bind_address = 1.2.3.4
Run Code Online (Sandbox Code Playgroud)

(还有另一个我不记得是主机名的)但这只能让我绑定到一个 IP/主机名。

例子;
我有这些IP:

1.1.1.1 => mail1.mydomain.com
1.1.1.2 => mail2.mydomain.com
1.1.1.3 => mail3.mydomain.com
[etc]
Run Code Online (Sandbox Code Playgroud)

第一条消息应该从 1.1.1.1 发送,第二条消息从 1.1.1.2 发送,第三条消息从 1.1.1.3 等发送,所以只需循环平衡可用 IP

这可以用 Postfix 实现吗?

email linux postfix

5
推荐指数
2
解决办法
4642
查看次数

服务/联系人组的 NAGIOS 通知命令

我们有 3 个服务模板low-priorityhigh-priortymedium-priorty。低优先级服务附加到low联系人组medium,中优先级服务附加到联系人组和高优先级(好吧,你可能明白了)。

低优先级服务不通知,中优先级警报通过电子邮件通知,高优先级警报通过电子邮件和电话通知。除了他们没有(还)

我需要做的是指定high-priorty服务生成的任何警报都应该运行通知命令notify-service-by-emailnotify-service-by-phone. 通过阅读文档(以及我对 Nagios 的了解),我知道设置通知命令的唯一方法是service_notification_commands联系人中的选项,但这意味着每个联系人都需要两个定义,一个用于电话,一个用于电子邮件。我将如何获得high-priority调用notify-service-by-phone命令的服务?

更多信息;

服务模板

;High priority service (Alert by call, 1 min check period)
define service{
    name                high-priority-service
    notifications_enabled       1
    normal_check_interval       1
    contact_groups                  high
    use             generic-service
    register            0
    }

;Med priority service (Alert by email, 5 min check period)
define service{
    name                med-priority-service
    notifications_enabled       1
    normal_check_interval       5
    contact_groups                  medium
    use             generic-service
    register …
Run Code Online (Sandbox Code Playgroud)

nagios

5
推荐指数
1
解决办法
1万
查看次数

NGINX 直通服务器标头

如何让 NGINX 通过上游服务器的“服务器”标头?

就像,如果 NGINX 代理到服务器标头为“Apache2.2 (CentOS)”的 Apache 服务器,它会将其剥离并替换为“NGINX/1.0.1”。我们在 Server: 头中有我们的机器 ID,所以我们需要让 NGINX 停止覆盖它们。

nginx http-headers

4
推荐指数
2
解决办法
3844
查看次数

运行邮件转发服务,我应该采取哪些步骤来防止我的 IP 被列入黑名单

背景:
我即将推出一项服务,为大量域提供电子邮件转发。

假设您希望人们能够使用 you@somesite.com 与您联系,所有发送到该地址的电子邮件都将转发到 your@realaddress.com

我们将拥有 3 台拥有自己 IP 的服务器,这些服务器将运行 Postfix,并且所有域都将有 Abus@ 和 postmaster@ 地址,这些地址将转发给我们的管理员。

我不希望我们的 IP 被阻止,我们所做的只是转发收到的邮件,但我真的不想在转发的邮件上启用垃圾邮件阻止(这是我们的用户,不是我们的,应该由他们的入站电子邮件提供商检测垃圾邮件并将其放入“垃圾邮件”文件夹中,我们唯一的选择是删除垃圾邮件,但如果我们开始出错,人们开始因为我们没有发送他们的电子邮件而感到不安,我们可能会得到和他们有麻烦)

一种选择是经常(可能每月一次)为服务器获取新 IP,因此它们应该是干净的(我们可以以每个 IP 每年约 2 美元的价格获得它们,因此对我们来说没有巨大的成本,但我们最终会得到很多“污染” ' ips 位于我们的托管公司不会收回的周围)。是否有其他建议可以帮助我们避免被电子邮件提供商阻止?

编辑:
我们将每天将 15-20k 封电子邮件转发到约 10k 不同帐户。我们目前正在使用 OpenSRS 的电子邮件转发服务,但现在我们已经达到这个级别的用户,它太贵了

email spam

4
推荐指数
1
解决办法
322
查看次数

在 SSD 上放置交换空间如何影响性能?

这更像是我感兴趣的一个通用问题,而不是我计划在生产中使用的问题。如果我得到了一个 40GB 的 SSD 驱动器并将整个驱动器分配为交换空间,只在系统中留下少量的“真实”内存(例如,我会说 512MB 物理内存),性能与拥有相比如何40GB 的真实内存?
可能无法进行一般比较,因此例如在运行 RedHat、MySQL、MongoDB 和 Memcached 的情况下运行数据库服务器(根据我的经验,数据库服务器喜欢大量内存,尤其是使用 Memcached)并节省大惊小怪假设所有服务都经过优化配置和调整,而不仅仅是库存安装。

TL;DR
SSD 驱动器可以用作 RAM 的替代品吗?

memory ssd swap

0
推荐指数
1
解决办法
6061
查看次数

CentOS 6 无法下载?

我不明白,如何下载 CentOS 或 CentOS6。我们花了几个小时试图找到 ISO 图像,但整个过程极其复杂。CentOS 网站是一场真正的灾难

谁能给我一个 CentOS 6 的下载链接?

http://www.centos.org/modules/tinycontent/index.php?id=15

centos

-2
推荐指数
1
解决办法
208
查看次数

服务器上的 Google 桌面 - 编制索引需要很长时间

您在服务器上使用 Google 桌面的体验如何?

我的服务器相对较慢(实际上很慢)。我已安装 Google 桌面以加快搜索过程。它在一周前开始索引。它很快开始完成 6%,然后慢慢地、慢慢地……在接下来的 5 天内完成了 40%。现在它刚刚开始再次索引并达到了 6%。

虽然 Google 桌面在桌面上运行快速且出色,但您对服务器的体验如何?有我不知道的事情吗?

我在 MS Windows Server 2003 上运行它。

windows-server-2003 remote-desktop google indexing

-2
推荐指数
1
解决办法
250
查看次数