Adding Router Alarms

My initial step after installing Zabbix was to start monitoring on of the most important checkpoints of the network. The routers.
First I created three new groups.

Host Groups

Configuration->Hosts->(Choose) Host Groups->Create Group

  • Routers # The generic host group all routers belong to.
  • Critical Routers # Here reside the three backbone routers.
  • nodes # Which is where VPN routers, which are not so crucial, are placed.

Then I created two templates, the second nested in the other.


Configuration->Hosts->(Choose) Templates->Create Template

  • Router # I placed this in the Routers_Inodes host group for reference’s sake.
  • Router.Critical # I Linked this with the Router template, in effect nesting it within and allowing it to inherit items and triggers.

I created a simple item for basic connectivity checking. What I don’t document, I left as it was.


Configuration->Items->(Choose) Router (Template)->New Item

  • Simple Ping

Description: Simple Ping
Type: Simple Check
Key: icmpping
Type of information: Numeric (64bit)
Update Interval: 180 # Every three minutes will do I think.
Keep history (in days): 20
Keep trends (in days): 356

Screenshot (Click to Enlarge)

Now the triggers. I initially created two


  • Router Connection Lost

Configuration->Triggers->(Choose) Router (Template)->New Trigger
Description: Router Connection Lost
Expression: {Router:icmpping.last(0)}<1
Severity: High

  • Critical Router lost connectivity

(Choose) Router.Critical (Template)->New Trigger
Description: Critical Router lost connectivity
Expression: {Router.Critical:icmpping.last(0)}<1
Severity: Disaster

I created an extra trigger for the critical routers specificaly which I’ll use to send Windows Messenger PopUp messages but I only wanted them for severe cases.
Now I created a host for each router. The Hosts were IP based and had a descriptive name in the form Router_[Address] where [Adress] was the address of the building the router resided.


Configuration->Hosts->(Choose) Hosts->Create Host

Name: Router_Address
Group: Routers # Plus Inodes group or Critical_Routers group depending.
Use IP Address: Check
IP Address:
Link with template: Router # Or Router.Critical

(Screenshot removed temporarily for legal reasons) I also created a test enry pointing to a simple Desktop that I used to test the triggers and actions.
This is what the Overview monitor for the Routers looked like at this point

And Finally I created the actions that would send me an email or WinPopUp each time we lost connection with a router.


Configuration->Actions->Create Action

  • Router Connection Lost # This sends the network admins a message (email) each time the connection fails

Action type: Send Message
Source: Trigger
Conditions: Host group <> “Critical Routers” # The critical routers have their own message
Trigger value = “ON”
Trigger description like “Router Connection Lost” # Important. Don’t use the Trigger= condition, even if the end result looks correct. It uses the specific trigger only so even if the one you chose was the template’s it will not activate when the router goes down.
Send Message to: User Group
Group: Network Administrators
Subject: Lost connection with router {IPADDRESS}
Message: Connection with {HOSTNAME} ({IPADDRESS}) has been lost!

  • Critical Router Connection Lost # This time it sends an email and a WinPopUp.

Action type: Send Message
Source: Trigger
Conditions: Trigger description like “Critical Router Lost Connectivity”
Trigger value = “ON”
Send Message to: User Group
Group: Network Administrators
Subject: Attention! Lost connection with Critical Router ({IPADDRESS})
Message: {HOSTNAME} does not respond to ping

  • Router Connection Restored

Action type: Send Message
Source: Trigger
Conditions: Trigger description like “Router Connection Lost”
Trigger value = “OFF”
Send Message to: User Group
Group: Network Administrators
Subject: Connection restored.
Message: Connection with {HOSTNAME} ({IPADDRESS}) has been restored


You should also create a user for each network administrator and add his email media.


Configuration->General->(Choose) Media Types->New Media

Description: Email
Type: Email
SMTP Server: [Your.SMTP.server]
SMTP Helo: [Your.SMTP.server]
SMTP email: # I used this but you will possibly want to choose you own domain

User Media

(If you haven’t done it before: Configuration->Users->(Choose) Users->New user
OK, this is pretty easy, I’m not going to describe it)

Click on the new users MEDIA link and press Create Media

Type: Email
Send To: [Your@email.address]
Use if Severity: [Choose whatever is appropriate for you]

Finally add this user to the Network Administrators user group if you want him to receive mail from our previous actions.

Done. Now this user will receive mail when Zabbix fails to ping a non-critical router or when the connection is restored. This is what my email looked like this morning. It seems the VPN connections had some problems overnight.
(Screenshot removed temporarily for legal reasons)

Now to set up those WinPopUps

  • wagzy

    very fantastic. it works!!
    my problem was with exim.;had dicciculty configuring it. think it was broken.
    I installed postfix and configured it to use smarthost, then all of a sudden the messages started dropping in my monitoring mail.
    tanx a lot