linux – Monit 5.5仅绑定到localhost,但应该全部绑定

使用Centos 6.4,使用yum安装Monit 5.5.

我有两个安装了monit的服务器 – 相同的版本,相同的配置 – 但是一个绑定在所有地址上,另一个只绑定在localhost上.

问题服务器:

# service monit restart
Stopping monit:                                            [  OK  ]
Starting monit: Starting monit daemon with http interface at [localhost:8080]
                                                           [  OK  ]

好的服务器:

# service monit restart
Stopping monit:                                            [  OK  ]
Starting monit: Starting monit daemon with http interface at [*:8080]
                                                           [  OK  ]

配置是这样的:

set httpd port 8080
  allow fofo:sdad
  allow fdgdfg:dsfsdf
  SSL ENABLE
  PEMFILE  /var/certs/monit.pem
  signature disable

我猜这个问题是问题服务器的一些网络配置错误 – 因此它无法绑定外部端口 – 但其他东西工作正常 – http,ssh等…

UPDATE
更多信息 – 感谢您的评论
问题框:

# rpm -qi monit
Name        : monit                        Relocations: (not relocatable)
Version     : 5.5                               Vendor: Dag Apt Repository,http://dag.wieers.com/apt/
Release     : 1.el6.rf                      Build Date: Wed 20 Mar 2013 02:09:54 PM WET
Install Date: Sat 04 May 2013 09:30:54 PM WEST      Build Host: lisse.hasselt.wieers.com
Group       : Applications/Internet         Source RPM: monit-5.5-1.el6.rf.src.rpm
Size        : 716992                           License: GPLv3
Signature   : DSA/SHA1,Wed 20 Mar 2013 03:59:25 PM WET,Key ID a20e52146b8d79e6
Packager    : Steve Huff <shuff@vecna.org>
URL         : http://mmonit.com/monit/
Summary     : Process monitor and restart utility
Description :
Monit is an utility for monitoring daemons or similar programs running on
a Unix system. It will start specified programs if they are not running
and restart programs not responding.

工作箱:

# rpm -qi monit
Name        : monit                        Relocations: (not relocatable)
Version     : 5.5                               Vendor: Dag Apt Repository,http://dag.wieers.com/apt/
Release     : 1.el6.rf                      Build Date: Wed 20 Mar 2013 02:09:54 PM WET
Install Date: Fri 22 Mar 2013 04:02:32 AM WET      Build Host: lisse.hasselt.wieers.com
Group       : Applications/Internet         Source RPM: monit-5.5-1.el6.rf.src.rpm
Size        : 716992                           License: GPLv3
Signature   : DSA/SHA1,Key ID a20e52146b8d79e6
Packager    : Steve Huff <shuff@vecna.org>
URL         : http://mmonit.com/monit/
Summary     : Process monitor and restart utility
Description :
Monit is an utility for monitoring daemons or similar programs running on
a Unix system. It will start specified programs if they are not running
and restart programs not responding.

/ etc / hosts看起来非常相似,如下所示:

cat /etc/hosts
# Automatically generated by ptisp cloud
127.0.0.1       localhost
x.x.x.x             [hostname]

问题框:

# netstat -tln | grep ":8080"
tcp        0      0 127.0.0.1:8080              0.0.0.0:*                   LISTEN

工作箱:

# netstat -tln | grep ":8080"
tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN

还运行’ip addr’,它的输出在工作和非工作框之间看起来非常相似.

更新2

今晚刚刚添加了M / monit,这个盒子奇怪地出现了两次,一次不活动.我在想这是因为m / monit服务器无法ping回客户端…

提前感谢任何想法.
克里斯

解决方法

如果Monit行为与配置文件中写入的行为不匹配,可能的原因可能是Monit实际上使用了不同的配置文件.

monit-5.5-1.el6.rf包中的/etc/rc.d/init.d/monit脚本启动monit而不指定配置文件名,因此Monit尝试在几个地方查找配置文件并使用第一个一个被发现.另一个重要的事情是这个包中的默认配置文件名与未修改的Monit上游版本使用的名称不同 – 上游使用monitrc,但RepoForge的包使用monit.conf.

用于配置文件搜索顺序如下:

Monit的上游版本中的〜/ .monitrc,或者RepoForge包中的〜/ .monit.conf(使用启动monit的用户的主目录;如果从init脚本启动Monit,则用户是root) .使用getpwuid(geteuid())(即来自/ etc / passwd或任何其他NSS数据库)而不是来自HOME环境变量来读取主目录.
> Monit的上游版本中的/ etc / monitrc,或RepoForge包中的/etc/monit.conf.如果使用RepoForge包,/ etc / monit.conf最初包含一个未注释的include行,这会导致Monit从/etc/monit.d目录中读取其他配置文件

include /etc/monit.d/*

在上游源中,示例monitrc文件已将此行注释掉,因此默认情况下不使用其他配置文件.

另请注意,RepoForge包具有安装后脚本:

# Moving old style configuration file to conf standard location
if [ -f /etc/monitrc ]; then
    mv -f /etc/monitrc /etc/monit.conf
fi

因此,如果在安装或升级软件包之前存在/ etc / monitrc文件,则此文件重命名为/etc/monit.conf,并以静默方式覆盖它.> Monit的上游版本中的$SYSCONFDIR / monitrc,其中$SYSCONFDIR是编译源时传递给configure脚本的–sysconfdir = …选项的值(此选项的默认值为$prefix / etc,像往常一样使用Autoconf生成的配置脚本,默认前缀是/usr/local,因此配置文件名变为/usr/local / etc / monitrc).在RepoForge包中,此文件名变为/etc/monit.conf,使其成为冗余.> Monit的上游版本中的/usr/local / etc / monitrc,或RepoForge包中的/usr/local/etc/monit.conf.这里/usr/local / etc目录是硬编码的,不依赖于任何配置选项.Monit的上游版本中的./monitrc,或RepoForge包中的./monit.conf(从init脚本开始时,当前目录可能是/).

相关文章

文件查找(find) 1 find 简单的说,就是实时查找指定的内容或条件。特点:最新、最快、最准确。 用法:...
非交互式添加分区 方法一 添加/deb/sdb 下的分区,其实位置为1到1000M,第二个分区位置为1001至3000M,...
编译安装httpd 1 去官网下载源码包 为避免非法软件,一定要去官网下载http://www.apache.org httpd-2.4...
gdisk用法 gdisk - InteractiveGUIDpartitiontable (GPT) manipulator GPTfdisk (akagdisk) isatext-mo...
1 一定用快捷键 这里简单的说下几个常用的快捷按键。 1.1 移动光标快捷键 Crtl + a 光标回到命令行...
bash shell中测试命令 test命令提供了if-than语句中测试不同条件的途径。如果test命令中列出的条件成立...