Basestation Monitoring with Zabbix

From YateBTS
Revision as of 17:43, 6 December 2018 by Paulb (Talk | contribs) (Zabbix server configurations)

Jump to: navigation, search


This guide will explain how to use Zabbix for monitoring Labkits/Satsite

Critical 3 triggers:

  1. When S1AP link is down
  2. When the application restarted
  3. When the Basestation is down

Unmet demands Showing when the network was unable to meet the demands of UEs/MSs with an indication of the cause.

Performance report Showing the speed and the throughput of the network

Minimum Requirements

In order to have the full functionality as per this guide, you need to have:

  1. Yate-enb 7825 or newer
  2. Yate-common 1.6.1 or newer

Zabbix server Installation

Zabbix is an enterprise open source monitoring software, is used to monitor and track the status of various network services, servers, and other network hardware.

There are various methods for installing Zabbix server, we are going to use Zabbix appliance on Virtual Box.


  1. Install VirtualBox on your server
  2. Download Zabbix Appliance in the ovf extension
  3. From the VirtualBox -> File -> Import appliance -> browse for Zabbix appliance -> import
  4. Make sure you are running the desired network setting: Settings -> Network (For our server we are using Bridged Adapter)
  5. start the Appliance and login with appliance/ zabbix
  6. apply the command (ifconfig) to know Zabbix IP address
  7. From any device with reachability to the Zabbix server, open the browser and enter http://<zabbix-server-ip>/zabbix
  8. You should be able to login with Admin / zabbix

Basestation configurations

We need to configure Zabbix (TM) PHP active agent for Yate based products. It uses the Zabbix version 1 JSON to push requested data to a Zabbix server. Zabbix.php is an active agent and is included in yate-common rpm package.

  1. Login to the Labkits/Satsite via ssh (ssh yatebts@<Basestation-IP> -p 54321) and user the credentials yatebts/<unit serial number>
  2. Open (or create, if it doesn't exist) the configurations file ( /etc/yate/sdr/extmodule.conf) and add the following
    1. [scripts]
    2. zabbix.php=server OR zabbix.php=server:port
    3. for multiple servers: zabbix.php=server:port,server:port,...
  3. systemctl restart yate-sdr.service

Zabbix server configurations

Step1: Add the template to monitor the basestation

  • Save the template template.xml
  • Open Zabbix frontend http://<zabbix-server-ip>/zabbix and login with (Admin / zabbix )
  • Navigate to configurations -> Template -> Import -> select the file <file>.xml and keep the rules to the default -> Import


  • You should get a message with import successfuly and you can find the template when you search for (sdr)


Step 2: Add Basestation as host

  • From Zabbix frontend, navigate to configuration -> hosts -> create host
  • In the create host page:
  • From Host tab
    • set Hostname to yate-sdr-ybts-<serial number of the labkit/Satsite>
    • Optionally set visible name for how you will see the host
    • Create new group for basestations or use any predefined group
    • Set the Labkit/Satsite IP address
    • Make sure the host is enable

Step 3: Link the host(s) to the template

  • Option 1: Link each host by itself: Configuration -> Hosts -> Select the host -> Template tab -> search for Template YateSDR and link it -> press update.


  • Option 2: Link for the group of hosts: Configuration -> Templates -> select (Template YateSDR) -> add the group of your hosts in the filed groups -> update.


Monitoring Triggers

From Zabbix frontend, navigate to Monitor -> problems to see list of the triggers.

S1AP Link Down

  • When the link is detected to be down a trigger called S1AP Disconnected will appear with high severity


  • When the link is detected to be recovered , the trigger will be marked as resolved and auto clear the severity


Basestation Stopped

  • When the Basestation stops, will show a trigger named Basestation Stopped with high severity.


  • when the Basestation is up again, the trigger will be auto resolved and the severity will be cleared


Application Restarted

When Yate-sdr service restarts it will show a trigger named Yate-sdr service restarted with average severity. This trigger automatically clears itself after successful restart of the service and mostly doesn't require any action from the admin. zabbix-guide-restate-yate-sdr.png

Monitoring Unmet Demands

From Zabbix frontend, navigate to Monitor -> Graphs -> Select Group/ host -> Select Basestation Unmet Demands graph from the drop down menu. The graph will show:

  1. Unanswered paging
  2. E-RAP failed attempts
  3. low PHRdB: TB.UlPhrAvg
  4. Percentage of the difference between msg3 and prachs
  5. Loss rate for uplink and downlink


Note: The UL loss rate item is initially returned as percentage (UL packet loss rate in percent x100) according to 3GPP Section In the template the item is divided by 100 for compatibility with the other items in the graph

Monitoring Performance reports

From Zabbix frontend, navigate to Monitor -> Graphs -> Select Group/ host -> Select Basestation Speed or Basestation Throughput from the drop down menu


Speed report is represented with a graph, showing the bit rate. zabbix-guide-speed.png


Speed report is represented with a graph, showing uplink and downlink throughput zabbix-guide-throughput.png

Receive emails for triggers

Zabbix offer sending email notifications when triggers happen.

To configure it:

  1. Configure the email SMTP settings under, from Administration -> media types -> email
  2. Create a user (if not already exist) from Administration -> Users -> User
  3. Link the media to the user from Administration -> Users -> Media
  4. Create Action to link sending email with the trigger , from Configuration -> Actions