zabbix用戶端軟體安裝配置(Windows作業系統)

來源:互聯網
上載者:User

1、手工安裝zabbix用戶端

(1) 下載Windows的zabbix用戶端

從官方下載Zabbix Agent後,壓縮包裡面有2個目錄,一個為win32,另一個是win64,每個目錄下應該有3個檔案,分別 為:zabbix_agentd.exe zabbix_get.exe zabbix_sender.exe

根據作業系統不同,將檔案放在c:\zabbix目錄下

(2) 添加用戶端zabbix_agentd,conf檔案

在c:\zabbix檔案夾中建立zabbix_agentd.conf檔案,寫入如下基本內容:

LogFile=c:\zabbix\zabbix_agentd.log

PidFile=c:\zabbix\zabbix_agentd.pid

Server=<服務端IP地址>

Hostname=<用戶端主機名稱>


c.執行如下命令,把zabbix_agentd註冊為windows服務。

C:Program Fileszabbix>zabbix_agentd --config "C:Program Fileszabbixzabbix_agentd.conf --install

d.啟動zabbix_agentd服務

C:Program Fileszabbix>zabbix_agentd start

e.到windows的系統服務列表裡面查看ZabbixAgent的狀態,正常情況下你會看到ZabbixAgent已經存在在系統服務裡,而且是自動啟動。

(3) 安裝zabbix用戶端並啟動

進入到目標主機的c:\zabbix目錄下,執行如下命令完成用戶端的安裝:

zabbix_agentd.exe –c c:\zabbix\zabbix_agentd.conf -i

執行如下命令,啟動用戶端:

zabbix_agentd.exe –c c:\zabbix\zabbix_agentd.conf –s

參數含義:

-c    制定設定檔所在位置

-I     是安裝用戶端

-s     啟動用戶端

-x    停止用戶端

-d    卸載用戶端

 

2、自動化安裝zabbix用戶端

       如果要為大量Windows伺服器部署zabbix用戶端可以通過寫批次檔來完成用戶端的安裝和啟動。但是考慮到網卡流量的監控,就需要使用perl或python指令碼來實現了。

       我的perl自動化安裝指令碼見附件

       下載安裝ActiveState.Perl.Dev.Kit.Pro.v9.0,將perl程式產生exe可執行檔,放到c:\zabbix目錄下。

此外,我還寫了一個Windows批處理指令碼agentd.bat放在c:\zabbix目錄下用來對用戶端伺服器上的zabbix_agentd進行安裝、啟動、停止、卸載。指令碼內容如下:

@echo off

echo ****************************************

echo *****Zabbix Agentd Operation************

echo ****************************************

echo **  a.  start      Zabbix Agentd********

echo **  b.  stop       Zabbix Agentd********

echo **  c.  restart    Zabbix Agentd********

echo **  d.  install    Zabbix Agentd********

echo **  e.  uninstall  Zabbix Agentd********

echo ****************************************

 

choice /c:abcd /M [a]start,[b]stop,[c]install,[d]uninstall

 

if errorlevel 5 goto uninstall

if errorlevel 4 goto install

if errorlevel 3 goto restart

if errorlevel 2 goto stop

if errorlevel 1 goto start

 

:start

c:\zabbix\zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf -s

goto end

 

:stop

c:\zabbix\zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf -x

goto end

 

:restart

c:\zabbix\zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf -x

c:\zabbix\zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf -s

 

:install

c:\zabbix\zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf -i

goto end

 

:uninstall

c:\zabbix\zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf -d

goto end

 

:end

 

 

自動化安裝包製作過程如下:

(1)選擇需要打包的zabbix安裝包檔案(預設是放在C盤),右鍵選擇“添加到壓縮檔”

(2)我用的是好壓軟體,在彈出的對話方塊中,壓縮檔格式選擇為7Z,壓縮方式根據需求選擇,我選擇的是預設的標準。壓縮選項中在“建立固實壓縮檔”和“建立自解壓格式壓縮檔”前打鉤。

(3)進入自解壓選項,選擇解壓選項卡,按照下圖進行填寫:

(4) 之後點擊確定,開始進行壓縮。壓縮完畢後產生自解壓檔案zabbix.exe

(5) 安裝包解壓安裝,雙擊安裝包,點擊install即可完成軟體的安裝部署


###############################



4.15 添加對Windows伺服器的監控 4.15.1為Windows模板添加自訂監控項

Zabbix能對Windows伺服器進行監控,但是zabbix預設Windows監控模板並沒有提供更多更好的監控項目。很多監控項目需要自己手工添加或是在zabbix.agentd,conf檔案中進行自訂。

1、zabbix自訂監控Windows伺服器的原理

Zabbix為Windows伺服器的監控提供了PerfCounter(效能計數器)這個功能。Zabbix用戶端通過PerfCounter擷取Windows伺服器上的相關效能資訊,然後發送給伺服器端。

2、如何擷取Windows伺服器的PerfCounter運算式

方法一:

在Windows伺服器的控制台-&gt;管理工具-&gt;效能的系統監視器中,可以看到這些效能監控。

點擊添加計數器後,在彈出的添加計數器對話方塊中,可以在效能物件下拉式功能表中選擇相應的監控項目,然後在下面的列表中選擇需要使用的計數器,在右邊的裡表中選擇範例。點擊添加。

添加後的計數器在下面列表中可以看到

在添加的計數器上面右鍵選擇屬性,在彈出的視窗中的資料選項卡中可以看到具體的perfCounter運算式

方法二:

進入開始-&gt;運行,輸入CMD進入命令視窗。輸入typeperf –qx| more 擷取相關PerfCounter運算式。也可以配合管道輸出給find,尋找想要的相關運算式。以擷取網卡PerfCounter為例,在命令列輸入:typeperf –qx |find “Network Interface”|find /V “LoopBack”

命令的意思是,尋找和“Network Interface”相關的PerfCounter。/V是忽略和”LoopBack”迴環介面的PerfCounter

3、在zabbix中使用Perfcounter為Windows模板添加監控項

在zabbix中,使用PerfCounter的方法有兩種:

方法一:

在模板添加監控項時使用perf_counter作為key運算式:

以添加CPU空閑時間監控為例:

系統配置-&gt;模板,選擇Windows監控模板。進入監控項,點擊右上方的Create Item,建立監控項,在key中添加PerfCounter相關的參數,然後在設定一下其他選項,儲存即可。

方法二:

在用戶端設定檔zabbix_agentd.conf檔案中添加類似於Parameter自訂監控的PerfCounter參數。具體使用格式如下

PerfCounter=<監控項key運算式>,<效能計數器名稱>

以添加網卡監控為例:

修改Windows伺服器上的zabbix用戶端設定檔zabbix_agentd.conf,添加通過typeperf-qx命令擷取的和網卡相關資訊

#Network

PerfCounter=NetAllInt0,"\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Total/sec",30

PerfCounter=NetInInt0,"\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Received/sec",30

PerfCounter=NetOutInt0,"\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Sent/sec",30

PerfCounter=NetBandInt0,"\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Current Bandwidth",30

4.15.2 Windows伺服器網卡流量監控

方法一:

windows的key的關鍵字可以使用網卡的ip地址來替代。例如:net.if.out[192.168.101.1,bytes]

方法二:

如果更改了ip地址,上面的方法就不靈了。使用Macro能比較好的解決監控本地網卡的需求net.if.out[{IPADDRESS},bytes]

方法三:

Macro中的{IPADDRESS}只是擷取主機的外網IP地址,對於多網卡的主機來說內網網卡就監控不到了。在用戶端設定檔中使用PerfCounter可以解決這個問題。但每個機器的網卡型號不一定相同,因此typeperf的輸出也不一樣。我寫了個perl指令碼,來解決這個問題。

use strict;

use warnings;

#添加對網卡的監控

my @network=`typeperf -qx |find "Network Interface"|find /V "Loopback"|find "Bytes Total"`;

my $i=0;

foreach my $int (@network)

{

if($int=~ /^(\\Network Interface.*\\).*$/)

{

my $intname=($1);

open OUT_FILE, "&gt;&gt;c:\\zabbix\\zabbix_agentd.conf" or die("Could not write the file");

print OUT_FILE &lt;&lt;EOF;

#Network

PerfCounter=NetAllInt${i},"${intname}Bytes Total/sec",30

PerfCounter=NetInInt${i},"${intname}Bytes Received/sec",30

PerfCounter=NetOutInt${i},"${intname}Bytes Sent/sec",30

PerfCounter=NetBandInt${i},"${intname}Current Bandwidth",30

EOF

close(OUT_FILE);

$i++;

}

}

不同的windows伺服器只要運行這個指令碼,就可以根據伺服器上網卡型號還有網卡數量,將監控寫入到zabbix_agentd.conf設定檔中。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.