Author Topic: Фильтр цветных принтеров  (Read 270 times)

TOLeg

  • Jr. Member
  • **
  • Posts: 52
    • View Profile
Фильтр цветных принтеров
« on: August 06, 2020, 09:16:58 am »
Для настройки метрик в шаблоне как настроить фильтр цветных принтеров HP, Xerox?
« Last Edit: August 06, 2020, 09:22:50 am by TOLeg »

JuraSSik

  • Newbie
  • *
  • Posts: 16
    • View Profile
Re: Фильтр цветных принтеров
« Reply #1 on: August 06, 2020, 03:02:27 pm »
if (!$node->isSNMP)
   return false;
if (
   ( $node->snmpOID like ".1.3.6.1.4.1.253.8.62.1.19.5.5.*")
 { return true; }

TOLeg

  • Jr. Member
  • **
  • Posts: 52
    • View Profile
Re: Фильтр цветных принтеров
« Reply #2 on: August 07, 2020, 10:30:18 am »
Предложенное выше решение не работает :(

Сделал такой фильтр для Xerox 7428. Ругается на if (model like "*7428*"). подскажите, что не так?

transport = CreateSNMPTransport($node);
if (transport == null)
{
  trace(1,"Snmp transport error on ".$node->ipAddr);
  return -1;
}
model = SNMPGetValue(transport, ".1.3.6.1.2.1.25.3.2.1.3.1");
if (model like "*7428*")
{
   return $1;
}
else
{
  trace(1,"Could not read value for ".$node->ipAddr);
  return -1;
}

Filipp Sudanov

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 285
    • View Profile
Re: Фильтр цветных принтеров
« Reply #3 on: August 07, 2020, 01:38:31 pm »
А как именно ругается? может быть SNMPGetValue не срабатывает и model получается NULL ?

TOLeg

  • Jr. Member
  • **
  • Posts: 52
    • View Profile
Re: Фильтр цветных принтеров
« Reply #4 on: August 07, 2020, 02:33:29 pm »
Ругается так:
 
 Failed to execute autobind script for object 7428 [9255] (Error 5 in line 8: Invalid operation with NULL value)

Решено.
Можно фильтровать по описанию:
return $node->sysDescription like "Xerox WorkCentre 7428*";

можно по snmpOID
return $node->snmpOID == ".1.3.6.1.4.1.253.8.62.1.20.5.3.1";

Если несколько моделей принтеров, то придётся указывать все через &&.
« Last Edit: August 07, 2020, 04:04:27 pm by TOLeg »

Filipp Sudanov

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 285
    • View Profile
Re: Фильтр цветных принтеров
« Reply #5 on: August 07, 2020, 04:53:19 pm »
Ну да, если нода не смогла ответить по конкретному SNMP OIDу, то в model получалось null.
Там просто проверку можно добавить, аналогично как проверялось что SNMP транспорт создался:
if (model == null)...