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 ...
随机推荐
- 【Ubuntu】使用记录
Vim 设置自动折行 :set wrap Maven 安装 去官网下载maven安装包 解压maven, 在主目录下的.bashrc中添加 export PATH="$PATH:{your_ ...
- Spring Security构建Rest服务-1203-Spring Security OAuth开发APP认证框架之短信验证码登录
浏览器模式下验证码存储策略 浏览器模式下,生成的短信验证码或者图形验证码是存在session里的,用户接收到验证码后携带过来做校验. APP模式下验证码存储策略 在app场景下里是没有cookie信息 ...
- Linux 系统计算文件夹下文件数量数目
查看某目录下文件的个数(未包括子目录) ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l 查看某目录下文件的个数,包括 ...
- Linux top命令用法
统计信息区前五行是系统整体的统计信息.第一行是任务队列信息,同 uptime 命令的执行结果.其内容如下: :: 当前时间 up : 系统运行时间,格式为时:分 user 当前登录用户数 load a ...
- Self-Attention与Transformer
直观理解与模型整体结构 先来看一个翻译的例子“I arrived at the bank after crossing the river” 这里面的bank指的是银行还是河岸呢,这就需要我们联系上下 ...
- 玩转mongodb(五):mongodb 3.0+ 查询性能分析
mongodb性能分析方法:explain() 为了演示的效果,我们先来创建一个有200万个文档的记录.(我自己的电脑耗了15分钟左右插入完成.如果你想插更多的文档也没问题,只要有耐心等就可以了.) ...
- Oracle 12c 操作 CDB PDB
CREATE TRIGGER open_all_pdbs AFTER STARTUP ON DATABASE BEGIN EXECUTE IMMEDIATE 'alter pluggable data ...
- PHP初级篇
PHP初级篇 PHP环境搭建: 企业中常用到的环境是:Linux+Apache+MySQL+PHP 学习环境是:Windows+Apache+MySQL+PHP 工具 Apache 2.4.4 MyS ...
- Centos系统下卸载、安装MySQL及用户的创建、授权和使用(详细。。。。)
由于经常使用linux系统,并且大数据环境搭建中经常会使用到mysql,不像windows系统下的安装,今天有点空写一篇,下面我给大家演示一遍. 主要有三部分内容: 1.MySQL的卸载 2.MySQ ...
- commons-fileupload-1.4使用及问题
文件上传 使用commons-fileupload-1.4控件及依赖的commons-io-2.6控件 jsp页面中内容 <form action="../servlet/FileUp ...