第2章zabbix基础进阶

oldxulinux oldxulinux     2022-08-26     251

关键词:

1.1自定义添加item

Items可以存在于模板(Template)中,也可以存在于主机(Host)中,模板的作用是可以复用,对需要重复配置的监控项归类。

下面演示如何在bjstack模板中添加一个Items,Keymemory.uasge[MemTotal]以及memory.uasge[MemFree]

1.配置zabbix-agent配置文件,添加自定义key,修改配置文件必须重启agent

/etc/zabbix/zabbix_agentd.conf中配置参数,写法如下:

UserParameter=memory.uasge[*],/bin/cat /proc/meminfo |grep "$1"|awk '{print $$2}'

2.测试key是否能获取值

[root@linux-node1 ~]# yum install zabbix-get -y

[root@linux-node1 ~]# zabbix_get -s 192.168.90.12 -k memory.uasge[MemTotal]

494328

[root@linux-node1 ~]# zabbix_get -s 192.168.90.12 -k memory.uasge[MemFree]

76584

确保能获取到的值,就说明Key配置是正确的。提示:zabbix_get仅能测试获取Agent监控方式的Key值,不能获取其他类型的数据。

3.bjstack模板中默认不存在统计总内存的大小的Items,故我们需要自己添加item,添加方法:单击ConfigurationTemplatesbjstackitemsCreate item,如图1-10所示

1-10

4.自己定义的Key,手动添加即可

1-11

5.完整的key如图1-12 (自定义key基本上都是如下模式,更多请看Zabbix监控实践)

1-12

1.2Items key小结

用户自定义参数(UserParameter)仅支持Agent方式,对于其他方式,它是不支持的。

1.Key自定义的语法格式

/etc/zabbix/zabbix_agentd.conf中配置参数,写法如下。

UserParameter=key,command

除了上面这种写法,还支持参数传递的写法,具体如下。

UserParameter=key[*],command $1 $2 $3 ….

2.自定义Key中的特殊字符处理

如果Userparameter包含\’”`*[]{}~$!&;()<>|#@这些字符,默认情况下,Zabbix对这些参数是无法正常处理的,需要在Zabbix_agentd.conf中开启参数UnsafeUserParameters,并将其值设置为1,语句如下。

[root@linux-node1 ~]#vim /etc/zabbix/zabbix_agentd.conf

UnsafeUserParameters=1

3.自定义Key的例子

UserParameter=login-user,uptime|awk  -F ' ' '{print $4}'

然后重启zabbix_agent 服务(注意:修改配置文件必须重启。)

[root@linux-node1 ~]# zabbix_get -s 192.168.90.12 -k login-user #运行测试命令,查看下Key

2

4.子配置文件的配置

为了便于维护和分类管理,UserParameter的内容可以单独写一个配置文件。

[root@linux-node1 ~]#vim /etc/zabbix/zabbix_agentd.conf

Include=/etc/zabbix/zabbix_agentd.d/

Includezabbix_agentd.conf中部分内容的子配置文件,注意:zabbix_agentd.conf.d/文件下所有的配置文件都会被当做子配置文件,如果有重复,会导致客户端Agent启动失败。

5.用户自定义参数总结

自定义Key的语法。

特殊字符的处理。

子配置文件的注意事项。

注意:

1.用户自定义参数一定要包含一个key和一个命令,也可以是一个脚本

2.key在整个系统是唯一的,一个key可以定义多个items

3.用户自定义参数返回值,最大返回512

4.自定义完后,重启服务测试Key

1.3Zabbix常用Key

1.3.1CPUKey

system.cpu.intr #设备中断整数

system.cpu.load[<cpu>,<mode>] #CPU负载   

system.cpu.num[<type>] #CPU数量处理器个数type

system.cpu.switches #上下文交换交换次数

system.cpu.util[<cpu>,<type>,<mode>] #CPU利用率百分比

建议:

CPU负载、上下文、使用率等在Template OS Linux这个模板中存在,需要调整触发器,因为默认触发器较低(通过百分比来触发报警。)

1.3.2内存的key

vm.memory.size[<mode>] #内存大小字节或百分比

system.swap.in[<device>,<type>] #磁盘交换到交换分期

system.swap.out[<device>,<type>] #交换分期到磁盘

system.swap.size[<device>,<type>] #交换分区大小或者百分比

建议:

内存在Template OS Linux这个模板中存在,调整下触发器即可(通过百分比来触发报警。)

1.3.3磁盘的key

vfs.dev.read[<device>,<type>,<mode>]  #磁盘读取状态整数

vfs.dev.write[<device>,<type>,<mode>] #磁盘写入状态整数

vfs.fs.inode[fs,<mode>] #磁盘inode数量pfree (空闲百分比), pused (使用百分比)

建议:

默认Template OS Linux模板有自动发现磁盘,以及外接数据盘,只需要修改自动触发器即可。(如果需要监控inode,则可以通过自带key,也可以通过自定义方式)

1.3.4网卡流量Key

net.if.in[if,<mode>]  #网卡入口流量

net.if.out[if,<mode>] #网卡出口流量

net.if.total[if,<mode>] #网卡进/出流量的总和

建议:

默认Template OS Linux模板都有自动发现网卡功能,所以基本我们只需要根据业务的流量来调整不同的触发器。

1.3.5监控端口的Key

net.tcp.listen[port] #检测TCP端口是否开启

net.udp.listen[port] ##检测UDP端口是否开启

net.tcp.port[<ip>,port] #连接到指定的TCP端口

net.tcp.service[service,<ip>,<port>] #检测服务是否开启,并且端口可用

建议:

默认Template OS Linux没有端口检测,可以根据实际情况监控端口以及服务(也可以通过自定义脚本来实现)

1.3.6监控文件的key

vfs.file.cksum[file] #计算文件校验

vfs.file.contents[file,<encoding>] #获取文本内容若为空,只返回 LF/CR characters.

vfs.file.exists[file] #检测文件是否存在1:存在 0:不存在

vfs.file.md5sum[file] #文件MD5校验码文件MD5哈希值

vfs.file.size[file] #文件大小字节fzabbix必须有可读此文件的权限

vfs.file.time[file,<mode>] #文件时间信息Unix 时间戳. modemodify (默认, 修改时间), access 最后访问时间, change 最后改变时间

建议:

默认Template OS Linux只有一个文件校验/etc/passwd,可根据不同的文件来做不同校验或者大小的控制。

1.3.7监控进程的key

kernel.maxfiles #系统支持最大的open files整数

kernel.maxproc #系统支持最大的进程数量整数

建议:

进程在Template OS Linux这个模板中存在,调整下触发器即可(低于多少即触发)

springcloudalibaba微服务从入门到进阶完整版

...程需要的环境搭建和一些常用的快捷键介绍.第2章SpringBoot基础前期先带着学习SpringBoot基础,创建SpringBoot项目,讲解SpringBoot的配置,是学习SpringCloudAlibaba的必知必会.第3章微服务的拆分与编写这一章讲解的微服务的概念,使用场景,建... 查看详情

kotlin系统入门与进阶

...er数据类型  2-3拆箱装箱与Char数据类型  2-4基础数据类型转换与字符串  2-5类和对象  2-6空类 查看详情

《androidapp开发进阶与项目实战》出版后记

...roidApp开发进阶与项目实战》,因为开发入门一书比较基础,还需要一本讲解高级开发与新技术的进阶书籍。App开发入门与App开发进阶两本图书同时也是对《AndroidStudio开发实战从零基础到App上线(第2版)》的全面升级,... 查看详情

入门到精通❤️「java工程师全栈知识路线」

...Vue组件】第5章Vue.js高效前端开发•【五、AntDesignofVue框架基础】第6章Vue.js高效前端开发•【六、AntDesignofVue框架进阶】Spring企业级程序设计(spring)章节内容实践练习Spring企业级程序设计目录(实践练习知识)第1... 查看详情

第6章zabbix分布式监控

Zabbix是一个分布式的监控系统。分布式监控适合跨机房、跨地域的网络监控。从多个Proxy收集数据,而每个Proxy可以采集多个设备的数据,从而轻松地构建分布式监控系统。ZabbixProxy可以用在以下环境中。1.监控远程区域。2.监控... 查看详情

全新升级kotlin系统入门与进阶

第1章课程介绍(需具备Java基础)本章主要介绍什么是Kotlin,课程安排,以及开发环境的配置。第2章数据类型(难度系数:☆)本章主要讲解Kotlin的基本词法,从类型系统入手为大家介绍Kotlin中都存在哪些类型,以及相关的特性... 查看详情

docker从入门到实战应用(代码片段)

第1章概念第2章基础操作-镜像第3章基础操作-容器第4章容器的修改及保存第5章容器进阶操作第6章Dockerfile第1章概念什么是沙箱机制#1、沙箱是一个虚拟系统程序,沙箱提供的环境相对于每一个运行的程序都是独立的,而且不会对... 查看详情

tensorflow怎样入门,怎样快速学习?

...imator使用与tf1.0.rar第4章Tensorflowdataset使用.rar第3章Tensorflow基础API使用.rar第2章Tensorflowkeras实战.rar第1章Tensorflow简介与环境搭建.rar第10章机器翻译.rar000.课程代码.rar  参考技术A推荐资料1.吴恩达深度学习笔记中的TensorFlow部分... 查看详情

全新升级kotlin系统入门与进阶

第1章课程介绍(需具备Java基础)本章主要介绍什么是Kotlin,课程安排,以及开发环境的配置。项目实战移步-->《Kotlin打造完整电商APP模块化+MVP+主流框架》:http://coding.imooc.com/class/166.html1-1课程导学1-2什么是Kotlin?第2章数据... 查看详情

spark进阶大数据离线与实时项目实战完整版

...读写速度。本章将从Redis特性、应用场景出发,到Redis的基础命令,再到Redis的常用数据类型实操,最后通过JavaAPI来操作Redis,为后续实时处理项目打下坚实的基础...第3章HBase入门HBase是一个分布式的、面 查看详情

第4章zabbix监控实践

硬件监控:ZabbixIPMIInterface系统监控:ZabbixAgentInterfaceJava监控:ZabbixJMXInterface网络设备监控:ZabbixSNMPInterface应用服务监控:ZabbixAgentUserParameterMySQL数据库监控:percona-monitoring-plulginsURL监控:ZabbixWeb?监控这一下子把之前干的工作全... 查看详情

第4章zabbix监控实践

硬件监控:ZabbixIPMIInterface系统监控:ZabbixAgentInterfaceJava监控:ZabbixJMXInterface网络设备监控:ZabbixSNMPInterface应用服务监控:ZabbixAgentUserParameterMySQL数据库监控:percona-monitoring-plulginsURL监控:ZabbixWeb?监控这一下子把之前干的工作全... 查看详情

第3章zabbix完整监控

Zabbix的监控流程可以简单描述为:数据采集-->数据存储-->数据分析-->数据展示-->监控报警数据采集:Zabbix通过SNMP、Agent、ICMP、SSH、IPMI等进行数据采集数据存储:Zabbix存储在MySQL上,也可以存储在其他数据库数据展示:we... 查看详情

第2章逻辑代数基础

第2章逻辑代数基础一、逻辑代数中的三种基本运算二、逻辑代数的公式1.基本公式2.常用公式A+AB=AA+AB=AA+AB=AA+A′B=(A+A′)(A+B)=A+BA+A^\\primeB=(A+A^\\prime)(A+B)=A+BA+ 查看详情

第5章zabbix自动化监控

...仅是一个恐怖的工作,而且也无法保证完整性。可以使用Zabbix被动模式的自动发现,主动的对全网进行扫描,然后自动添加相关的监控服务器和引用监控模板。1.1ZabbixServer自动发现1.修改zabbix-agent.conf文件,确认agent运行在被动模... 查看详情

第3章zabbix完整监控

p.MsoNormal,li.MsoNormal,div.MsoNormal{margin:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:5.0pt;line-height:150%;font-size:10.5pt;font-family:Consolas}h1{margin-top:17.0pt;margin-right:0c 查看详情

20200109《jquery基础教程》归档

目录前言第1章:jQuery入门第2章:选择元素第3章:事件第4章:样式和动画第5章:操作DOM第6章:通过Ajax发送数据第7章:使用插件第8章:开发插件第9章:高级选择符与遍历第10章:高级事件处理第11章:高级效果第12章:高级DOM... 查看详情

第2章基础核心

学习要点:1.代码风格2.加载模式3.对象互换4.多个库之间的冲突一.代码风格在jQuery程序中,不管是页面元素的选择、内置的功能函数,都是美元符号“$”来起始的。而这个“$”就是jQuery当中最重要且独有的对象:j... 查看详情