Zabbix配置监控项及聚合图形的实例代码

1.安装Zabbix Agent监控本机

安装agent软件

与server端不同,Agent只需安装zabbix-agent包

cat /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

yum -y install zabbix-agent zabbix-get

2.配置Agent并启动

vim /etc/zabbix/zabbix_agentd.conf
Server=39.108.140.0   # 被动模式 zabbix-server-ip
ServerActive=39.108.140.0  # 主动模式 zabbix-server-ip
Hostname=You-Men   # Agent端主机名,最终显示在监控页面上的名字
UnsafeUserParameters=1   # 是否限制用户自定义keys使用特殊字符

systemctl restart zabbix-agent
netstat -antp|grep agent
tcp 0 0 0.0.0.0:10050  0.0.0.0:*  LISTEN 3898/zabbix_agentd
tcp6 0 0 :::10050  :::*   LISTEN 3898/zabbix_agentd

3.配置snmp(可以不做)

zabbix除了可以使用agent获取数据之外,还可以通过snmp获取数据,为了能够让zabbix监控更多的信息,将本机的snmp功能启动起来.

yum -y install net-snmp net-snmp-utils
vim /etc/snmp/snmpd.conf
com2sec notConfigUser 39.108.140.0 public
access notConfigGroup "" any noauth exact all none none
view all included .1 80
systemctl restart snmpd && systemctl enabel snmpd
ss -anup |grep snmp # 161端口,udp协议
# 测试snmp协议工作是否正常
# snmpwalk -v 1 -c public 39.108.140.0 .1.3.6
# 使用v1版本,共同体为public,来对192.168.0.1的.1.3.6分支进行walk。

snmpwalk -v 2c -c public 39.108.140.0
# 使用v2c版本,共同体为public,对39.108.140.0进行walk。
# -v 显示当前SNMPWALK命令行版本.
# -
# 获取cisco设备39.108.140.0的接口类型

接下来我们到web界面上配置如何监控本地主机,我们看到接口上是127.0.0.1,但是我们配置文件写的是39.108.140.0,我们让这两个IP一致.点击3进去然后修改.

更新完后,跳到下面页面,稍等一会,重新载入一下页面就是可用性为绿色了

至此,监控本地主机就完成了,如果想看下监控本地主机的网卡流量就做下面图2步骤.鼠标依次根据数字挨个点,如果想要监控项是中文的话,可以做Zabbix故障例一,但是4.4版本较以前版本有所改善,监控项不是乱码,而是英文.

如果想要将这种乱码换成正常中文

如果是windows在C盘搜索simkai.tff中文楷体,拷贝/上传到服务器,然后cp到zabbix的字体目录
3.*版本:
cp /root/simkai.ttf /usr/share/zabbix/fonts/

# 不同的安装方式,路径会有所不同,所以可以直接find / -type d -type fonts找到类似的文件夹,那就是了
# 注意字体权限问题
vim /usr/share/zabbix/include/defines.inc.php
 define('ZBX_GRAPH_FONT_NAME', 'simkai');
 define('ZBX_FONT_NAME',  'simkai');

4.Zabbix监控远程主机

如果远程主机安装不上zabbix-agent,可以通过装的上的zabbix-agent的机器把包传过去

yum -y instlal yum-utils
# 下载到指定目录
yum install zabbix-agent -y --downloadonly --downloaddir=/root
1.安装zabbix agent
 # 方法一(国外源zabbix好像下载不下来包了,用上面的源):
 # rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
 yum clean all
 yum -y install zabbix-agent
 # 方法二:(使用别的机器传过来的zabbix-agent包直接rpm安装即可)
 rpm -ivh zabbix-agent-4.4.1-1.el7.x86_64.rpm

# 修改zabbix-agent配置并启动服务

 vim /etc/zabbix/zabbix_agentd.conf
 Server=192.168.244.144
 Server=192.168.244.144  //监控主机IP地址
 Hostname=agent1.zabbix.com //被监控主机到监控主机的名字
 UnsafeUserParameters=1

 systemctl start zabbix-agent
 ss -antp |grep 10050
# 接下来我们到web端进行操作
# 为了服务方便管理和易于查看。
# 监控系统中往往根据被监控的主机角色或其他属性将同类主机划分到同一个主机组中.

如果等上一段时间,可用性哪里没有红色警告,就说明这台主机被添加进来了,但是因为没有挂载模板和创建监控项,所以我们接下来尝试着挂载一下模板,然后再去创建监控项.

我们到agent端装一个nginx,然后去zabbix的web端找到此模板并挂载.

yum -y install nginx
systemctl start nginx

5.测试监控主机

接下来我们用浏览器或者elinks访问一下nginx,产生一些数据,然后去zabbix上查看变化

elinks --dump 116.196.83.113

我们以后自定义Key监控项时,先看看最新数据有没有数据过来,如果数据都不会过来,就别提图形触发器报警什么了.

至此,添加本地主机,远程主机,创建主机组,挂载模板就已经完了

6.Zabbix监控项

监控项(Items)简介

监控项是Zabbix中获得数据的基础,没有监控项,就没有数据——因为一个主机只有监控项定义了单一的指标或者需要获得的数据,监控项适用于采集数据的,多个同类的监控项可以定义成一个应用集,如,mysql增删改查以及每秒钟的读表,写表速度可以写成一个Mysql应用集.

对于监控项的示例,需要输入以下必要的信息

名称

输入CPU Load作为值,在列表中和其他地方,都会显示这个值作为监控项名称.

手动输入system.cpu.load作为值,这是监控项的一个技术上的名称,用于识别获取信息的类型,这个特定值需要是Zabbix Agent预定义值的一种.
https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/zabbix_agent # 此网址就是zabbix官网的预定义值.

信息类型

在此处选择Numeric(float),这个属性定义了获得数据的格式
你也需要减少监控项历史保留的天数,7或者14天,对于数据库而言,最佳实践是避免数据库保留过多的历史数据.
我们选择了数据类型后,暂时保持其他选项的默认值.
1> 磁盘容量Units一般为B
2> 网卡流量单位为bps
3> Mysql每秒访问量qps,例如MySQL每秒select,insert Mysql serlect

点击添加,新的监控项就出现在监控项列表中了

7.查看数据

当一个监控项定义完成后,你可能好奇他具体获取了什么值,前往监控首页,点击最新数据,选择相应的主机.看数据能不能过来以及是不是自己想要的类型.

图表

当监控项运行了一段时间后,可以查看可视化图表,如果没有可以自己创建一个,下面会有详细介绍

8.常用监控项

1.服务器网络接口进出流量和总流量
 net.if.in[if,<mode>]
 net.if.out[if,<mode>]
 net.if.total[if,<mode>]

2.服务器启动分区剩余空间
 vfs.fs.size[fs,<mode>]
 vfs.fs.size[/boot,free]

3.监控虚拟机内存
 vm.memory.size[<mode>]
 vm.memory.size[total
 vm.memory.size[free]
 vm.memory.size[wired]

4.服务器服务状态
 net.tcp.listen[port]
 net.tcp.port[<ip>,port]
 net.tcp.service[service,<ip>,<port>]
 net.tcp.service.perf[service,<ip>,<port>]

5.服务器进程数量
 proc.num[<name>,<user>,<state>,<cmdine>]
 zabbix_get -s 39.108.140.0 -k proc.num
 121
 zabbix_get -s 39.108.140.0 -k proc.num[,,run]
 3
 zabbix_get -s 39.108.140.0 -k proc.num[,,sleep]
 118

6.服务器CPU状态(浮点型,无单位)
 system.cpu.intr
 system.cpu.load[<cpu>,<mode>]
 system.cpu.num
 system.cpu.switches
 system.cpu.util[<cpu>,<type>,<mode>]
 zabbix_get -s 39.108.140.0 -k system.cpu.load[all,avg1]
 0.000000
 zabbix_get -s 39.108.140.0 -k system.cpu.load[,avg5]
 0.010000

7.磁盘IO情况
 vfs.dev.read[device,<type>,<mode>]
 vfs.dev.write[device,<type>,<mode>]
zabbix_get -s 39.108.140.0 -k vfs.dev.read[/dev/vda1]

8.监控文件修改
 vfs.file.chsum[file] # 如监控/etc/passwd ,/etc/group 文件从而知道是否有新用户创建
 vfs.file.md5sum[file]
 vfs.file.size[file] # 通常用来监控日志
 vfs.fs.size[fs,<mode>]

9.磁盘总和.

10.监控网卡流量

我们先创建一个应用集,这样的话之后创建的网卡上传,下载,总流量不会显的很乱,都在一个Network应用集里面,而且能导出成xml文件,放到其他的zabbxi主机上能直接用.

我们此刻做的创建监控项是利用zabbix安装好自带的监控项,跟自定义Key差不多,都是写一个监控脚本然后传参,每一个键值相当于一个监控脚本

接下来我们检测---> 主机群组里面去查看下最新数据,我们可以从下图看到是有数据的

下行宽带和上行宽带.

下载就是in,下行宽带,你发出去的就是out,作为一个服务器来说上行宽带肯定要高,在家里就是下行宽带高,对服务器来说他需要接收很少的数据包,回复很多的数据包,而在家里我们是发出去一个很小的数据包,返回来整个网页.

接下来我们再去创建一个网卡输出流量,然后将他们做成一个图标,以图形化展示出来

接下来我们再去监测里面去查看最新数据,可以养成这个习惯,因为最新数据过来了才是说明当中数据流向没有问题,如果数据都没有过来你去创建图形,图表说没有数据,你觉得得等一会,浪费时间影响效率

可以看到,两个监控项都是有数据的,接下来我们去创建图形

接下来我们去查看监测 ---> 图形,选择相应群组,相应的主机及创建的图形

这台主机可以装一个nginx,然后上传一张大一点图片到网站根目录,然后访问,再查看网络波动图.

或者我们直接上传一个大点的rpm、tar包到其他主机.这样看着明显

11.监控CPU

跟刚才一样,创建一个CPU应用集,方便管理归纳

接下来我们创建应用集的监控项,cpuintr,cpu中断数

接下来我们创建一个cpu每隔一分钟的负载监控项
通过下图,我们可以看到,每个监控项都是有数据过来的,接下来我们去创建图形

我们可以看到,数据是可以实时转换成图标的,接下来我们去做一个聚合图形

12.创建聚合图形

至此,我们第一个构造函数完成,另外一个构造函数同理,此处就不写了,直接看结果图.

创建系统定义好的监控项,跟上面两个都差不多,多做做自然就会了,如果不习惯使用官方定义好的key,我们可以根据公司环境自己写脚本自定义key,此章完结.

总结

到此这篇关于Zabbix配置监控项及聚合图形的实例代码的文章就介绍到这了,更多相关Zabbix配置监控项及聚合图形内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Zabbix配置监控项及聚合图形的实例代码

    1.安装Zabbix Agent监控本机 安装agent软件 与server端不同,Agent只需安装zabbix-agent包 cat /etc/yum.repos.d/zabbix.repo [zabbix] name=Zabbix Official Repository - $basearch baseurl=https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/$basearch/ enabled=1 gpgcheck=1 gpgkey=

  • 关于zabbix自定义监控项和触发器问题

    目录 一.监控端口 关系说明 操作 二.监控服务 关系说明 操作 三.模板的导入和导出 一.监控端口 关系说明 触发器: 根据客户端的脚本获取值,当客户端的某项值达到要求后,将发出告警 监控项:根据客户端的脚本获取值,可设定采集值得间隔时间,将值保留记录下来,可形成曲线图 应用集:用来分类存放监控项,比如将监控80,8080等web服务的监控项放在WEB应用集中,将监控22,21等小服务的监控项放入SMALL应用集中. 模板:模板是一套定义好的监控项的合集,任何主机连接模板,则将模板中的监控项等

  • 实时监控文本框输入字数的实例代码

    需求:实时监控文本输入框的字数,并加以限制 1.实时监控当前输入字数,直接使用onkeyup事件方法,给输入框加maxlength属性限制长度.如: <div> <textarea id="txt" maxlength="10"></textarea> <p><span id="txtNum">0</span>/10</p> </div> var tx

  • js实时监控文本框输入字数的实例代码

    需求:实时监控文本输入框的字数,并加以限制 1.实时监控当前输入字数,直接使用onkeyup事件方法,给输入框加maxlength属性限制长度.如: <div> <textarea id="txt" maxlength="10"></textarea> <p><span id="txtNum">0</span>/10</p> </div> var tx

  • 利用Matlab绘制各类特殊图形的实例代码

    Matlab绘图介绍 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作.这类操作将图形的每个图形元素(如坐标轴.曲线.文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分. Matlab绘制特殊图形 1. 绘制极坐标图 说明:使用polarplot函数绘制极

  • Python列表去重复项的N种方法(实例代码)

    说明 Python语言中列表(List)与其他语言的数组(Array)类似,是一种有序的集合数据结构,Python List可支持各种数据类型,长度也可动态调整,与JS中的数组或Java ArrayList很接近.在实际编程中,经常会遇到数组或列表去掉重复项,保持成员唯一性.实现方式有多种,比如新建列表来存储非重复项,或者在原有基础上删除掉重复的项,也可以利用数据结构来达到去重复.具体哪一种方法更好呢?以下约20种方式都可以实现,我们可以通过这些来交流和学习. 方式 ## 1. 新建列表,如果新

  • 基于react hooks,zarm组件库配置开发h5表单页面的实例代码

    最近使用React Hooks结合zarm组件库,基于js对象配置方式开发了大量的h5表单页面.大家都知道h5表单功能无非就是表单数据的收集,验证,提交,回显编辑,通常排列方式也是自上向下一行一列的方式显示 , 所以一开始就考虑封装一个配置化的页面生成方案,目前已经有多个项目基于此方式配置开发上线,思路和实现分享一下. 使用场景 任意包含表单的h5页面(使用zarm库,或自行适配自己的库) 目标 代码实现简单和简洁 基于配置 新手上手快,无学习成本 老手易扩展和维护 写之前参考了市面上的一些方案

  • zabbix如何添加监控主机和自定义监控项

    目录 系统环境 一 添加监控主机 二 添加自定义监控项 系统环境 服务端:10.0.0.61 端口10051 主机名:m01客户端:10.0.0.7 端口10050 主机名:web01 一 添加监控主机 1)配置—主机—创建主机 2) 3)配置—主机—目标 4)当ZBX是绿色的,说明成功. 二 添加自定义监控项 此处以监控当前系统的用户个数为例子. 1)首先用shell命令筛选出当前系统的用户个数(客户端) [root@web01 ~]# w 16:22:22 up 2:04, 4 users,

  • zabbix自定义监控nginx状态实现过程

    目录 1. 开启状态界面 2. 写监控脚本 3. 配置监控项 4. 配置触发器 5. 测试 zabbix自定义监控nginx状态 zabbix_server 192.168.200.145 zabbix_agentd ,nginx 192.168.200.146 1. 开启状态界面 开启status: [root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf location /status { stub_status on; allow

  • 使用 Docker安装 Zabbix并配置自定义监控项的过程详解

    目录 一.Zabbix 简介 1.监控功能 2.Zabbix 工作原理 3.Zabbix 组件 4.Zabbix 进程 二.使用 Zabbix 配置自定义监控项 1.安装 Zabbix 2.开启自定义监控项 3.编写 Nginx 自定义监控脚本 一.Zabbix 简介 Zabbix 可以用来监控各种网络参数,来保证服务器和系统的安全运行.并且 Zabbix 还提供了灵活的通知机制,以此来让系统管理员快速定位/解决存在的各种问题.是一个基于 Web 界面提供的分布式系统监控以及网络监控功能的企业级

随机推荐