运维的利器–监控–zabbix–第二步:建设–部署zabbix agent

监控客户端部署及添加主机

一、在 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.120051,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 =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fo安方

觉得俺的文章还行,感谢打赏,爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值