Zabbix监控3par存储服务器showfpg信息


创建监控项

存储为NAS服务器时,才有showfpg命令,基本存储无法使用。

默认情况下使用zabbix自带的ssh客户端方式来实现,如遇到zabbix自带ssh无法登陆的情况,需要使用python或其他第三方来模拟ssh登录 获取信息

  1. 创建监控项,获取初始信息

  2. 在进程中,使用js脚本 处理获取到的信息

    js脚本内容为:

    data = value.trim().split('\n');
    data = data.slice(2, -2);
    var data_dict = [];
    
    for (i=0;i<data.length;i++) {
      line = data[i].trim().replace(/\s+/g, ' ').split(' ');
      item = {};
      item['FPG'] = line[0];
      item['Mountpath'] = line[1];
      sizes = Number(line[2]);
      free = Number(line[3]);
      used = sizes - free;
      item['size'] = sizes;
      item['used'] = used;
      item['Utilization'] =
        Math.round(((used * 100) / (sizes * 100)) * 10000) / 100.0 + '%';
      item['ActiveStates'] = line[4];
      item['State'] = line[7];
      data_dict.push(item);
    }
    
    return JSON.stringify(data_dict)
    

    添加并保存,至此监控项创建完成。

创建自动发现规则

监控项创建完成后,可以初步获取到showfpg命令的所有信息,但还需要将信息按 每一个挂载区分开来,这里就需要用到自动发现。

在进程中,将"FPG"字段替换为一个宏变量,方便后续获取单独名称

var reg = /"FPG"/g;
new_str = value.replace(reg, '"{#FPGNAME}"')
return new_str

更新保存,开始添加监控项原型。

在进程中,处理获取到的值。

通过 JSONPath语法,获取 json 中对应的键值,键名为创建监控项时,js中定义的 item 名称

其他值的自动发现与该项相同,只需要修改对应的名称为 item中对应的键名即可。(主要修改监控原型名称,键值,以及进程中 JSONPath 语法对应的key,即上图中划线部分)

触发器的创建

其他触发器同理。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM