使用 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。