Ad Widget

Collapse

Zabbix PDF, Excel & SLA Report Generator [Multiversion]

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • AxelDelCanto
    Junior Member
    • Sep 2025
    • 13

    #1

    Zabbix PDF, Excel & SLA Report Generator [Multiversion]

    Community, I'd like to share a web tool to generate professional reports directly from Zabbix. It's compatible with versions 4.0 through 7.4 and features:
    • PDF Reports: Historical graphs with multi-selection.
    • Excel Exports: Inventory, problems, and CPU/Memory peak analysis.
    • SLA Analysis: ICMP-based availability calculation for custom periods.
    • Tag-based Assignment: Inventory reports can include fields like "Responsible Area", "Location", and "Device Type" using your host's tags. (NOTE: Ensure your hosts have these tags assigned for them to appear in the report).
    • Multi-language: Spanish/English, with light/dark theme.

    Documentation: https://github.com/axel250r/How-To
    Code: https://github.com/axel250r/zabbix-multiversion
    License: GPLv3 - Free and open source.

    Hope you find it useful! Feedback and suggestions are welcome.

    Best regards,
    Axel Del Canto
  • DanielB
    Junior Member
    • Jun 2017
    • 4

    #2
    Huge thanks for this contribution, Axel! This addresses a significant gap in Zabbix's native capabilities. The flexibility of the Excel exports and the SLA analysis is exactly what many of us have been needing to get rid of the reporting 'dead weight.' Great work on the documentation as well. I hope to test it soon.

    Best regards, Daniel

    Comment

    • kronicklez
      Junior Member
      • Mar 2025
      • 17

      #3
      Hi @AxelDelCanto,

      May i know do we still need create dashboard first before can use this tools to generate pdf report.?

      Thanks and appreciate your feedback

      Comment

      • AxelDelCanto
        Junior Member
        • Sep 2025
        • 13

        #4
        Hi kronicklez
        No, it's not necessary; this tool uses the templates and graphics from Zabbix itself.

        Comment

        • kronicklez
          Junior Member
          • Mar 2025
          • 17

          #5
          Hi @AxelDelCanto,

          Noted. Thanks for your feedback. I will test it and revert back if i face issue.

          Comment

          • kronicklez
            Junior Member
            • Mar 2025
            • 17

            #6
            Hi @AxelDelCanto,

            I already follow your step using "word" file that in the github.

            At step 3 "Once the users have been created, go to http://your-ip-or-domain/zabbix/zabbix-pdf-report/" it nothing to display. It said "404 not found". Do i need to restart any services after change file "config.php" in folder zabbix-pdf-report. Appreciate your feedback

            root@ubuntu24:/usr/share/zabbix-pdf-report# ls
            assets cookies.txt LEEME.md
            autoload.php export.php lib
            check.php FUNDING.yml LICENSE.md
            check_requirements.php generate.php login.php
            cj get_host_groups.php logout.php
            composer.json get_hosts.php README.md
            composer.lock get_items.php tmp
            composer-setup.php index.php vendor
            config.php lang zabbix_api_functions.php

            Comment

            • kronicklez
              Junior Member
              • Mar 2025
              • 17

              #7
              Hi @AxelDelCanto ,

              Is it correct config that need to put as per below? I'm using zabbix 7.4.7.

              $submenu_reports[] = CWebUser::checkAccess(CRoleHelper::UI_REPORTS_SYST EM_INFO) ? (new CMenuItem(_('Informe PDF')));
              // or _('PDF Report') if you prefer English ->setUrl(new CUrl('zabbix-pdf-report/login.php'), true) ->setId('report_pdf')
              // IMPORTANT: use setAliases() (plural), not setAlias() ->setAliases(['zabbix-pdf-report/chooser.php']) : null;


              $submenu_reports = array_filter($submenu_reports);

              if ($submenu_reports) {
              $menu->add(
              (new CMenuItem(_('Reports')))
              ->setId('reports')
              ->setIcon(ZBX_ICON_REPORTS)
              ->setSubMenu(new CMenu($submenu_reports))
              );
              }

              Thanks
              Attached Files
              Last edited by kronicklez; Today, 09:45.

              Comment

              • AxelDelCanto
                Junior Member
                • Sep 2025
                • 13

                #8
                Hi kronicklez
                I think the path you're using is incorrect; the path where the tool should be is: /usr/share/zabbix/zabbix-pdf-report or /usr/share/zabbix/ui/zabbix-pdf-report this last One for zabbix 7.4

                I recommend using the multiversion folder, as that's where you'll find the latest updates. Regarding adding the button to the Zabbix menu, if the code hasn't changed much, it should be the same. You will need to restart the services for this. Remember to change the path zabbix-pdf-report/chooser to zabbix-pdf-report/login.php.

                Note: for the pdf export you don’t need restart any service.


                Regards.
                Last edited by AxelDelCanto; Today, 12:52.

                Comment

                • kronicklez
                  Junior Member
                  • Mar 2025
                  • 17

                  #9
                  Hi AxelDelCanto,

                  Now i can see the pdf report login page. When i try to generate the report it give error as per below. The host already discovered. Is it i'm missing any steps compare to instruction "word" file?

                  Error
                  No valid graphs were generated. Check your selection, permissions, and time range.​

                  Comment

                  • AxelDelCanto
                    Junior Member
                    • Sep 2025
                    • 13

                    #10
                    Check if the host within Zabbix has the correct template; this error occurs when an item is not selected or when the selected item is not in the correct template.

                    Comment

                    • kronicklez
                      Junior Member
                      • Mar 2025
                      • 17

                      #11
                      Hi,

                      The template is correct. For example the device that i doscovered using juniper template then when i want to generate report i also choose juniper template. But it appear error as per above.

                      Another question may i know path file "zabbix-pdf-report/chooser to zabbix-pdf-report/login.php".

                      Thanks
                      Last edited by kronicklez; Today, 13:26.

                      Comment

                      • AxelDelCanto
                        Junior Member
                        • Sep 2025
                        • 13

                        #12
                        And the ítem have a graph? Open a Issue in git and send me the ítem and graph pic.

                        Comment

                        • kronicklez
                          Junior Member
                          • Mar 2025
                          • 17

                          #13
                          Hi @AxelDelCanto,

                          May i know actually which step that i need to follow? Using the "word" file or step on https://github.com/axel250r/zabbix-pdf-report-7.4? . I already follow the step on "word" file but when i do http://ip_address/zabbix/zabbix/zabb...port/login.php it appear error as per below. Now i'm using multiversion with zabbix 7.4.7. Does path need to change due using zabbix 7.4.7 ?

                          In the step "word" file said "NOTE: Remember to assign a user for the API to interact with. This user must be created inside Zabbix (Frontend)" .... It just make sure username and password already created in the zabbix only right? means dont need to create API token?

                          Not Found
                          The requested URL was not found on this server.


                          Thanks​
                          Last edited by kronicklez; Today, 17:33.

                          Comment

                          • AxelDelCanto
                            Junior Member
                            • Sep 2025
                            • 13

                            #14
                            Find this line $submenu_reports = array_filter($submenu_reports); in /usr/share/zabbix/ui/include/classes/helpers/CMenuHelper.php and paste the following above

                            $submenu_reports[] = CWebUser::checkAccess(CRoleHelper::UI_REPORTS_SYST EM_INFO)
                            ? (new CMenuItem(_('PDF Export')))
                            ->setUrl(new CUrl('zabbix-pdf-report/login.php'), true)
                            ->setId('report_pdf')
                            // aquí reemplaza setAlias() por setAliases()
                            ->setAliases(['zabbix-pdf-report/chooser.php'])
                            : null;

                            Click image for larger version  Name:	image.png Views:	0 Size:	8.0 KB ID:	511715

                            Were you able to generate the PDFs?
                            Last edited by AxelDelCanto; Today, 17:46.

                            Comment

                            Working...