License expiration check

License expiration check

Description

Checks the license expiration interactively. This check is also performed automatically, by default everyday at 09:00 AM, and starts sending alerts 15 days before expiration. See Manage recursive jobs: license expiration check, log events (cron) for more and customization.

Alert levels are defined as follows:

Days before expiration (date limited license)Hours before expiration (time limited license)Alert Level
More than 7More than 72 hoursINFORMATIONAL
Between 4 and 7Between 49 and 72 hoursMINOR
Between 2 and 3Between 25 and 48 hoursMAJOR
Less than 2Between 0 and 24 hoursCRITICAL
< 00 hours and 0 minutes

EXPIRED

Example

Command line parameters

The script can be executed in command line or from the crontab (see: Manage recurring jobs: license expiration check, log events (cron)) using the following command:

# /opt/charon/utils/charon_expchk

Some parameters are available:

  • Number of days before the license expires that will generate an alert → specify a number of days (default = 7)
  • Prevent from sending default email → -nomail . This option is useful when a custom script is created to send alerts (see further)
  • Force the expiration date for debugging → -expdat=<DD-MMM-YYYY>  where DD = day of the month, MMM = month (3 characters, 1st letter uppercase), YYYY = year

Example (command executed on 21-Jul-2020):

# /opt/charon/utils/charon_expchk 15 -nomail -expdat=24-Jul-2020


The command above, with forced expiration date, will provide the following results:

Custom alert script

A customer script can be created to send alerts for example when a monitoring software is installed.

The script has to be created in /opt/charon/utils folder and named charon_expchk.custom with "execute" permission.

It is invoked for each product and has the following parameters:

  • $1 = level that can be (case sensitive): Informational, Minor, MAJOR, CRITICAL, EXPIRED or NEUTRAL
    • Note: NEUTRAL is sent when no alert is detected, used to send counter alert.
  • $2 = message starting with ":" followed by the license expiration date, the license number and the product.
    • Example: : 24-Jul-2020. License: 1001687. Product: CHARON-AXP


Script example using Zabbix software:

#!/bin/sh
#-------------------------------------------------------------------------------
# charon_expchk.custom
#-------------------------------------------------------------------------------
ZABSEND=/usr/bin/zabbix_sender
ZABCONF=/etc/zabbix/zabbix_agentd.conf

if test -x ${ZABSEND}
then
  if test -s ${ZABCONF}
  then
    case "$1"
    in
      Informational) LVL="INFORMATION";;
      Minor) LVL="WARNING";;
      MAJOR) LVL="AVERAGE";;
      CRITICAL) LVL="HIGH";;
      EXPIRED) LVL="DISASTER";;
      *) LVL="NEUTRAL";;
    esac
    ${ZABSEND} -c ${ZABCONF} -k charon_expchk -o "${LVL};$2" >/dev/null
  else
    echo "The Zabbix agent configuration file is missing. Cannot send alert!"
  fi
fi



© Stromasys, 1999-2025  - All the information is provided on the best effort basis, and might be changed anytime without notice. Information provided does not mean Stromasys commitment to any features described. 
Need fast, reliable migration? We have done it countless times. Talk to an expert