• S26-W36/37, S26-W38/39
    • 3

      Hello,

      Currently agent items:

      web.page.get
      web.page.perf
      web.page.regexp

      Do miss features like:

      • lack of support of redirection, which supported by HTTP agent item and in web monitoring,
      • web.page.regexp will fail if it will get redirect, but also there is problem to get actual page content (example below)
      • web.page.perf can also fail due to limitation regarding redirects, but it's also measuring time of requests, not actual performance of page, like it can be done with for example web scenario.

      Couple of examples:

      web.page.get:

      zabbix_agent2 -t web.page.get[zabbix.com]
      web.page.get[zabbix.com]                      [s|HTTP/1.1 301 Moved Permanently
      Connection: close
      Transfer-Encoding: chunked
      Access-Control-Allow-Origin: *
      Cf-Cache-Status: DYNAMIC
      Cf-Connecting-Ip: 
      Cf-Ray: 
      Content-Security-Policy: frame-ancestors 'self' *.zabbix.com https://challenges.cloudflare.com
      Content-Type: text/html
      Date: Wed, 19 Aug 2026 07:24:21 GMT
      Location: https://zabbix.com/
      Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
      Referrer-Policy: strict-origin
      Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s"}]}
      Server: cloudflare
      Set-Cookie: zabbix_language=en; Domain=.zabbix.com; Path=/; Max-Age=86400; SameSite=Lax; HttpOnly; Secure
      Set-Cookie: zbcfipc=PL; Domain=.zabbix.com; Path=/; Max-Age=86400; SameSite=Lax; Secure
      Strict-Transport-Security: max-age=31536000; includeSubDomains
      X-Content-Type-Options: nosniff
      X-Frame-Options: SAMEORIGIN
      X-Xss-Protection: 1; mode=block
      
      <html>
      <head><title>301 Moved Permanently</title></head>
      <body>
      <center><h1>301 Moved Permanently</h1></center>
      <hr><center>nginx</center>
      </body>
      </html>
      ]
      

      No redirect, we are stuck on 301

      web.page.regexp:

      zabbix_agent2 -t "web.page.regexp[https://www.zabbix.com,/features,,.*features.*,]"
      web.page.regexp[https://www.zabbix.com,/features,,.*features.*,][s|<title>Zabbix features overview</title>]
      

      in this case, we get response, but response we get is "<title>" of page, not content from zabbix.com/features:

      curl -L zabbix.com/features | more
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100   162    0   162    0     0    733      0 --:--:-- --:--:-- --:--:--   733
      100   162    0   162    0     0    330      0 --:--:-- --:--:-- --:--:--   330
      <!DOCTYPE html>
      
      <html lang="en">
      <head>
      
      <meta charset="utf-8">
      
      <title>Zabbix features overview</title>
      
      
      <meta name="description" content="Explore the most important Zabbix features and see why top companies choose it for their monitoring needs."
      >
      
        <link rel="canonical" href="https://www.zabbix.com/features" />
      

      web.page.perf:

      zabbix_agent2 -t "web.page.perf[https://zabbix.com/features]"
      web.page.perf[https://zabbix.com/features]    [s|0.233124]
      

      Same action done by web scenario, pointed to look for string "dashboard":

      httpagent: Response time for step "check1" of scenario "perf".
      View as 
      500 latest values
      As plain text
      Timestamp	Value
      2026-08-19 08:11:22 AM	
      0.6747
      2026-08-19 08:11:16 AM	
      0.6991
      2026-08-19 08:11:12 AM	
      0.7316
      2026-08-19 08:11:07 AM	
      0.6944
      2026-08-19 08:11:02 AM	
      0.7094
      

      configuration of webscenario:

      mysql> select * from httpstep\G;
      *************************** 1. row ***************************
            httpstepid: 1
            httptestid: 1
                  name: check1
                    no: 1
                   url: zabbix.com/features
               timeout: 15s
                 posts:
              required: dashboards
          status_codes: 200
      follow_redirects: 1
         retrieve_mode: 0
             post_type: 1
      1 row in set (0.01 sec)
      

      It would be worth to expand capabilities of Zabbix agent to be compatible with at least same features like "HTTP agent" item, but also better way to do performance check would be great.

        1. Test host.yaml
          1 kB
          Mihails Prihodko
        2. redirect_server.py
          5 kB
          Michael Veksler

            Assignee:
            Michael Veksler
            Reporter:
            Tomasz Grzechulski
            Team B
            Votes:
            2 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:

                Estimated:
                Original Estimate - 24h Original Estimate - 24h
                24h
                Remaining:
                Time Spent - 56h Remaining Estimate - 21h
                21h
                Logged:
                Time Spent - 56h Remaining Estimate - 21h
                56h