https://www.zabbix.com/downloads/3.4.0/zabbix_agents_3.4.0.win.zipmysql
查看目錄結構sql
conf目錄存放的是agent的配置文件shell
bin目錄存放的Windows下32位和64位安裝程序數據庫
建立logs目錄存放zabbix_agent日誌windows
# 須要建立logs目錄存放zabbix_agent的日誌 LogFile=d:\zabbix\logs\zabbix_agentd.log # 指定zabbix-server的ip, Server=192.168.1.65 # 指定server端的ip:interface ServerActive=192.168.1.65 # 指定主機名 Hostname=Windows-host-test
其中Server和ServerActive都指定zabbix Server的IP地址,不一樣的是,前者是被動後者是主動。也就是說Server這個配置是用來容許192.168.1.65這個ip來我這取數據。而ServerActive的192.168.1.65的意思是,客戶端主動提交數據給他。bash
> D:\zabbix\bin\win64\zabbix_agentd.exe -i -c d:\zabbix\conf\zabbix_agentd.win.conf
zabbix_agentd.exe [8288]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [8288]: event
source
[Zabbix Agent] installed successfull
D:\zabbix\bin\win64> zabbix_agentd.exe -c d:\zabbix\conf\zabbix_agentd.win.conf -s
D:\zabbix\bin\win64> zabbix_agentd.exe -c d:\zabbix\conf\zabbix_agentd.win.conf -x
D:\zabbix\bin\win64> zabbix_agentd.exe -c d:\zabbix\conf\zabbix_agentd.win.conf -d
控制面板--à選擇windows 防火牆--à高級設置--à設置入站規則--à新建規則測試
設置開機啓動spa
運行services.msc日誌
zabbix_agentd.exe命令說明code
-c 制定配置文件所在位置
-i 安裝客戶端
-s 啓動客戶端
-x 中止客戶端
-d 卸載客戶端
要想在Windows上取得MySQL的狀態數據,能夠用vbs腳本運行mysql命令,
第一步,腳本下載:http://pan.baidu.com/s/1eSDaiS6下載好後,放到一個文件夾中,好比d:\Zabbix\Scripts
第二步,修改windows上的zabbix_agentd.comf文件,設置key值。在UserParameter下面加兩句;
UserParameter=mysql.status[*], cscript /nologo d:\Zabbix\Scripts\MySQL_Ext-Status_Script.vbs $1
UserParameter=mysql.ping, cscript /nologo d:\Zabbix\Scripts\MySql_Ping.vbs
第三步,重啓zabbix_agentd。到zabbix_server上把mysql模板應用到主機上,查看items狀態。
而後我就看到這樣:
一、在zabbix.conf中添加如下字段信息
Include=D:\zabbix\conf\zabbix_agents.conf.d\*.conf
二、如下目錄中新增一個目錄和一個disk.conf文件
D:\zabbix\conf\zabbix_agents.conf.d\mysql.conf
三、mysql.conf
UserParameter=mysql.status[*], cscript /nologo D:\zabbix\bin\Scripts\MysqlMonitoring\MySQL_Ext-Status_Script.vbs $1 UserParameter=mysql.ping, cscript /nologo D:\\zabbix\bin\Scripts\MysqlMonitoring\MySql_Ping.vbs
四、將網盤中的Zabbix_Monitor文件夾至D盤的根目錄,附MySQL_Ext-Status_Script.vbs、MySQL_Ping.vbs腳本信息 4.一、MySQL_Ext-Status_Script.vbs
Set objFS = CreateObject("Scripting.FileSystemObject") Set objArgs = WScript.Arguments str1 = getCommandOutput("D:\MYOA\mysql5\bin\mysqladmin.exe -uroot -pmyoa888 --port=3336 extended-status") Arg = objArgs(0) str2 = Split(str1,"|") For i = LBound(str2) to UBound(str2) If Trim(str2(i)) = Arg Then WScript.Echo TRIM(str2(i+1)) Exit For End If next Function getCommandOutput(theCommand) Dim objShell, objCmdExec Set objShell = CreateObject("WScript.Shell") Set objCmdExec = objshell.exec(thecommand) getCommandOutput = objCmdExec.StdOut.ReadAll end Function
注:str1 = getCommandOutput("D:\MYOA\mysql5\bin\mysqladmin.exe -uroot -pmyoa888 --port=3336 extended-status") 根據實際狀況修改
4.二、MySQL_Ping.vbs
Set objFS = CreateObject("Scripting.FileSystemObject") Set objArgs = WScript.Arguments str1 = getCommandOutput("E:\MYOA\mysql5\bin\mysqladmin.exe -uroot -pmyoa888 --port=3336 ping") If Instr(str1,"alive") > 0 Then WScript.Echo 1 Else WScript.Echo 0 End If Function getCommandOutput(theCommand) Dim objShell, objCmdExec Set objShell = CreateObject("WScript.Shell") Set objCmdExec = objshell.exec(thecommand) getCommandOutput = objCmdExec.StdOut.ReadAll end Function
五、重啓ZABBIX Agentd服務、服務端使用zabbix_get測試是是否能抓取到結果。
[root@localhost ~]# zabbix_get -s 192.168.0.77 -k mysql.ping 1