Tonerlevel – Kyocera Mita FS 1128/1135 – OpenNMS

Posted: 7th März 2012 by Thorben Hemmler in OpenNMS

In diesem Szenario wird beim Händler automatisch Toner bestellt, weil es Mietgeräte und somit die Toner kostenlos sind. Außerdem sollten die Assetinfos der Drucker gepflegt sein, damit die Emails auch schon mit Daten gefüllt werden. Außerdem sind die Drucker in eine Gruppe „Printer“ gepackt.

Die neueren Kyos liefern über SNMP schon alles Nötige mit. Nämlich:

/var/lib/opennms/rrd/snmp/%nodeid%/prtMarkerSuppliesIndex/
prtMSLevel.jrb
prtMSMaxCapacity.jrb

Benötigt wird der Threshold:

 <group name="printer" rrdRepository="/var/lib/opennms/rrd/snmp/">
               <expression type="low" ds-type="prtMarkerSuppliesIndex"
           value="30.0" rearm="80.0" trigger="2"
           ds-label="prtMarkerSuppliesDescription"
           triggeredUEI="uei.opennms.org/custom/mfp/kyocera/toner/tk130/low"
           rearmedUEI="uei.opennms.org/custom/mfp/kyocera/toner/tk130/full"
           filterOperator="or" expression="prtMSLevel / prtMSMaxCapacity * 100">
            <resource-filter field="prtMarkerSuppliesDescription">^TK\-130</resource-filter>
            <resource-filter field="prtMarkerSuppliesDescription">^TK\-130S</resource-filter>
            <resource-filter field="prtMarkerSuppliesDescription">^TK\-1140</resource-filter>
        </expression>

</group>

Die prtMarkerSuppliesDescription TK-130, TK-130s und TK-1140 sind die Tonerbezeichnungen der Kyocera 1128/35 Geräte. Ich habe diesen Filter gesetzt, damit es nicht mit Geräten von anderen Herstellern kollidiert.

Die Thresd-Konfig:

<package name="printer">
        <filter>categoryName = 'Printer'</filter>
        <include-range begin="1.1.1.1" end="254.254.254.254"/>
        <service name="SNMP" interval="300000" user-defined="false" status="on">
            <parameter key="thresholding-group" value="printer"/>
        </service>
</package>

und eine passende Notification:

 <notification name="Kyocera: Tonerstand" status="on" writeable="yes">
        <uei xmlns="">uei.opennms.org/custom/mfp/kyocera/toner/tk130/low</uei>
        <rule xmlns="">(categoryName == 'Printer')</rule>
        <destinationPath xmlns="">tonerbestellung</destinationPath>
        <text-message xmlns="">Sehr geehrte Damen und Herren,&#xd;
&#xd;
der Drucker %nodelabel% meldet einen Tonerstand von %parm[#3]% Prozent. Bitte senden Sie einen Toner %parm[#1]% fuer den Drucker %asset[manufacturer]% %asset[modelnumber]%, SN: %asset[serialnumber]%.&#xd;
&#xd;
Lieferanschrift:&#xd;
%asset[department]%&#xd;
%asset[division]%, %nodelabel%&#xd;
%asset[address1]%&#xd;
%asset[zip]%, %asset[city]%&#xd;
&#xd;
Bitte senden Sie bei Versand eine Info-Email an: %asset[vendorphone]%.&#xd;
&#xd;
Vielen Dank.&#xd;
&#xd;
Mit freundlichen Gruessen&#xd;
&#xd;
&#xd;
-Diese Email wurde automatisch generiert. Antworten auf diese Email ist nicht moeglich-</text-message>
        <subject xmlns="">#%noticeid% - Tonerbestellung</subject>
        <numeric-message xmlns="">111-%noticeid%</numeric-message>
    </notification>

Wichtig: In dieser Konstellation ist es leider so, dass beim Restart von OpenNMS der Tonerstand erneut geprüft wird und auch eine neue Notification raus geht.

Vielen Dank an Marcel Fuhrmann für diesen Beitrag.