跳轉至內容

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

華夏公益教科書