跳转至内容

使用 Xymon 进行系统监控/管理指南/在 CentOS 上编译

来自维基教科书,开放世界中的开放书籍

安装操作系统

[编辑 | 编辑源代码]

首先从 Centos 6.2 镜像列表 获取磁盘镜像。本指南适用于 6.2/isos/i386/CentOS-6.2-i386-minimal.iso。

从 CD 启动,当引导菜单出现时,按 Tab 键并添加 "linux text"。这意味着按下 Tab 键,空格键,然后是 linux text。

  • 跳过媒体测试
  • 在欢迎界面按 OK
  • 在英文界面按 OK
  • 在美式键盘布局界面按 OK
  • 分区磁盘,大部分将是
    • /boot 为 100MB
    • swap 为 1024MB
    • / 为磁盘剩余部分(同时启用强制为主分区)
  • 在使用 GRUB 界面按 OK
  • 在没有内核选项界面按 OK
  • 在没有 GRUB 密码界面按 OK
  • 在使用默认引导加载程序配置界面按 OK
  • 使用 /dev/sda 或 /dev/hda 使用磁盘的 MBR 部分作为引导加载程序
  • 默认以太网设备设置是 DHCP
  • 在系统使用 UTC 和纽约时区界面按 OK
  • 根密码 - 设置一个好的密码!
  • 选择基本服务器作为软件集

现在您有了使用 CentOS 系统所需的最小软件包。

获取软件包并安装

[编辑 | 编辑源代码]

从 root 用户开始...

yum -y install yum-priorities
#first line is tools that are not included in minimal install
yum -y install wget httpd make vim nano man
yum -y install gcc gcc-c++ pcre-devel libpng-devel openssl-devel openldap-devel rrdtool-devel libtirpc-devel
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
rpm -i rpmforge-release-*.rpm
yum -y install fping
yum -y update
echo "all done with yum"

现在使用新内核重启

重启后,我们需要开始配置。让我们从更改 httpd.conf 中的 ServerTokens 指令开始

nano /etc/httpd/conf/httpd.conf

ServerTokens OS 更改为 ServerTokens Major

为 Xymon 添加一个用户。一个常用的用户名是 xymon。

为了方便起见,启用复制粘贴功能

XYMONUSER=xymon
echo $XYMONUSER

echo 命令应该输出 changethis 或者您想要的 Xymon 用户名。

echo "helo" > /var/www/html/index.html
ln -s /etc/init.d/httpd /etc/rc3.d/S83httpd
/etc/init.d/httpd start
useradd $XYMONUSER
passwd $XYMONUSER

确保您选择一个好的密码!

chmod o+rx /usr/sbin/fping
chmod go+rx /home/$XYMONUSER
yum check-update
su - $XYMONUSER
cd ~
wget http://iweb.dl.sourceforge.net/project/xymon/Xymon/4.3.10/xymon-4.3.10.tar.gz
tar -xzf xymon*tar.gz
cd xymon*

现在编译 Xymon...

./configure.server

I found fping in /usr/sbin/fping
Do you want to use it [Y/n] ?
y

Do you want to be able to test SSL-enabled services (y) ?
y

Do you want to be able to test LDAP servers (y) ?
y
Enable experimental support for LDAP/SSL (OpenLDAP 2.x only) (y) ?
y

What userid will be running Xymon [xymon] ?
$XYMONUSER

在这一步中,接受默认值,直到您看到...

What group-ID does your webserver use ?
apache

其余部分将使用默认值,除了 主机名和 IP 地址。这两个选项将根据主机目标网络安装而有所不同。现在编译代码

make

现在 退出 并切换到 root 用户,完成以下操作...

cd /home/$XYMONUSER/xymon*
make install

基础配置

[编辑 | 编辑源代码]

让我们阻止那些爬虫!

echo -e User-agent: *"\n"Disallow: / > /var/www/html/robots.txt
mkdir -p ~$XYMONUSER/server/www
echo -e User-agent: *"\n"Disallow: / > ~$XYMONUSER/server/www/robots.txt

您需要从 Xymon 创建的 xymon-apache.conf 中获取配置,并将其放置在运行的 Apache HTTPD 配置中。

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.orig
cat /home/$XYMONUSER/server/etc/xymon-apache.conf >> /etc/httpd/conf/httpd.conf

还需要在 httpd.conf 中的第 292 行和第 595 行附近(在 Redirect 注释下面)添加一些配置

nano /etc/httpd/conf/httpd.conf

DocumentRoot "/home/xymon/server/www"
RedirectMatch ^/robots.txt$ /xymon/robots.txt

现在测试新的 httpd.conf 并重新启动 Apache HTTPD 以应用这些配置。

apachectl configtest
apachectl graceful

为 Xymon 上的管理脚本创建一个用户,我们完成了与 Apache 的工作。

htpasswd -c /home/$XYMONUSER/server/etc/xymonpasswd YOURUSERNAME

接下来,我们需要获取 Xymon 启动脚本,并使用它在进入运行级别 3 时启动 Xymon。

cd /etc/init.d
wget http://iam8up.com/xymon-initd/xymon
chmod 755 xymon
ln -s /etc/init.d/xymon /etc/rc3.d/S70xymon

您绝对必须修改 /etc/init.d/xymon,并且可能只需要更改 STARTBIN、STARTDIR 和 USERNAME,如本例所示

STARTBIN=Xymon.sh
STARTDIR=/home/xymon
USERNAME=xymon

现在,您需要打开防火墙,允许查看器看到 Xymon 的网页输出。

nano /etc/sysconfig/iptables

-A INPUT -p tcp --destination-port 80 -j ACCEPT

它可以放置在很多地方,但这样可以正常工作

# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp --destination-port 80 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

SELinux 给我带来了很多麻烦。您可以按照正确的方法操作,但本指南只是为了让它正常工作。

现在暂时禁用它

echo 0 >/selinux/enforce

在引导时禁用它

nano /etc/selinux/config

SELINUX=permissive

您将需要 NTP 用于基于时间的应用程序 =)

yum -y install ntp
cd /etc/rc3.d/
ln -s /etc/init.d/ntpd S11ntpd
ntpdate time.iam8up.com
/etc/init.d/ntpd start
clock -w

让 Xymon 能够读取 /var/log/messages

chgrp $XYMONUSER /var/log/messages
chmod g+r /var/log/messages

安装完成

[编辑 | 编辑源代码]

您应该已经拥有一个 Xymon 服务器,它具有基本的配置,可以随时运行。您可以重新引导以确认您有一个工作的 init 脚本,或者只是使用以下命令启动它

/etc/init.d/xymon start

等待大约 5 秒钟,让 Xymon 完成其初始运行,您应该能够通过 http://servername.com/xymon/ 访问您的服务器

重要的网络信息

[编辑 | 编辑源代码]

我个人在安装过程中禁用了 SELinux 和防火墙。我有一个专门的防火墙,并且非常讨厌 SELinux。我建议安装安全软件 - 至少安装 DenyHosts

如果您想在 SELinux 下运行 Xymon,这里有一个方法 使用 Xymon 进行系统监控/SELinux

华夏公益教科书