A um tempo atrás precisei monitorar alguns geradores DeepSEA na empresa que só trabalham com o protocolo modbus, e tive dificuldade de encontrar algum material que realmente ajudasse na internet. Então acabei depois de muito trabalho conseguindo entender e criar um template que me atendeu nessa situação e pode ser util para alguém também.
É importante frisar que para funcionar neste formato que irei passar, só é possivel com o Zabbix Agent 2, pois possui o suporte a modbus.get.
Para obtermos os mappings dos itens necessários, precisamos consultar a documentação do fabricante e usar uma formula. No meu exemplo, eu quero monitorar os Itens basicos da "Page 4 - Basic Intrumentation"

Cada item possui um register offset, mas o que queremos consultar para obter os valores é o Adress e para obter ele temos que fazer o seguinte
Numero da page * 256 + RegisterOffset = Adress
Exemplo para consultar o Nivel de combustivel(FuelLevel)
4 * 256 + 3 = 1027
O address que corresponde ao nivel de combustivel é o 1027.
O formato para a criação dos itens segue o seguinte:
modbus.get[tcp://{$IP}:{$PORT},{$SLAVEID},3,1027,1,int16,be,0]

E no HOST setamos endereço, porta padrão modbus e o slaveID criado no seu equipamento.

Vamos ter um resultado como esse:


Espero ter ajudado, se alguém precisar do template para trabalhar em cima dele. Pode me solicitar via mensagem ou e-mail [email protected]
É importante frisar que para funcionar neste formato que irei passar, só é possivel com o Zabbix Agent 2, pois possui o suporte a modbus.get.
Para obtermos os mappings dos itens necessários, precisamos consultar a documentação do fabricante e usar uma formula. No meu exemplo, eu quero monitorar os Itens basicos da "Page 4 - Basic Intrumentation"
Cada item possui um register offset, mas o que queremos consultar para obter os valores é o Adress e para obter ele temos que fazer o seguinte
Numero da page * 256 + RegisterOffset = Adress
Exemplo para consultar o Nivel de combustivel(FuelLevel)
4 * 256 + 3 = 1027
O address que corresponde ao nivel de combustivel é o 1027.
O formato para a criação dos itens segue o seguinte:
modbus.get[tcp://{$IP}:{$PORT},{$SLAVEID},3,1027,1,int16,be,0]
E no HOST setamos endereço, porta padrão modbus e o slaveID criado no seu equipamento.
Vamos ter um resultado como esse:
Espero ter ajudado, se alguém precisar do template para trabalhar em cima dele. Pode me solicitar via mensagem ou e-mail [email protected]