I wanted to test the Zabbix report scheduler. In this blog, I will explain how to do it as well as the different issues I faced (with cause and resolution, obviously 🙂 ).

By the way, report scheduler is a Zabbix feature that allow to generate PDF of dashboard sent via email.

Install Binaries

First step is to install the package that will generate the report:

dnf install zabbix-web-service

I also have to install Google Chrome for report generation:

$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
$ yum install google-chrome-stable_current_x86_64.rpm

Start and enable service:

$ systemctl enable zabbix-web-service.service
$ systemctl start zabbix-web-service.service

Adapt Configuration

Next step is to modify zabbix_server.conf file to declare Zabbix web service by adding these lines (or uncommenting them if they exist):

WebServiceURL=http://localhost:10053/report
StartReportWriters=3

Then, we have to declare front-end URL in Zabbix Web UI. For that, go into Administration, General, Other and set it:

Zabbix frontend URL seutp

Following by a service restart: systemctl restart zabbix-server.service

Sanity Check

Finally, we are ready for some testing. I have created a simple scheduled report like that:

Test Scheduled Report

A click on test and after few seconds, I have this popup:

Report test ok

Common Problems

Documentation is straight forward and seems easy. Nevertheless, I faced a few issues while trying to set this up.

The Front-end URL has not been configured

Any change in the front-end URL must be followed by a service restart (systemctl restart zabbix-server.service) for it to be properly taken into account.

Cannot fetch data: exec: “google-chrome”: executable file not found in $PATH.

Zabbix web service cannot find google-chrome in it’s path. Try to login on Zabbix server and run google-chrome command.

No media configured for the report recipients

In that situation, it is important to know that the test button will use currently logged in user and not the users defined in Subscriptions field.

One more very important tip is to click the Update button (framed below) after you have added the media, because if you forget user’s media will not be updated:

Other Problems

You must not overlook the report test box windows. For example, I had this and wondered why I did not get anything in my mailbox:

Despite proper report generation, the delivery failed. Zabbix server was not able to reach the SMTP server (Report sending failed) as log confirms:

19906:20230905:154739.563 failed to send email: cannot connect to SMTP server "x.y.z.t": cannot connect to [[x.y.z.t]:2525]: [111] Connection refused

If you face any other problem, you can have a look at these two logs stored in /var/log/zabbix/:

  • zabbix_web_service.log for web service
  • zabbix_server.log for standard Zabbix server