Dengage Push Senders

Dengage Push Senders

We have prepared a zabbix template Template App Dengage Sender Checker to monitor error counts and delays of push sends. With this template, you can be aware of un-processed push reports and delays.

To monitor push senders please import the template and create shell scripts on sender servers.

pushsender-zabbix-template.xml

<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
    <version>5.0</version>
    <date>2021-09-08T18:49:35Z</date>
    <groups>
        <group>
            <name>Templates</name>
        </group>
    </groups>
    <templates>
        <template>
            <template>Template App Dengage Sender Checker</template>
            <name>Dengage Sender Checker</name>
            <description>Dengage Template for monitoring Sender Instances</description>
            <groups>
                <group>
                    <name>Templates</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>DengageSender</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Dengage Sender Checks - AppInbox Processing</name>
                    <key>dengage.sender.checker[/dengage/workdir/bulkcustomizer/appinbox,processing,{$SENDER_LOG_THRESHOLD_MIN}]</key>
                    <delay>5m</delay>
                    <history>7d</history>
                    <trends>30d</trends>
                    <applications>
                        <application>
                            <name>DengageSender</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(#1)}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{last(#1)}=0</recovery_expression>
                            <name>Dengage Sender Checks - AppInbox Processing</name>
                            <opdata>File Count: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Dengage Sender Checks - AppInbox DB Error</name>
                    <key>dengage.sender.checker[/dengage/workdir/bulkcustomizer/appinbox/dbError,all,0]</key>
                    <delay>5m</delay>
                    <history>7d</history>
                    <trends>30d</trends>
                    <applications>
                        <application>
                            <name>DengageSender</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(#1)}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{last(#1)}=0</recovery_expression>
                            <name>Dengage Sender Checks - AppInbox DB Error</name>
                            <opdata>File Count: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Dengage Sender Checks - AppInbox Error</name>
                    <key>dengage.sender.checker[/dengage/workdir/bulkcustomizer/appinbox/error,all,0]</key>
                    <delay>5m</delay>
                    <history>7d</history>
                    <trends>30d</trends>
                    <applications>
                        <application>
                            <name>DengageSender</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(#1)}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{last(#1)}=0</recovery_expression>
                            <name>Dengage Sender Checks - AppInbox Error</name>
                            <opdata>File Count: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Dengage Sender Checks - InApp Processing</name>
                    <key>dengage.sender.checker[/dengage/workdir/bulkcustomizer/inapp,processing,{$SENDER_LOG_THRESHOLD_MIN}]</key>
                    <delay>5m</delay>
                    <history>7d</history>
                    <trends>30d</trends>
                    <applications>
                        <application>
                            <name>DengageSender</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(#1)}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{last(#1)}=0</recovery_expression>
                            <name>Dengage Sender Checks - InApp Processing</name>
                            <opdata>File Count: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Dengage Sender Checks - InApp DB Error</name>
                    <key>dengage.sender.checker[/dengage/workdir/bulkcustomizer/inapp/dbError,all,0]</key>
                    <delay>5m</delay>
                    <history>7d</history>
                    <trends>30d</trends>
                    <applications>
                        <application>
                            <name>DengageSender</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(#1)}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{last(#1)}=0</recovery_expression>
                            <name>Dengage Sender Checks - InApp DB Error</name>
                            <opdata>File Count: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Dengage Sender Checks - InApp Error</name>
                    <key>dengage.sender.checker[/dengage/workdir/bulkcustomizer/inapp/error,all,0]</key>
                    <delay>5m</delay>
                    <history>7d</history>
                    <trends>30d</trends>
                    <applications>
                        <application>
                            <name>DengageSender</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(#1)}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{last(#1)}=0</recovery_expression>
                            <name>Dengage Sender Checks - InApp Error</name>
                            <opdata>File Count: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Dengage Sender Checks - OnSite Processing</name>
                    <key>dengage.sender.checker[/dengage/workdir/bulkcustomizer/onsite,processing,{$SENDER_LOG_THRESHOLD_MIN}]</key>
                    <delay>5m</delay>
                    <history>7d</history>
                    <trends>30d</trends>
                    <applications>
                        <application>
                            <name>DengageSender</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(#1)}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{last(#1)}=0</recovery_expression>
                            <name>Dengage Sender Checks - OnSite Processing</name>
                            <opdata>File Count: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Dengage Sender Checks - OnSite DB Error</name>
                    <key>dengage.sender.checker[/dengage/workdir/bulkcustomizer/onsite/dbError,all,0]</key>
                    <delay>5m</delay>
                    <history>7d</history>
                    <trends>30d</trends>
                    <applications>
                        <application>
                            <name>DengageSender</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(#1)}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{last(#1)}=0</recovery_expression>
                            <name>Dengage Sender Checks - OnSite DB Error</name>
                            <opdata>File Count: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Dengage Sender Checks - OnSite Error</name>
                    <key>dengage.sender.checker[/dengage/workdir/bulkcustomizer/onsite/error,all,0]</key>
                    <delay>5m</delay>
                    <history>7d</history>
                    <trends>30d</trends>
                    <applications>
                        <application>
                            <name>DengageSender</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(#1)}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{last(#1)}=0</recovery_expression>
                            <name>Dengage Sender Checks - OnSite Error</name>
                            <opdata>File Count: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
    </templates>
</zabbix_export>

/usr/local/bin/senderchecker.sh (don't forget to make it executable with chmod +x)

#!/bin/bash
cpath=$1
cname=$2
ctime=$3

if [[ $cname == '' || $cname == 'all' ]]; then
  cname="*"
fi
if [[ $ctime == '' || $ctime == '0' ]]; then
  ctime="*"
fi

if [[ $cpath != '' ]]; then
  if [[ -d "$cpath" ]]; then
    if [[ $ctime == '*' ]]; then
      #echo "all times"
      find "$cpath" -type f -name "$cname"* -ls|wc -l
    else
      #echo "specific $ctime"
      find $cpath -type f -name "$cname"* -mmin +$ctime -ls|wc -l
    fi
  else
    echo 0
  fi
else
  echo "Please provide a path to check"
fi

Macro Examples:

{$SENDERLOG_THRESHOLD_MIN} --> 60 (in seconds)_