■ 河南 郭建偉
編者按:在Windows服務(wù)器運(yùn)行過程中,會(huì)產(chǎn)生大量的狀態(tài)信息,對(duì)進(jìn)行及時(shí)的監(jiān)控,可以幫助管理員洞察其運(yùn)行情況,發(fā)現(xiàn)潛在的問題,使其可以順暢的運(yùn)行。雖然在系統(tǒng)中已經(jīng)內(nèi)置了性能監(jiān)視器等工具,可以對(duì)其進(jìn)行必要的監(jiān)控,不過其功能比較簡(jiǎn)單。使用Zabbix這款功能強(qiáng)大的工具,可以實(shí)現(xiàn)更加全面的監(jiān)控。
安裝Zabbix服務(wù)器
執(zhí)行“groupadd zabbix”和“useradd -g zabbix zabbix”命 令,創(chuàng) 建 名 為“zabbix”的組和賬戶。
執(zhí)行“rpm -ivh http://repo.zabbix.com/zabbix/x.x/rhel/6/x86_64/zabbix-release-x.x-1.e16.noarch.rpm”命令,來安裝Zabbix。
執(zhí) 行“yum install-y mysql mysql-server zabbix-server-mysql zabbix-web-mysql zabbixagent”命令,來安裝所需的其他組件。執(zhí)行“/etc/init.d/mysqld”命令,啟動(dòng)MySQL。
執(zhí) 行“/etc/init.d/zabbix-server start”命令,啟動(dòng)Zabbix服務(wù)。
創(chuàng)建所需的數(shù)據(jù)庫(kù)
執(zhí) 行“/etc/init.d/httpd start”命 令,啟 動(dòng)Apache服務(wù)。
執(zhí) 行“mysql -uroot”命令,在“mysql>”提示符下執(zhí)行“create databsase zabbix aracter set utf8 collate uft8_bin”命令,創(chuàng)建名為“zabbix”的數(shù)據(jù)庫(kù)。
執(zhí) 行“grant all privilieges on zabbix.*to zabbix@localhost identified by "zabbix"”命令,執(zhí)行所需的授權(quán)操作。
執(zhí) 行“/q”命 令 返 回Linux, 執(zhí) 行“cd /usr/share/doc/zabbix-servermysql-x.x.x/create/”,“mysql -uroot zabbix 配置Zabbix服務(wù) 執(zhí)行“vi /etc/zabbix/ zabbix_server.conf” 命 令,將Zabbix配置文件中的“DBHost=localhost”,“DBPassword=”行 前 面 的“#”刪除,并將后者修改為“DBPassword=zabbix”。 執(zhí) 行“yum install ntpdata”命令,安裝NTP服務(wù)。 執(zhí)行“ntpdate us.pool.ntp.org”命令調(diào)整時(shí)間。 執(zhí) 行“l(fā)n -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime”命令修改時(shí)區(qū)信息。 執(zhí) 行“vim /etc/php.ini”命令,在其中的“[Date]”欄中添加“date.timezone = Asia/Shanghai”行,來設(shè)置對(duì)應(yīng)的時(shí)區(qū)。 執(zhí) 行“vim /etc/sysconfig/network”命 令, 在 其 中 添 加“HOSTNAME=zabbix.wtf.local”行,設(shè)置本機(jī)名稱。 圖1 Zabbix Server配置界面 執(zhí)行“vim /etc/hosts”命令,在其中添加“x.x.x.x zabbix.wtf.local”行,將本機(jī)IP和本機(jī)名稱綁定。 執(zhí)行“chkconfig httpd on”,“chkconfig zabbixserver on” ,“chkconfig mysqld on”,“chkconfig zabbix-agent on”等命令,將所需的服務(wù)設(shè)置為開機(jī)啟動(dòng)狀態(tài)。 在瀏覽器中訪問“x.x.x.x/zabbix/setup.php”命令,進(jìn)入Zabbix配置 界 面(如 圖 1),其 中 的“x.x.x.x”為Zabbix服務(wù)器的IP。 在其配置向?qū)е悬c(diǎn)擊“Next”按鈕,在數(shù)據(jù)庫(kù)配置窗口中的“User”欄中輸入“zabbix”,在“Password”欄中輸入該賬戶的密碼,其余設(shè)置保持默認(rèn)即可。 管理Zabbix監(jiān)控界面 在Zabbix登錄界面中輸入“Admin”賬戶名,密碼默認(rèn)為“zabbix”,點(diǎn)擊“Sign in”按鈕進(jìn)入監(jiān)控界面,在初始情況下,只有該Zabbix服務(wù)器可以監(jiān)控。 選擇“Configuration”→“Host groups” 項(xiàng),選 擇“Zabbix Servers”項(xiàng),點(diǎn)擊該Zabbix服務(wù)器,將其導(dǎo)入進(jìn) 來。 選 擇“Monitoring”→“Graphs”項(xiàng),在右側(cè)的“Group”和“Host”列表中選擇該Zabbix主機(jī),在“Graph”列表中選擇具體的監(jiān)控項(xiàng)(例如CPU利用率等),就可以對(duì)其進(jìn)行監(jiān)控了。 雖然Zabbix提供了簡(jiǎn)體中文界面,但是在顯示某些內(nèi)容時(shí)容易出現(xiàn)異常,所以需要進(jìn)行必要的調(diào)整。 執(zhí) 行“l(fā)l `find /-name *font* -print |grep zabbix”命令,顯示其語(yǔ)言包信息,可看出其默認(rèn)使用的是名為“DejaVuSans.tff”的語(yǔ)言包??梢岳肳indows中的中文字體進(jìn)行替換,例如將“simkai.ttf”文件復(fù)制到Linux中,執(zhí)行“mv simkai.ttf /usr/share/fonts/dejavu/DejaVuSans.ttf”命令,對(duì)目標(biāo)字體進(jìn)行替換。再在Zabbix中選擇中文簡(jiǎn)體選項(xiàng),就可以得到完美的中文界面了。 在Windows服務(wù)器上安裝代理 為了實(shí)現(xiàn)對(duì)Windows服務(wù)器的監(jiān)控,需要下載名為“zabbix_agents_x.x_win.zip” 的安裝包,在C盤下創(chuàng)建名為“zabbix”的文件夾。 將上述安裝包解壓后,將其中的“binwin64”目錄下的所有EXE程序復(fù)制到上述“zabbix”文件夾中,將解壓路徑中的“binconf”目錄 下“zabbix_agent_win.conf”的文件復(fù)制到C盤根目錄下。 再將其更名為“zabbix_agent.conf”。 打 開 該配置文件,將其中的“Server=127.0.0.1”修改為實(shí)際的Zabbix Server地址。 將“Hostname=Windows host”修改為本機(jī)的名稱。以管理員身份打開CMD窗口,切換到上述“zabbix”目錄下,執(zhí)行“zabbix_agentd.exe --install”命令,執(zhí)行代理安裝操作。 運(yùn)行“service.msc”程序,在服務(wù)管理器里面選擇“Zabbix Agent” 服 務(wù),再在其右鍵菜單上點(diǎn)擊“啟動(dòng)”項(xiàng),激活這一服務(wù),之后在C盤下會(huì)出現(xiàn)一個(gè)命名為“zabbix_agentd.log”的日志文件。 選擇所需的監(jiān)控項(xiàng)目 在上述CMD窗口中執(zhí)行“typeperf -qx > c: est.text”命令,會(huì)導(dǎo)出所有的監(jiān)控項(xiàng)目。打開該文本文文件,選擇所需的監(jiān)控項(xiàng)目,例 如 選 擇“Processor(_Total)\% Processor Time”項(xiàng),表示監(jiān)控CPU的利用率。 打 開 上 述“zabbix_agent.conf”文 件,在 其尾 部 添 加“PerfCounter= UserPerfCountercpu,"Processor(_Total)\%Processor Time ",3”行,注意等號(hào)兩邊必須有空格,監(jiān)控的名稱可以自定義,但是監(jiān)控內(nèi)容必須使用規(guī)定的格式,這里表示每隔3秒獲取一次監(jiān)控?cái)?shù)據(jù)。 還可以根據(jù)需要添加更多的監(jiān)控項(xiàng)目,例 如“PerfCounter =UserPerfCountercpuUserti me, "Processor(_Total)\%User Time ",3”等。準(zhǔn)備好了監(jiān)控項(xiàng)目后,需要重啟上述“Zabbix Agnt”服務(wù)。 創(chuàng)建群組和主機(jī) 登錄到Zabbix Server 監(jiān)控界面,因?yàn)樵谄渲袥]有 和Windows相關(guān)的主機(jī)群組,所以需要選擇“組態(tài)”→“主機(jī)群組”項(xiàng),在右側(cè)點(diǎn)擊“新建主機(jī)群組”按鈕,在打開窗口中輸入其名稱(例如“WindowsServer”),點(diǎn)擊“添加”按鈕,將其添加進(jìn)來。 選擇“組態(tài)”→“主機(jī)”項(xiàng),在右側(cè)點(diǎn)擊“創(chuàng)建主機(jī)”按鈕,在打開窗口(如圖2)中輸入主機(jī)名稱和可見名稱(例如“WinServer1”)。 注意,其主機(jī)名稱必須為其IP或者真實(shí)的名稱,可見名稱可以自定義。 圖2 創(chuàng)建監(jiān)控主機(jī) 在“群組”中導(dǎo)入上述“WindowsServer”群組。在“IP地址”欄中輸入該機(jī)的IP,點(diǎn)擊“添加”按鈕添加該主機(jī)。 在主機(jī)列表中的和該主機(jī)對(duì)應(yīng)的“項(xiàng)目”列中可看到其默認(rèn)監(jiān)控項(xiàng)目為0。 創(chuàng)建所需的模版 選擇“組態(tài)”→“模版”項(xiàng),點(diǎn)擊“創(chuàng)建模版”按鈕,輸入其名稱(例如“moban”),在“群組”欄添加“Templates”項(xiàng),點(diǎn)擊“添加”按鈕添加該模版。 在模版列表中選擇該模版,在其屬性窗口工具欄上點(diǎn)擊“項(xiàng)目”鏈接,在右側(cè)點(diǎn)擊“創(chuàng)建監(jiān)控項(xiàng)”按鈕。 在打開窗口中輸入其名 稱(例 如“CPU Process time”),在“鍵值”欄中輸入“UserPerfCountercpu”。 注意,其必須和上述配置文件中的名稱一致。 在“數(shù)據(jù)類型”列表中選擇“數(shù)字的(浮點(diǎn))”項(xiàng),在“單位”欄中輸入“%”,其余的設(shè)置保持默認(rèn),點(diǎn)擊“添加”按鈕創(chuàng)建該監(jiān)控項(xiàng)。 同 理, 再 創(chuàng) 建 名為“CPU User Time”的監(jiān)控項(xiàng),其鍵值為“UserPerfCountercpuUsert ime”,其余均與上述相同。當(dāng)然,您可以根據(jù)需要?jiǎng)?chuàng)建多個(gè)監(jiān)控項(xiàng)。 圖3 主機(jī)列表信息 僅僅有了監(jiān)控項(xiàng)目是不夠的,必須創(chuàng)建對(duì)應(yīng)的圖形顯示項(xiàng)目。 在該模版屬性窗口中點(diǎn)擊“圖形”鏈接,在右側(cè)點(diǎn)擊“新建圖形”按鈕,在打開窗口中輸入其名稱(例如“CPU Graph”),在“項(xiàng)目”欄中點(diǎn)擊“添加”鏈接,導(dǎo)入上述兩個(gè)監(jiān)控項(xiàng)。點(diǎn)擊“添加”按鈕即可。 在上述主機(jī)列表中群組中選擇“WinServer1”主機(jī)(如圖3),在其屬性窗口中的“模版”面板中的“鏈接新模版”欄目中點(diǎn)擊“選擇”按鈕,選擇上述名為“moban”的模版,點(diǎn)擊“添加”按鈕將其綁定到該主機(jī)上。 點(diǎn)擊“更新”按鈕,可以看到該主機(jī)已經(jīng)擁有了指定的監(jiān)控項(xiàng)。 然 后 選 擇“監(jiān) 控中”→“儀表板”→“圖形”項(xiàng),再在“群組”列表中選擇“WindowsServer” 項(xiàng),最后在“主機(jī)”列表中選擇“WinServer1”項(xiàng),等待一會(huì)即可顯示對(duì)應(yīng)的監(jiān)控圖表了。 監(jiān)控Linux服務(wù)器 當(dāng)使用Zabbix對(duì)Linux服務(wù)器進(jìn)行監(jiān)控時(shí),需要在目標(biāo)服務(wù)器上執(zhí)行“yum install zabbix-agebt”命令,安裝所需的客戶端程序。 執(zhí) 行“vim /etc/zabbix/zabbix_agentd.conf”命 令,在“Server=”,“ServerActive=” 和“Hostname=”行中分別輸入Zabbix服務(wù)器的IP地址。 執(zhí) 行“/etc/init.d/iptables stop”命令,關(guān)閉Linux防火墻。 執(zhí)行“setenforce 0”命令,關(guān)閉Selinux。 執(zhí) 行“vim /etc/selinux/config”命 令,將“SELINUX=enforcing”修改為“SELINUX=disabled”,在下次啟動(dòng)時(shí)關(guān)閉SeLinux。 執(zhí) 行“chkconfig zabbix-agentd on”命令,讓代理程序可以在開機(jī)時(shí)自動(dòng)運(yùn)行。 執(zhí) 行“/etc/init.d/zabbix-agent start”命令,啟動(dòng)Zabbix客戶端程序。 進(jìn)入Zabbix服務(wù)器管理界面,按照上述方法創(chuàng)建主機(jī),輸入目標(biāo)LInux主機(jī)的名稱(例如“LinuxSrv”),在“群 組”中 導(dǎo) 入“Linux servers”項(xiàng)。 在“模版”面板中點(diǎn)擊選擇按鈕,選擇“Template OS Linux”項(xiàng)。 點(diǎn)擊“添加”按鈕,創(chuàng)建該主機(jī)項(xiàng)目。 選擇“監(jiān)控中”→“儀表板”→“圖形”項(xiàng),在“群組”列表中選擇“Linux servers”項(xiàng)。 在“主機(jī)”列表中選擇該Linux主機(jī),在“圖形”列表中選擇合適的監(jiān)控項(xiàng)目(例如“CPU utilizaton”),稍后即可顯示對(duì)應(yīng)的監(jiān)控圖表。因?yàn)槭褂昧祟A(yù)設(shè)的模版,所以可以直接使用各種監(jiān)控項(xiàng)目。