安装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
配置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
配置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');

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

测试监控主机

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

elinks --dump 116.196.83.113

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

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

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

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

查看数据

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

图表

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

常用监控项

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.磁盘总和.
监控网卡流量

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

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

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

下行宽带和上行宽带.

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

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

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

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

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

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

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

监控CPU

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

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

接下来我们创建一个cpu每隔一分钟的负载监控项

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

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

创建聚合图形

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

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

02 . Zabbix配置监控项及聚合图形的更多相关文章

  1. 02.Zabbix⾃定义监控项

    1.zabbix⾃定义监控初试 如何获取系统中想监控对象的值,获取后⼜如何将该值传递给Zabbix-Server 1.1.监控系统中的对象 #(系统监控命令 + awk + 筛选条件 = 监控的状态值 ...

  2. zabbix自定义监控项、添加图形、设置触发器、远程执行命令

    监控项是在zabbix中手机数据的基础,没有监控项就没有数据,系统自带模板带有大量默认item,自定义item可以定义在模板中,在应用模板即可使用对应item:也可直接在host中定义 目标:自定义监 ...

  3. Zabbix 配置监控 & 触发器

    Zabbix 自定义监控 zabbix-agent 获取数据,然后定义,交给 zabbix-server 端 Zabbix 配置监控项 监控的内容 # 监控服务器登录用户的数量 [root@web01 ...

  4. (30)zabbix Trapper 监控项配置

    概述 zabbix获取数据有超时时间,如果一些数据需要执行比较长的时间才能获取的话,那么zabbix会出现异常,考虑到这种情况,zabbix增加了Trapper功能,客户端自己提交数据给zabbix, ...

  5. zabbix添加自定义监控项

    zabbix添加自定义监控项 author:headsen  chen   2017-10-16  17:23:17 个人原创,转载请注明作者,出处,否则依法追究法律责任 主机端配置: 首先安装好za ...

  6. zabbix自定义监控项一

    1.在agent端配置 1.1 添加自定义监控项 zabbix中监控项叫做item,监控项的取值方法叫做key item: Items是从agnet主机里面获取的所有数据.通常情况下我叫itme为监控 ...

  7. zabbix日常监控项java(四)

    yum install net-tools netstat命令 yum -y install bash-completion 命令自动补全包 https://github.com/qiueer/zab ...

  8. zabbix 自定义监控项,监控tomcat访问量

    uv:访客量.每个独立上网电脑视为一位访客.pv:访问量.页面浏览量或者点击量,访客每访问一次记录一次. 1.创建文件 /home/zabbix/pvuv_number.sh [ #/bin/bash ...

  9. zabbix自定义监控项数据类型错误

    问题描述 监控cpu使用率,脚本获取的值是浮点型  zabbix创建监控项时没有选数据类型,导致监控数据有问题. 查看 zabbix-server 日志: ::203016.768 error rea ...

随机推荐

  1. 【雕爷学编程】MicroPython动手做(06)——零基础学MaixPy之单目摄像头

    配套 OV2640摄像头:200W像素通用24P摄像头具有200万像素(1632x1232像素),其体积小.工作电压低,提供单片UXGA摄像和影像处理器的所有功能.通过SCCB总线控制,可以输出整帧. ...

  2. 数据结构----栈stack

    栈的概念与数据结构 栈(有时称为“后进先出栈”)是一个元素的有序集合,其中添加移除新元素总发生在同一端.这一端通常称为“顶部”.与顶部对应的端称为“底部”.栈的底部很重要,因为在栈中靠近底部的元素是存 ...

  3. layui 让弹窗始终居中于屏幕

    前话:今天用 layer.confirm()  弹窗的时候,滚动到页面尾部再弹窗时,发现弹窗还显示在上面,要滚动会上面才能看到. 度娘找了一个获取滚动条位置的方法: function ScollPos ...

  4. 你还不懂 Tomcat 的优化吗?

    前言 Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet.JSP 程序的首选.相信大家对于 Tomcat 已经是非常熟悉了,本 ...

  5. 一看就懂之吐血整理的 Docker 学习笔记

    前言 随着devops的兴起,Docker 近年来越来越火,容器化概念也越来越火.此篇将带你瞬间入门Docker. Docker 概述 Docker 出现的背景 在我们的开发过程中,通常是这样的一种流 ...

  6. 【C++】赋值过程中类型转换

    注意:以下内容摘自文献[1],修改了部分内容. 1.赋值过程中的类型转换 如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时自动进行类型转换. (1) 将浮点型数据(包括单.双精度)赋给 ...

  7. Java中方法的重载与重写

    1.方法的名字和参数列表称为方法的签名:每个方法具有唯一与其对应的签名: 2.方法的重载:在某个类中,存在具有多个相同名字不同参数列表的方法,称之为重载: 被重载的方法必须改变参数列表(参数个数或类型 ...

  8. word dde payload

    payload: ctrl+F9 {DDEAUTO c:\\windows\\system32\\cmd.exe "/k calc.exe" } Since this techni ...

  9. 用TensorFlow搭建一个万能的神经网络框架(持续更新)

    我一直觉得TensorFlow的深度神经网络代码非常困难且繁琐,对TensorFlow搭建模型也十分困惑,所以我近期阅读了大量的神经网络代码,终于找到了搭建神经网络的规律,各位要是觉得我的文章对你有帮 ...

  10. jQuery-简单理解

    1.概念 jQuery是js的一个类库,主要封装的是js中DOM操作部分,使用和原生js一样 2.代码展示 HTML部分 封装原理 test测试 JS部分 //声明对象 var bjsxt = {}; ...