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 ...
随机推荐
- [转] 在linux下使用Terminator
Ubuntu自带的终端是gnome-terminal,虽然能用但是不能支持屏幕分割和选择复制等功能,于是换用terminator作为默认终端. 安装 sudo apt-get install term ...
- 线性表 (单链表、循环链表-python实现)
一.线性表 线性表的定义: 线性表是具有相同数据类型的有限数据的序列. 线性表的特点: 出了第一个元素外,每个元素有且仅有一个直接前驱,除最后一个元素外有且只有一个后继. 线性表是一种逻辑结构,表示元 ...
- 初始JAVA中浅拷贝和深拷贝
1. 简单变量的复制 public static void main(String[] args) { int a = 5; int b = a; System.out.println(a); Sys ...
- arm处理器启动流程分析
2440: 启动方式:nor , nand 地址布局: 启动流程: 开发板在上电后,会从0x0地址处运行. 如果从nor flash启动,则代码要放在nor 的0地址处: 如果从nand flash启 ...
- java学习-get和post请求
摘要 看完本文可以知道,使用java原生编写get/post请求的步骤,进行网络请求时应该注意的地方. 这里使用java自带的HttpUrlConnection对象进行网络请求, 请求步骤大致分为五步 ...
- Linux用户权限规范 /etc/sudoers文件解释
# User privilege specification root ALL=(ALL) ALL # Members of the admin group may gain root privile ...
- 数据库-转换sql语句
文章描述:主要说明转换成SQL语句的过程.----必要信息(数据库名,表名,条件)转换成SQL语句 一些界面上数据增删改查的操作往往只需要输入一数据库名,表名,加条件就可以进行数据查询了,在这背后是怎 ...
- springboot-mongodb的多数据源配置
pom.xml中引入mongodb的依赖 <dependency> <groupId>org.springframework.boot</groupId> < ...
- webstorm皮肤外观样式快速设置,CMD的使用方法,webstorm11激活方法
一.皮肤外观设置 因为这里是上班时间写的,其客套话就不多bb.步入正题 1.首先设置webstorm整体面板颜色 file->settings->Appearance&Behavi ...
- 使用 Nginx + Tomcat 搭建负载均衡
负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 负载均衡,英文名称为Load Balance, ...