文章目錄
- 監控客戶端部署及添加主機
- 一、在 zabbix-server 安裝客戶端
- 二、在本機和其他linux主機安裝zabbix agent客戶端
- 1、安裝
- 2、配置
- 3、啟動并開機自啟
- 4、添加主機
- 創建主機組
- 創建主機
- 等一會或重啟zabbix-server查看配置是否成功
- 三、在其他windows上安裝zabbix agent客戶端
- 下載windows安裝agent軟件
- 安裝
- 配置Windows_A客戶機
- 服務器開放10051端口
- 注冊windows服務并啟動
- 效果
- 附錄
監控客戶端部署及添加主機
一、在 zabbix-server 安裝客戶端
yum install zabbix-agent
systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service
命令來源:官網
二、在本機和其他linux主機安裝zabbix agent客戶端
1、安裝
方法一:服務器特別多的情況
wget https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.0-1.el7.x86_64.rpm
sz zabbix-agent-5.0.0-1.el7.x86_64.rpm
導出桌面
自己服務器直接安裝,其他服務器拖進 rpm 包再安裝
rpm -ivh zabbix-agent-4.0.29-1.el7.x86 64.rp
方法二:直接安裝
rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.0-1.el7.x86_64.rpm
疑問:httpsxxx.rpm如何長的鏈接從何而來,根據上面鏈接,不難發現是來自于清華鏡像,所以選擇鏡像要根據自己安裝的版本來選擇
2、配置
修改zabbix_agent配置文件
vim /etc/zabbix/zabbix_agentd.conf
修改下面server ip為搭建的zabbix server ip,本文是192.168.10.100
server=192.168.10.100
3、啟動并開機自啟
systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service
4、添加主機
創建主機組
創建主機
等一會或重啟zabbix-server查看配置是否成功
三、在其他windows上安裝zabbix agent客戶端
下載windows安裝agent軟件
官網下載相關agent軟件
安裝
將壓縮包解壓到d:\zabbix1(自己定文件夾名字和位置即可)里。打開conf\zabbix_agentd.win.conf
文件,配置如下
LogFile=D:\zabbix1\zabbix_agentd.log
Server=192.168.10.100 #80行,指定 zabbix 服務端的 IP 地址
ServerActive=192.168.10.100 #133行,指定 zabbix 服務端的 IP 地址
Hostname=Windows_A #144行,指定當前 zabbix 客戶端的主機名
logfile
: zabbix日志存放地址。
Server
:用于被動模式,指定允許哪臺服務器拉取當前服務器的數據,當agent端工作于被動模式,則代表server端會主動拉取agent端數據,那么server端的IP必須與此參數的IP對應,此參數用于實現基于IP的訪問控制,如果有多個IP,可以使用逗號隔開。
ServerActive
:用于主動模式,此參數用于指定當agent端工作于主動模式時,將信息主動推送到哪臺server上,當有多個IP時,可以用逗號隔開。
Hostname
:主機名,等會要在zabbix-server上配置。
驗證端口啟動情況:
配置Windows_A客戶機
打開zabbix-web界面,配置
->主機
->右上腳創建主機
,配置上面寫的Hostname
,名稱和上面保存一致
服務器開放10051端口
這點要注意,如zabbix-server那臺服務器沒對外開放10051
端口,會連接不上。
firewall
防火墻
firewall-cmd --zone=public --add-port=10051/tcp --permanent
firewall-cmd --reload
iptables
防火墻
iptables -A INPUT -p tcp --dport 10051 -j ACCEPT
#保存上述規則
service iptables save
#重啟服務
systemctl restart iptables.service
注冊windows服務并啟動
在管理身體打開cmd,如果是windows10用戶,按windows+x出面的界面選擇Windows PowerShell(管理員)(A)。這點要注意,必需以管理員運行,不然會報執行錯誤
注冊服務命令:D:\zabbix1\bin\zabbix_agentd.exe -c D:\zabbix1\conf\zabbix_agentd.win.conf -i
結果如下
PS D:\zabbix1\bin\zabbix_agentd.exe -c D:\zabbix\conf\zabbix_agentd.win.conf -i
zabbix_agentd.exe [557628]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [557628]: event source [Zabbix Agent] installed successfully
疑問:路徑怎么來的,其實就是一開始下載的軟件解壓的路徑
啟動服務:D:\zabbix1\bin\zabbix_agentd.exe -c D:\zabbix1\conf\zabbix_agentd.win.conf -s
結果如下
PS D:\> D:\zabbix\bin\zabbix_agentd.exe -c D:\zabbix\conf\zabbix_agentd.win.conf -s
zabbix_agentd.exe [536552]: service [Zabbix Agent] started successfully
安裝和卸載zabbix agent服務:
C:\zabbix0\bin\zabbix_agentd.exe -i -c C:\zabbix0\conf\zabbix_agentd.conf
#安裝zabbix客戶端
C:\zabbix0\bin\zabbix_agentd.exe -s -c C:\zabbix0\conf\zabbix_agentd.conf
#啟動zabbix服務
C:\zabbix0\bin\zabbix_agentd.exe -d -c C:\zabbix0\conf\zabbix_agentd.conf
#卸載zabbix客戶端
C:\zabbix0\bin\zabbix_agentd.exe -x -c C:\zabbix0\conf\zabbix_agentd.conf
#關閉zabbix服務
查看D:\zabbix1\zabbix_agentd.log
日志如下
563728:20190130:104738.021 using configuration file: D:\zabbix\conf\zabbix_agentd.win.conf
563728:20190130:104738.026 agent #0 started [main process]
529528:20190130:104738.027 agent #1 started [collector]
541516:20190130:104738.028 agent #2 started [listener #1]
559776:20190130:104738.028 agent #4 started [listener #3]
563896:20190130:104738.029 agent #3 started [listener #2]
563780:20190130:104738.029 agent #5 started [active checks #1]
效果
附錄
/etc/zabbix/zabbix_agentd.conf
#這是Z??abbix代理守護程序(Unix)的配置文件
#要獲取有關Zabbix的更多信息,請訪問http://www.zabbix.com###########通用參數####################選項:PidFile
#PID文件名。
#
#必填:否
# 默認:
#PidFile = / tmp / zabbix_agentd.pid###選項:LogType
#指定日志消息的寫入位置:
#系統-syslog
#file-使用LogFile參數指定的文件
#控制臺-標準輸出
#
#必填:否
# 默認:
#LogType =文件###選項:LogFile
#LogType'file'參數的日志文件名。
#
#必填:是,如果LogType設置為file,否則為
# 默認:
#LogFile =LogFile = / tmp / zabbix_agentd.log###選項:LogFileSize
#日志文件的最大大小,以MB為單位。
#0-禁用自動日志輪換。
#
#必填:否
#范圍:0-1024
# 默認:
#LogFileSize = 1###選項:DebugLevel
#指定調試級別:
#0-有關啟動和停止Zabbix進程的基本信息
#1-重要信息
#2-錯誤信息
#3-警告
#4-用于調試(產生大量信息)
#5-擴展調試(產生更多信息)
#
#必填:否
#范圍:0-5
# 默認:
#DebugLevel = 3###選項:SourceIP
#傳出連接的源IP地址。
#
#必填:否
# 默認:
#SourceIP =###選項:DenyKey
#拒絕執行與模式匹配的項密鑰。
#可以結合AllowKey定義多個匹配規則的規則。
#密鑰模式是通配符表達式,它支持“ *”字符以在特定位置匹配任意數量的任何字符。它可能同時在鍵名和鍵參數中使用。
#根據參數的出現順序對其進行一次處理。
#如果未定義AllowKey或DenyKey規則,則允許所有密鑰。
#除非指定了另一個system.run [*]規則,否則默認情況下將添加DenyKey = system.run [*]。
#
#必填:否
# 默認:
#DenyKey = system.run [*]###選項:AllowKey
#允許執行項目鍵匹配模式。
#可以結合DenyKey定義多個密鑰匹配規則。
#密鑰模式是通配符表達式,它支持“ *”字符以在特定位置匹配任意數量的任何字符。它可能同時在鍵名和鍵參數中使用。
#根據參數的出現順序對其進行一次處理。
#如果未定義AllowKey或DenyKey規則,則允許所有密鑰。
#
#必填:否###選項:EnableRemoteCommands-已過時,請改用AllowKey = system.run [*]或DenyKey = system.run [*]
#AllowKey / DenyKey參數的內部別名,取決于值:
#0-DenyKey = system.run [*]
#1-AllowKey = system.run [*]
#
#必填:否###選項:LogRemoteCommands
#啟用對執行的shell命令的日志記錄作為警告。
#0-禁用
#1-已啟用
#
#必填:否
# 默認:
#LogRemoteCommands = 0#####被動檢查相關###選項:Server
#逗號分隔的IP地址列表,可以使用CIDR表示法,或者Zabbix服務器和Zabbix代理的DNS名稱。
#僅接受來自此處列出的主機的傳入連接。
#如果啟用了IPv6支持,則將平等對待'127.0.0.1',':: 127.0.0.1',':: ffff:127.0.0.1'
#和':: / 0'將允許任何IPv4或IPv6地址。
#'0.0.0.0/0'可用于允許任何IPv4地址。
#示例:Server = 127.0.0.1,192.168.1.0 / 24,:: 1,2001:db8 :: / 32,zabbix.example.com
#
#強制:是的,如果未將StartAgents顯式設置為0
# 默認:
#服務器=服務器= 127.0.0.1###選項:ListenPort
#代理將在此端口上偵聽來自服務器的連接。
#
#必填:否
#范圍:1024-32767
# 默認:
#ListenPort = 10050###選項:ListenIP
#代理應偵聽的逗號分隔IP地址列表。
#如果第一個IP地址連接到Zabbix服務器以檢索活動支票列表,則將其發送到Zabbix服務器。
#
#必填:否
# 默認:
#ListenIP = 0.0.0.0###選項:StartAgents
#處理被動檢查的zabbix_agentd的預分支實例數。
#如果設置為0,則禁用被動檢查,并且代理將不偵聽任何TCP端口。
#
#必填:否
#范圍:0-100
# 默認:
#StartAgents = 3#####主動檢查相關###選項:ServerActive
#逗號分隔的Zabbix服務器和Zabbix代理的IP:端口(或DNS名稱:端口)對的列表,以進行活動檢查。
#如果未指定端口,則使用默認端口。
如果指定了該主機的端口,則#IPv6地址必須用方括號括起來。
#如果未指定port,則IPv6地址的方括號是可選的。
#如果未指定此參數,則自動注冊失效功能。
#示例:ServerActive = 127.0.0.1:20051,zabbix.domain,[:: 1]:30051,:: 1,[12fc :: 1]
#
#必填:否
# 默認:
#ServerActive =ServerActive = 127.0.0.1###選項:Hostname
#唯一的,區分大小寫的主機名。
#進行主動檢查所必需,并且必須與服務器上配置的主機名匹配。
#如果未定義,則從HostnameItem獲取值。
#
#必填:否
# 默認:
#主機名=
#說明:手工自定義一個主機名,可以和系統的主機名一樣,也可以不一樣,此參數可根據實際情況啟用或關閉,建議關閉此參數,并啟用HostnameItem參數
Hostname=Zabbix server###選項:HostnameItem
#如果未定義,則用于生成主機名的項目。如果定義了主機名,則忽略。
#不支持UserParameters或別名。
#
#必填:否
# 默認:
#HostnameItem = system.hostname
#說明:system.hostname是ZABBIX內置的一個自動獲取主機名的方法,為了方便配置,建議打開此參數而關閉Hostname參數#。注意:HostnameItem的優化級低于Hostname,當兩個參數都啟用且配置的情況下,ZABBIX獲取的主機名,將以Hostname為準###選項:HostMetadata
#定義主機元數據的可選參數。
#主機元數據在主機自動注冊過程中使用。
#如果值超過255個字符的限制,代理將發出錯誤,并且不會啟動。
#如果未定義,將從HostMetadataItem獲取值。
#
#必填:否
#范圍:0-255個字符
# 默認:
#HostMetadata =
# 可選參數用來定義主機元數據,只有主機自動注冊時才用到主機元數據。
# 如果沒有定義,該值通過 HostMetadataItem 獲得。
# 如果指定的值超過限制或者不是UTF-8編碼的字符串, agent 會給出一個錯誤或者不啟動。###選項:HostMetadataItem
#可選參數,用于定義用于獲取主機元數據的項目。
#主機元數據在主機自動注冊過程中使用。
#在自動注冊請求期間,如果以下情況,座席將記錄一條警告消息
#指定項目返回的值超過255個字符的限制。
#僅當未定義HostMetadata時才使用此選項。
#
#必填:否
# 默認:
#HostMetadataItem =
# 可選參數定義 Zabbix agent 監控項, 用來得到主機元數據。HostMetadata沒有定義時,使用該參數。
# 支持 用戶自定義參數, 別名。支持 system.run[], EnableRemoteCommands 值對該參數沒有影響。
# 只有主機自動注冊時才用到主機元數據。
# 在一個自動注冊請求過程中,如果返回值超過255個字符,agent 會記錄一條警告信息。
# 監控項返回值必須為 UTF-8的字符串, 否則會忽略 。###選項:HostInterface
#定義主機接口的可選參數。
#主機接口用于主機自動注冊過程。
#如果值超過255個字符的限制,代理將發出錯誤,并且不會啟動。
#如果未定義,將從HostInterfaceItem獲取值。
#
#必填:否
#范圍:0-255個字符
# 默認:
#HostInterface =###選項:HostInterfaceItem
#可選參數,用于定義用于獲取主機接口的項目。
#主機接口用于主機自動注冊過程。
#在自動注冊請求期間,如果以下情況,座席將記錄一條警告消息
#指定項目返回的值超過255個字符的限制。
#僅在未定義HostInterface時使用此選項。
#
#必填:否
# 默認:
#HostInterfaceItem =###選項:RefreshActiveChecks
#刷新活動檢查列表的頻率(以秒為單位)。
#
#必填:否
#范圍:60-3600
# 默認:
#RefreshActiveChecks = 120###選項:BufferSend
#緩存區保存數據的最長時間(單位s)。
#
#必填:否
#范圍:1-3600
# 默認:
#BufferSend = 5###選項:BufferSize
# 數據緩存區大小. 如果緩存區滿,agent會發送所有采集到的數據給 Zabbix server 或者 proxy 。
#內存緩沖區中的最大值數。代理商將發送
#如果緩沖區已滿,則將所有收集的數據發送到Zabbix服務器或代理。
#
#必填:否
#范圍:2-65535
# 默認:
#BufferSize = 100###選項:MaxLinesPerSecond
#每秒向serve或proxy發送數據的最大行數
#或Proxy處理'log'和'logrt'活動檢查。
#提供的值將被參數'maxlines'覆蓋,
#在'log'或'logrt'項目鍵中提供。
#
#必填:否
#范圍:1-1000
# 默認:
#MaxLinesPerSecond = 20############高級參數####################選項:Alias
#為監控項的key設置別名,可以用短且簡單的key替換那些長的復雜的監控項key。
#可以存在多個 別名 參數, 而且也允許多個參數使用一個 別名 。
#不同的 別名 也可以指向同一個 item key。別名可以用于 HostMetadataItem 但不能用在HostnameItem參數中。
#例如:
#1. 檢索用戶'zabbix'的ID.
#Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1]
#現在簡寫的key zabbix.userid 即可用來檢索數據
#現在速記鍵zabbix.userid可用于檢索數據。
#必填:否
# 范圍:
# 默認:###選項:Timeout
#超時連接時間
#
#必填:否
#范圍:1-30
# 默認:
#超時= 3###選項:AllowRoot
#允許代理以“ root”身份運行。如果禁用并且代理由“ root”啟動,則該代理
#將嘗試切換到“用戶配置”選項指定的用戶。
#如果在普通用戶下啟動,則無效。
#0-不允許
#1-允許
#
#必填:否
# 默認:
#AllowRoot = 0###選項:User
#降低權限為系統中存在的指定用戶。
#以'root'身份運行且AllowRoot禁止時,該參數才起作用。
#
#必填:否
# 默認:
#用戶= zabbix###選項:Include
#您可以在配置文件的目錄中包含單個文件或所有文件。
#安裝Zabbix會在/ usr / local / etc中創建include目錄,除非在編譯時進行了修改。
#
#必填:否
# 默認:
#包括=#包括= / usr / local / etc / zabbix_agentd.userparams.conf
#包括= / usr / local / etc / zabbix_agentd.conf.d /
#包括= / usr / local / etc / zabbix_agentd.conf.d / *。conf#######用戶定義的監控參數##########選項:UnsafeUserParameters
#允許將所有字符都通過參數傳遞給用戶定義的參數。
#不允許使用以下字符:
#\'“`*?[] {}?$!&;()<> |#@
#另外,不允許換行符。
#0-不允許
#1-允許
#
#必填:否
#范圍:0-1
# 默認:
#UnsafeUserParameters = 0###選項:UserParameter
#用戶自定義參數。可以有幾個用戶定義的參數。
#格式:UserParameter = <key>,<shell命令>
#有關示例,請參見“ zabbix_agentd”目錄。
#
#必填:否
# 默認:
#UserParameter =#######可加載模塊##########選項:LoadModulePath
#代理模塊位置的完整路徑。
#默認取決于編譯選項。
#要查看默認路徑,請運行命令“ zabbix_agentd --help”。
#
#必填:否
# 默認:
#LoadModulePath = $ {libdir} / modules###選項:LoadModule
#在代理啟動時加載的模塊。模塊用于擴展代理的功能。
#格式:
#LoadModule = <模塊.so>
#LoadModule = <路徑/模塊.so>
#LoadModule = </ abs_path / module.so>
#模塊必須位于LoadModulePath指定的目錄中,或者路徑必須在模塊名稱之前。
#如果前面的路徑是絕對路徑(以“ /”開頭),則將忽略LoadModulePath。
#允許包含多個LoadModule參數。
#
#必填:否
# 默認:
#LoadModule =####### TLS相關參數##########選項:TLSConnect
#代理應如何連接到服務器或代理。用于主動檢查。
#只能指定一個值:
#未加密-連接時未加密
#psk-使用TLS和預共享密鑰進行連接
#cert-使用TLS和證書進行連接
#
#強制:是的,如果定義了TLS證書或PSK參數(即使對于“未加密”連接)
# 默認:
#TLSConnect =未加密###選項:TLSAccept
#接受哪些傳入連接。
#可以指定多個值,以逗號分隔:
#未加密-接受未加密的連接
#psk-接受使用TLS和預共享密鑰保護的連接
#cert-接受使用TLS和證書保護的連接
#
#強制:是的,如果定義了TLS證書或PSK參數(即使對于“未加密”連接)
# 默認:
#TLSAccept =未加密###選項:TLSCAFile
#包含頂級CA證書的文件的完整路徑名
#對等證書驗證。
#
#必填:否
# 默認:
#TLSCAFile =###選項:TLSCRLFile
#包含已撤銷證書的文件的完整路徑名。
#
#必填:否
# 默認:
#TLSCRLFile =###選項:TLSServerCertIssuer
#允許的服務器證書頒發者。
#
#必填:否
# 默認:
#TLSServerCertIssuer =###選項:TLSServerCertSubject
#允許的服務器證書主題。
#
#必填:否
# 默認:
#TLSServerCertSubject =###選項:TLSCertFile
#包含代理證書或證書鏈的文件的完整路徑名。
#
#必填:否
# 默認:
#TLSCertFile =###選項:TLSKeyFile
#包含代理私鑰的文件的完整路徑名。
#
#必填:否
# 默認:
#TLSKeyFile =###選項:TLSPSKIdentity
#唯一的,區分大小寫的字符串,用于標識預共享密鑰。
#
#必填:否
# 默認:
#TLSPSKIdentity =###選項:TLSPSKFile
#包含預共享密鑰的文件的完整路徑名。
#
#必填:否
# 默認:
#TLSPSKFile =#######對于高級用戶-TLS密碼套件選擇標準##########選項:TLSCipherCert13
#用于TLS 1.3或更高版本的OpenSSL 1.1.1的密碼字符串。
#覆蓋基于證書的加密的默認密碼套件選擇標準。
#
#必填:否
# 默認:
#TLSCipherCert13 =###選項:TLSCipherCert
#GnuTLS優先級字符串或OpenSSL(TLS 1.2)密碼字符串。
#覆蓋基于證書的加密的默認密碼套件選擇標準。
#GnuTLS示例:
#NONE:+ VERS-TLS1.2:+ ECDHE-RSA:+ RSA:+ AES-128-GCM:+ AES-128-CBC:+ AEAD:+ SHA256:+ SHA1:+ CURVE-ALL:+ COMP-NULL :+ SIGN-ALL:+ CTYPE-X.509
#OpenSSL示例:
#EECDH + aRSA + AES128:RSA + aRSA + AES128
#
#必填:否
# 默認:
#TLSCipherCert =###選項:TLSCipherPSK13
#用于TLS 1.3或更高版本的OpenSSL 1.1.1的密碼字符串。
#覆蓋基于PSK的加密的默認密碼套件選擇標準。
# 例子:
#TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
#
#必填:否
# 默認:
#TLSCipherPSK13 =###選項:TLSCipherPSK
#GnuTLS優先級字符串或OpenSSL(TLS 1.2)密碼字符串。
#覆蓋基于PSK的加密的默認密碼套件選擇標準。
#GnuTLS示例:
#NONE:+ VERS-TLS1.2:+ ECDHE-PSK:+ PSK:+ AES-128-GCM:+ AES-128-CBC:+ AEAD:+ SHA256:+ SHA1:+ CURVE-ALL:+ COMP-NULL :+簽名
#OpenSSL示例:
#kECDHEPSK + AES128:kPSK + AES128
#
#必填:否
# 默認:
#TLSCipherPSK =###選項:TLSCipherAll13
#用于TLS 1.3或更高版本的OpenSSL 1.1.1的密碼字符串。
#覆蓋基于證書和基于PSK的加密的默認密碼套件選擇標準。
# 例子:
#TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
#
#必填:否
# 默認:
#TLSCipherAll13 =###選項:TLSCipherAll
#GnuTLS優先級字符串或OpenSSL(TLS 1.2)密碼字符串。
#覆蓋基于證書和基于PSK的加密的默認密碼套件選擇標準。
#GnuTLS示例:
#NONE:+ VERS-TLS1.2:+ ECDHE-RSA:+ RSA:+ ECDHE-PSK:+ PSK:+ AES-128-GCM:+ AES-128-CBC:+ AEAD:+ SHA256:+ SHA1:+曲線所有:+ COMP-NULL:+簽署所有:+ CTYPE-X.509
#OpenSSL示例:
#EECDH + aRSA + AES128:RSA + aRSA + AES128:kECDHEPSK + AES128:kPSK + AES128
#
#必填:否
# 默認:
#TLSCipherAll =