安装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. windows下node配置npm全局路径(踩坑)

    事情的起因是:Koa要求v7.6.0以上的nodejs. 但是window环境下升级node不容易,试过npm install -g n 和n stable等命令无效,而网上推荐的nvm并不支持win ...

  2. 6.1Go方法

    第六章 Go方法 在第三章中讲解了struct,面向对象编程OOP已经是一个编程范式了,Go语言同样支持OOP开发. 一个对象就是一个变量,在这个对象中包含了一些方法,一个方法是一个和特殊类型关联的函 ...

  3. day03: copy的总结(20170215)

    import copynames = ["88xiaoming","liuhai","杨东","liuhai",&quo ...

  4. NetAnalyzer笔记 之 十二 NetAnalyzer 6.0 的使用方法 -- 1.初识NetAnalyzer

    上次写NetAnalyzer使用方法是2016年的时候了,在后来NetAnalyzer经过了巨大的版本更变,但是因为个人原因,一直未对使用方法进行更新,现在NetAnalyzer最新的6.0已经发布了 ...

  5. python3.x 基础三:装饰器

    装饰器:本质是函数,用于装饰其他函数,在不改变其他函数的调用和代码的前提下,增加新功能 原则: 1.不能修改被装饰函数的源代码 2.不能修改被装饰函数的调用方式 3.装饰函数对于被装饰函数透明 参考如 ...

  6. UVALive 3295

    题目大意:见刘汝佳<算法竞赛入门经典——训练指南>P173 解题思路: 每一个合法的三角形的三个顶点都不在同一直线上,那么问题其实就是在求所有不全在同一直线上的三点的组合数. 我们可以利用 ...

  7. 【Redis】String应用场景

    单值缓存 SET key value GET key 对象缓存 SET user: value(json格式数据) MSET user::name value1 user::balance value ...

  8. python 格式化输出(% VS format)

    提到Python中的格式化输出方法,一般来说有以下两种方式: 1)% 格式说明由%和格式字符组成,如%f,%s,%d,它的作用是将数据按照指定的格式输出.格式说明是由“%”字符开始的. #1.输出字符 ...

  9. Java中异常分类和Throw和Throws的区别

    Java中异常分类和Throw和Throws的区别 1.异常分类 Throwable是Java中所有错误和异常的超类.它的下一级是Error和Exception 1.1 Error(错误) Error ...

  10. ztree实用教程

    首先导入ztree ztree是建立在jquery的基础上的 <link href="js/zTree_v3-master/css/zTreeStyle/zTreeStyle.css& ...