Zabbix(二)
Zabbix(二)
1.Zabbix agent安装
Zabbix agent被安装在需要监控的主机上,它的主要功能是收集本地系统数据并将其发送给Zabbix服务器。这些数据可能包括CPU使用率、内存使用情况、磁盘空间、网络流量、进程状态等等。通过在被监控主机上安装agent,Zabbix可以实时地获取这些数据并在Zabbix服务器上进行处理和显示,而agent端的安装是非常方便的,接下来演示安装教程,首先直接在被监控的主机上安装如下两个即可
1 |
|
所用命令查看安装包详情
1 |
|
最重要莫过于zabbix_agentd.conf这个配置文件,在前面的学习当中,我们涉及到了zabbix的主动和被动模式,这两个模式的设置就是在zabbix_agentd.conf中,”主动模式”与”被动模式”都是对于agent端来说的,而且它们可以同时存在,并不冲突。在这个文件中,我们能够配置一些常用的agent端配置,包括zabbix_agent进程的进程编号文件路径,存储日志方式,日志文件位置,日志滚动阈值等等,在通用配置段中参数的大多数与server配置文件中的参数意义相同,这里学习下主动和被动模式参数的知识,
1 |
|
1 |
|
接下来修改主动模式的阐述
1 |
|
好了,到这里agent端也已经安装完毕了
2.Zabbix添加主机
当我们将服务器纳入到zabbix的管理范围时,便是添加主机的操作。之前也有提及过,在zabbix中,我们的监控对象称之为主机。主机的类型不一定是服务器系统,也可以是路由器,交换机等网络设备,根据主机的属性、角色和特点的不同,我们能够将主机进行分组管理,如何分组可以是感觉需求而定
首先讲述一下实验环境,zabbix的服务器ip为192.168.70.165,主机的ip为192.168.70.166,也就是zabbix-agent为被监控对象,这里进行web界面添加
下一步,打开zabbix的web控制台,查看主机组
首先点击配置主机,即可查看到被加入到zabbix主机列表的主机,其中zabbix server默认添加为了一台服务器,以便于监控自己,现在进行添加主机的操作,点击右上角的创建主机操作
在这之前先查看下zabbix—agent是否在默认端口10050当中
我这里显示是没问题的,确实在该端口运行的,接下来就是填添加主机表了:
首先是在主机名称的文本框中填写被监控主机的主机名称,这里的主机名称与设置zabbix_agent服务文件中的Hostname有关。再从接口来讲,一台主机能够被多个接口监控,所以在agent代理程序的接口选项中有添加的选择提供,当前任务为监控的centos式主机,安装了对应的agent服务,只使用agent接口对该系统进行监控记录即可
最后的代理检测程序表示是否使用zabbix proxy监控当前主机,其本意实际是用于指定zabbix proxy的,与zabbix agent并没有关系,但是因为我们没有配置zabbix_proxy,所以此处保持默认即可
接下来查看主机组的相关内容,可以发现test_hosts已被添加,并且包含了test_zabbix_1的主机情况
接下来查看可用性
在我们添加的zabbix主机1中,其对应的的ZBX是指agent接口,由于暂时还没有配置监控主机的任何指标,因此ZBX是灰色,接下来进行添加介绍
网络中有Windows和Linux主机通过配置主机元数据来区分Linux和Windows主机。执行动作将Linux 和Windows 主机分别 加入到不同群组 并分别关联“Template OS Linux”和“Template OS Windows” 模板自动注册上线
首先在zabbix的页面,转到配置的动作模块,选择自动注册为事件源,并单机创建操作
1 |
|
条件设置是发送给服务器的是否满足这个条件,如果满足则服务器添加该主机并执行对应的操作和使用
这里是对linux对符合条件的主机进行分类和操作。添加主机,添加主机到主机组test_hosts并使用linux的相应模板进行监控
接下来设置agent的文件,修改其zabbix_agentd.conf文提那家主机元数据和主机名称内容,使得其能够主动发送该内容给服务器进行甄别(记得修改服务器对应的ip地址)
1 |
|
接下来就是重启服务器
1 |
|
查看对应端口是否开始监听(1050)
1 |
|
刷新web界面可以看到已经成功自动注册了
3.Zabbix监控项
类比与liunx系统中的命令别名,在zabbix中,我们要监控的某一个指标变称之为监控项,如果要获取到监控项的相关信息,本质上是执行一个命令,但是我们并不能直接调用命令,而是通过一个别名去调用这个命令,这个别名在zabbix就称之为“key”(也称为“键”),因此,在zabbix中,我们如果需要获取到一个监控项的值,则需要对应的key,通过key能够调用到的对应命令,获取到相应的监控信息。
这里点击监控项进行添加
比较重要的是在键值一栏中,我们可以选择对应的key,也就是说,我们可以通过key,获取到cpu的上下文切换次数的信息等操作,所以,点击”选择”按钮,点击选择按钮以后,可以看到非常多的预先定义好的key,这些key都是zabbix自带的key,这些key一般都是系统级别的通用的监控项所能够用到的key,如果这些”键”不能满足我们的需求,我们则需要自定义key,此处,我们选择system.cpu.switches进行测试
除此之外,我们也可以灵活的定义时间间隔,当周一到周五业务量比较大时,可以3分钟获取一次数据,而周六周日的业务量降低时,为了减少消耗,可以设置10分钟获取一次数据,通过”自定义时间间隔”配置段,添加不同时间段的不同监测频率,其他的到使用的时候会进行详细讲解,这里不过多讲述接下来完成监控项添加:
打开应用集
可以看到,在添加玩监控项后,zbx的板块亮起,这说明我的监控项配置是成功的,但是变成了红色,这就表明出现了问题,无法完成监控,点击zbx板块,报错显示
1 |
|
这理说明我们连接失败了,我猜测是防火墙的问题,在ip166的主机中查看了防火墙状态:
很奇怪,查看了防火墙明显是关闭的,我尝试使用firewall-cmd指令也验证了firewall is not running,这说明防火墙并没有开启,抱着所以是 的态度,我启动防火墙服务后再次关闭,结果还真好了(不理解,并且大受震撼)
接下来就是查看监控数据了,打开检测表单中的最新数据显示,过滤出我们ip166的主机监控信息
从上图中,可以看到,zabbix除了为我们绘制出了图形以外,还显示出了最大值、最小值、平局值等信息(也就是左下角的乱码区域,这是由于zabbix的web前端没有中文字体,后续进行修改),以上演示中,我们已经为主机添加了第一个监控项,并且已经成功监控到了对应的数据
4.Zabbix添加参数监控项
这里我们创建一个用与监控磁盘分区的使用率的监控项,基本参考第三大点即可
这里需要注意的是,与前文的cpu监控相比,它引入了相关的参数内容,”vfs.fs.size”就是键名,”[fs,
为了方便查看变化,这里设置了180秒,接下来等待半分钟,查看对应监控数据即可,一般是设置一个小时也就是3600
5.Zabbix触发器
对于zabbix而言,我们可以将触发器理解为表达式,当满足某个不等式条件时,则代表监控项达到了我们设定的阈值,意味着发生了我们最不想看到的局面。这里想要提及的是,当触发器没被触发时,其状态显示为“ok”,当触发器被触发后,其状态就会从“ok”转变为“problem”,同理,当监控值回归到河里范围后,触发器的状态又会从“problem”转变为“ok”
这里显示主机上并没有触发器,所以触发列表为空,接下来,我们点击进入后在右上角点击创建触发器的按键
首先,我们定义一个名字为根分区使用率警报的触发器,接下来在表达式中点击添加
正如前文所提及到的,我们通过触发器定义被监控项的阈值,这里的监控项便是我们之前所定义的内容,主要是功能的设置,功能有提供一些设置的规则,想要理解这些内容并不困难,我们这设置max的功能选项
如下配置表示,当ip166主机的根分区使用最近第1次被监控到大于20%,则触发器的条件被满足,触发器将会被触发,配置如下后,点击”插入”按钮
从上面的设置中,可以看到我们之前的磁盘内存为22%,当我们设置为20时,就会触发报警,提示问题
接下来,我们修改阈值,将20改为30后刷新界面:
可以看到报警器又恢复了正常的状态。
在zabbix的监控指标出现异常,触发了触发器时,给出了多种的报警方式,我们称之为报警媒介,其主要支持邮件模式、脚本模式、短信模式以及即时通讯服务,其中短信模式中既有依赖短信网关的模式,也有收费的商业短信服务。这里主要提及三中:
Email:邮件,这是最常用也是最传统的一种报警媒介,邮件报警,zabbix通过配置好的SMTP邮件服务器向用户发送对应的报警信息。
Script:脚本,当zabbix中的某些监控项出现异常时,也可以调用自定义的脚本进行报警,脚本的使用就比较灵活,具体怎样报警全看你的脚本怎么写。
SMS:短信,如果想要使用短信报警,则需要依赖短信网关。
我们以其中的邮件作为使用报警媒介,尝试设置,首先进入管理中的报警媒介,类型,可以看到,默认已经存在一些报警媒介,我们可以对已经存在的报警媒介进行修改,也可以创建符合自己需要的报警媒介,点击左上角的创建媒体类型:
当我们创建了报警媒介时,默认类型为”电子邮件”,在类型的选项中就是我们上边所提到的几种警告媒介类型,我们需要着重讲述的就是邮件告警的两种方式,内部mail和脚本。对于内部mail而言,Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号,并且只能发送,不能接收外部邮件,还有就是使用一个可以在互联网上正常收发邮件的邮箱账号(例如:xxx@163.com),通过在Zabbix服务端中设置,使其能够发送报警邮件到指定邮箱
案例——电子邮件报警设置
首先需要配置好服务器的邮箱发送工具,安装sendmail或者postfix,由于是centos7的版本,一般来说是默认安装好postfix的
1 |
|
接下来安装邮件发送工具mailx:
1 |
|
杰西莱是需要设置mailx的内容,首先使用命令查看mailx的文件位置:
1 |
|
接下来修改mail.rc的参数
1 |
|
这里安装协议后尝试发送邮件,标题为test,邮件内容为work overtime(加班!),发送到后面的指定邮箱,我这里我使用的是公司邮箱进行测试:
1 |
|
接受完成,这里出问题被骗;了,说要设置才能发送,明明直接安装好就能发送了,只不过是被扔到垃圾邮件了
注:Zabbix中文显示问题
前面提到了zabbix的web前端没有中文字体,所以这里进行修改教程,首先我们通过进入windows页面中输入c:\windows\fonts选择其中任意一种中文字体(需要注意有点是大写F,我就是)
我这里选择的是黑体常规的中文字体,进行复制之后导入到虚拟机中,并放置到zabbix的默认字体路径下:
1 |
|
修改对应的内容信息后,刷新界面即可修改成功: