zabbix系列之七——安装后配置二Userparameters
1User parameters(用户自定义参数)
1.1配置
|
描述 |
详细 |
备注 |
|
简介 |
1执行zabbix中未预定义的agent check时使用 |
|
|
配置 |
1) zabbix agent的配置文件中增加UserParameter参数,并编写接收数据命令行格式如下:UserParameter=<key>,<command> 2) 配置好后重启agent 3) 配置监控项item,item中的key对应UserParameter中的key(用于引用要执行的命令command) 4) Command命令在agent端执行,在item处理前可返回最大512KB数据,但保存到msyql中最大为64KB |
1)说明:key用于区分item(唯一性) /bin/sh 作为unix操作系统下的解释器 2)简单用户参数样例: a)UserParameter=ping,echo 1 定义的ping(作为key)返回常量1 b)UserParameter=mysql.ping,mysqladmin -uroot ping | grep -c alive 如果mysql服务器在线则返回1,否则返回0 c)灵活的用户参数 UserParameter=key[*],command key[*]即key可以为[ ]中的参数,参数在配置item时给出。 zabbix分析item key中[]内的参数,并依次替代命令中$1,…$9部分。 $0替换为原始命令。位置引用将被解释(无论是”还是’引用)。 通过双$标记使用位置引用如’{print $$2}’,其中$$2将在执行命令时自动转为$2。 注意$位置引用仅在flexible user parameters情况下有效,简单用户参数中直接被忽略 灵活用户参数样例: 可定义任意满足*的key,item中的key可以如ping[0],ping[aaa],并返回常量0,aaa UserParameter=mysql.ping[*],mysqladmin 可用于监控mysql性能, item中的key可以如:mysql.ping[zabbix,our_password] UserParameter=wc[*],grep -c 可用于统计文件行数,item中的key可以如:wc[/etc/passwd,root]或 wc[/etc/services,zabbix] |
|
命令结果 |
命令的返回值与标准错误一起按照标准输出。 在标准错误输出的情况下,文本(字符、日志或文本信息类型)监控项将被支持。 |
1.2扩展zabbix代理
监控mysql实现
|
步骤 |
详细 |
备注 |
|
1 |
编写脚本或命令行检索需要的参数,如 mysqladmin -uroot status | cut -f4 查询sql查询总数 |
|
|
2 |
1)将命令添加到zabbix_agentd.conf UserParameter=mysql.questions,mysqladmin mysql.questions 是一个唯一的标识符。Item中的Key对应选择该标识 2)测试参数; zabbix_agentd -t mysql.questions 即调用mysql.questions对应的脚本命令 |
本文实际: UserParameter=mysql.questions,mysql -u 不输入密码报错,不输入h无法本地登录(可能未设置本地localhost登录) |
|
3 |
1)重启zabbix agent,代理将重新加载配置文件 可用zabbix_get测试获取值: zabbix_get 如果zabbix_get未安装,执行命令安装: yum |
https://www.zabbix.com/documentation/3.4/zh/manual/concepts/get 本文实际: zabbix_get -s 14.215.130.184 -p 10050 -k |
|
4 |
添加监控项item: Name: mysql questions num Key:mysql.questions Type: zabbix agent(或动态agent) 注意,设置正确的返回值类型,否则zabbix将不接收 |
2Loadable modules可加载模块
仅针对Unix平台实现可加载模块的支持。
2.1概述
|
描述 |
详细 |
备注 |
|
功能 |
提供了一种关于Zabbix性能扩展的选项 相比其他扩展Zabbix功能方式,如下; 2)external checks(无代理模式下) 3) system.run[] 的zabbix agent监控项 3个方法都可以,但存在一个缺点即fork() 可加载模块既能提供扩展zabbix agent/server/proxy的方法,同时不牺牲性能 |
更最重要的优势是使用和共享Zabbix模块的开发能力。 |
2.2模块API
Zabbix模块API目前有六个功能,一个为强制,其他5个可选。
|
描述 |
详细 |
备注 |
|
强制接口 |
zbx_module_api_version() 模块API的版本,返回一个常数 |
|
|
可选接口 |
1) int 成功返回ZBX_MODULE_OK,否则返回ZBX_MODULE_FAIL,且zabbix不会启动 2) ZBX_METRIC 3) int 4) ZBX_HISTORY_WRITE_CBS //历史数据导出函数,回调函数作为ZBX_HISTORY_WRITE_CBS结构的字段提供,如果不感兴趣可字段可为NULL 5) int |
2.2.1定义监控项
|
描述 |
详细 |
备注 |
|
每个监控项都在ZBX_METRIC结构中定义 |
typedef struct { char *key; unsigned flags; int (*function)(); char *test_param; } ZBX_METRIC; |
key为监控项key(如” dummy.random”), 标志是CF_HAVEPARAMS或0(取决于监控项是否接受参数),function是实现该项目的C函数(例如,“zbx_module_dummy_random” ),test_param是使用“-p”标志启动Zabbix代理时使用的参数列表(例如,“1,1000”,可以为NULL)。 |
|
实例 |
1)示例定义如下所示: static { { "dummy.random", { NULL } } 2)实现一个监控项的每个函数应该接受两个指针参数,第一个是AGENT_REQUEST类型,第二个是AGENT_RESULT类型的参数: intzbx_module_dummy_random(AGENT_REQUEST { ... SET_UI64_RESULT(result, from + rand() return SYSINFO_RET_OK; } |
如果监控项的值成功获取,这些函数应返回SYSINFO_RET_OK。否则,它们应该返回SYSINFO_RET_FAIL。有关如何从AGENT_REQUEST获取信息以及如何在AGENT_RESULT中设置信息的详细信息,请参阅下面的示例“dummy”模块。 |
2.2.2提供历史记录导出回调(暂未使用)
|
描述 |
详细 |
备注 |
|
可以指定按类型导出历史数据的函数:Numeric(float),Numeric(unsigned),Character,Text和Log: |
typedef struct { void (*history_float_cb)(const void (*history_integer_cb)(const void (*history_string_cb)(const ZBX_HISTORY_STRING void (*history_text_cb)(const ZBX_HISTORY_TEXT void (*history_log_cb)(const ZBX_HISTORY_LOG } ZBX_HISTORY_WRITE_CBS; |
https://www.zabbix.com/documentation/3.4/zh/manual/config/items/loadablemodules |
|
实例 |
1)示例定义如下所示: static { { "dummy.random", { NULL } } 2)实现一个监控项的每个函数应该接受两个指针参数,第一个是AGENT_REQUEST类型,第二个是AGENT_RESULT类型的参数: intzbx_module_dummy_random(AGENT_REQUEST { ... SET_UI64_RESULT(result, from + rand() return SYSINFO_RET_OK; } |
如果监控项的值成功获取,这些函数应返回SYSINFO_RET_OK。否则,它们应该返回SYSINFO_RET_FAIL。有关如何从AGENT_REQUEST获取信息以及如何在AGENT_RESULT中设置信息的详细信息,请参阅下面的示例“dummy”模块。 |
3Mass update
批量更新
|
步骤 |
详细 |
步骤 |
|
1 |
在item列表中,勾选第一行的勾选框(为全选)。 或勾选要修改的item项 |
https://www.zabbix.com/documentation/3.4/zh/manual/config/items/itemupdate |
|
2 |
点击列表下面的Mass update |
|
|
3 |
勾选要更新的属性的复选框: |
|
|
4 |
输入新的属性值,点击update |
注意: 1) 2) |
4Value mapping(值映射)
|
描述 |
详细 |
备注· |
|
值映射 |
以人更容易理解的方式去显示结果。 如一个监控项的返回结果为0(表示不可用)或1(表示可用) 对应的映射如下: ‘0’à’not available’ ‘1’à’available’ 即当结果返回0时,实际展示的结果为not available |
值映射可用于numeric和charater类型的监控项信息 |
|
配置 |
Administrationàgeneralàselect”value mapping” (即右边的下拉选项)àcreate value map(新建)à输入名称(唯一)和mappingà点击Add |
|
|
使用 |
1) 配置监控项item时,列表中有show value下拉选项,可选择适合的值映射项 2) 选择后,可在monitoringàlatest data查看显示结果 如zabbix agent的 agent ping监控项,无值映射显示为1,有值映射显示为up(1)即上线 |
|
5application(应用)
实际没太大作用,只是将监控项展示在一个组下。
|
描述 |
详细 |
备注· |
|
应用术语 |
1)用于逻辑群组的监控项分组 如mysql 服务器可拥有关于mysql 服务器的所有监控项(mysql可用性,硬盘空间,处理负载等) 2) 用于分组web场景 |
如将监控项Total memory配置为mysql应用,则其监控项在latest data中显示在mysql名称列表下 |
|
配置 |
1) 创建新的应用, Configurationàhostsà靠近主机旁的applicationà点击create applicationà输入名称nameàadd 2)配置item监控项时,可勾选该Item配置列表中的applications选项,或直接在配置列表项中的new |
6Queue(队列)
|
描述 |
详细 |
备注· |
|
术语 |
队列显示等待更新的监控项(,只是数据的逻辑显示,实际上zabbix中并没有队列机制。 只有刷新次数的监控才会显示在队列中 |
|
|
配置 |
无需配置,zabbix运行后直接在web页面可见 Administratoràqueueà右边下拉选择项选择”overview” |
|
|
列表说明 |
1) 2) 3) |
|
|
队列监控项 |
特殊的内部监控项zabbix[queue,<from>,<to>]可监控队列状况,返回延迟的items数目 |
更多信息参考:https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/internal |
7value cache(值缓存)
|
描述 |
详细 |
备注· |
|
术语 |
1) 为使触发器表达式、计算/统计监控项、宏定义的计算更快速,引入了值缓存 2) 这种内存缓存可用于访问历史数据而不是通过sql访问数据库获取。仅当历史数据不存在时才从数据库查询并更新缓存。 3) 通过在zabbix_server.conf文件中配置ValueCacheSize参数开启值缓存 |
监控项zabbix[vcache,buffer,<mode>] 可以监控值缓存,更多信息参考 https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/internal |
zabbix系列之七——安装后配置二Userparameters的更多相关文章
- zabbix系列之六——安装后配置二Items
https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/snmp 1Items 1.1creating items ...
- zabbix系列之八——安装后配置三Triggers
1Triggers(触发器) 描述 详细 备注 术语描述 1)触发器是评估监控项采集的数据的逻辑表达式,代表了当前系统状态. 2)触发器可定义一个什么数据是可接受的阈值,因此,如果接收的数据超过了可接 ...
- zabbix系列之五——安装后配置一
https://www.zabbix.com/documentation/3.4/manual/appliance Configuration 1Hosts and host groups Overv ...
- FreeBSD从零开始---安装后配置(一)
一.安装后配置 上次我们说到FreeBSD的安装,这次我们说FreeBSD安装后的配置和简单优化方法. 安装完BSD只是服务器提供服务这条万里长征路的开始,还需要一些基本的设定和优化.不过实际 ...
- FreeBSD从零开始---安装后配置(二)
系统优化及安全设置 上次说了FreeBSD基本的软件安装和配置,接下来会说系统的详细配置和安全性设置 一.系统优化设置 1.网络相关设置 网卡和IP地址设置: 如果在安装时没有设置IP ...
- 【zabbix系列】安装与加入host
測试环境 Ubuntu 14.04.1 LTS [服务端安装] 关于安装官方提供了非常具体的安装方法,包含各平台的源代码及包安装.关于其它版本号Linux请參考 https://www.zabbix. ...
- 软件安装配置笔记(三)——ArcGIS系列产品安装与配置(补档)(附数据库连接及数据导入)
在前两篇安装配置笔记之后,就忘记把其他安装配置笔记迁移过来了,真是失误失误!趁现在其他文档需要赶紧补上. 目录: 一.ArcMap 二.ArcMap连接数据库并导入数据 三.Arcgis Pro 四. ...
- CentOS7安装后配置MariaDB
安装后,优先推荐先对安全设置进行配置,键入命令 sudo mysql_secure_installation 键入当前密码,当前没有,直接回车,之后跟随提示会问几个问题:设置 root 密码? / 移 ...
- Centos 7最小化安装后配置
关闭SELINUX vi /etc/sysconfig/selinux SELINUX=disabled :wq 配置网卡(最小化安装后ifconfig无法使用),该配置的前提是采用 NAT模式 vi ...
随机推荐
- Fiddler4抓包工具使用教程一
本文参考自http://blog.csdn.net/ohmygirl/article/details/17846199,纯属读书笔记,加深记忆 1.抓包工具有很多,为什么要使用Fiddler呢?原因如 ...
- 《构建之法》阅读笔记06-项目经理PM
软件团队里除了能写代码.测试代码和画图做设计的成员,还有一类角色,不做上面这些事情但也很重要,我们叫他们项目经理--PM. PM 的M 就是 Manager: P有这几种: Product Manag ...
- Android 中的冷启动和热启动
App的Activity退出之后,应用的进程并不会被杀死,而是保留在那里.当再次打开App的Activity时,会从已有的进程中创建Activity,是为“热启动”.若打开Activity时没有进程, ...
- 关于作用域范围Scope
举个例子,如下: public class C { public int a = 2; public void test(int b) { int c = 3; for (int d = 3; a & ...
- C/C++练习题(二)
1.下面这些指针分别代表什么? float(**p1)[10]; double*(*p2)[10]; double(*p3[10])(); int*((*p4)[10]); long(**p5)(in ...
- ActiveMQ HelloWorld入门
在P2P的消息模型中,双方通过队列交流,一个队列只有一个生产者和一个消费者.a.消息生产者 package com.ljq.durian.test.activemq; import javax.jms ...
- java学习--Reflection反射机制
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制. ...
- C++11中多线程库
一.Linux 线程API 线程是在操作系统层面支持的,所以多线程的学习建议还是先找一本linux系统编程类的书,了解linux提供线程的API,了解使用线程设计程序的基本操纵.完全使用系统调用编写多 ...
- onsubmit解惑
1.onsubmit的位置: onsubmit只存在于html <form>中,js的form中 2.submit与onsubmit的区别 发生顺序:onsubmit -> subm ...
- goldarch企业管理软件框架整体解决方案终于出来了
所有的图片及解决方案都在我的博客里http://blog.posn.net 框架把企业管理软件开发中要遇到的常用做了组件化处理,达到了通用性和可定制性的目的. goldarch的数据层是spring. ...