>   n t o p   v e r s i o n  '3.0.050'  p r o b l e m   r e p o r t
> Date:  Thu Apr 15 15:29:39 2004
> Problem Report Id: PR_GBHVWYB
> ------------------------------------------------------------------
> OS(uname): sysname(Linux) release(2.4.25) version(#2 Wed Mar 17 11:47:29
EST 2004) machine(i686)
> ----------

Ok, snipping all the crud out, follow along with my inline notes...
-----Burton

> I enabled http access to my ntop instance and my graphics are
> displaying just
> fine.. on https, still nothing..

Good thought!

> Log extract
>
> Thu Apr 15 11:27:36 2004  URL_DEBUG: Page: 'index_inner.html'
...
> Thu Apr 15 11:27:40 2004  URL_DEBUG: Page: 'allProtoDistribution.png'
...
> Thu Apr 15 11:29:39 2004  URL_DEBUG: Page: 'ntopProblemReport.html'

This shows you ARE seeing the requests...

> ------------------------------------------------------------------
> ntop Web Server
>
> Item..................http://...................https://
> # Handled Requests.....24.....29
> # Successful requests (200).....24.....28
> # Bad (We don't want to talk with you) requests.....0.....0
> # Invalid requests - 403 FORBIDDEN.....0.....0
> # Invalid requests - 404 NOT FOUND.....0.....1
> # Handled SIGPIPE Errors.....0

And those counts show that the ntop web server thinks it is serving them up.


> What can I do to troubleshoot this?

Skull sweat.  OK, the .png files are not being received by your browser
under https, but are under http and ntop thinks they're being sent.

So:

1. Try another browser or three.

1a. If this is IE, try disabling HTTP 1.1.

So what else?  If you look in http.c you see the usual pattern:

    } else if(strncasecmp(pageName, CONST_BAR_ALLPROTO_DIST,
                      strlen(CONST_BAR_ALLPROTO_DIST)) == 0) {
      sendHTTPHeader(MIME_TYPE_CHART_FORMAT, 0, 1);
      drawGlobalProtoDistribution();
      printTrailer=0;

and then graph.c you will see that each graph has a specific pattern, where
it collects some data, calls a graphing routine to create the graphic on the
ntop host and then calls sendGraphFile() to send it to you:

  drawBar(600, 250,     /* width/height */
          fd,           /* open file pointer */
          idx,          /* number of slices */
          lbl,          /* slice labels */
          p);           /* data array */

  fclose(fd);

  if(!useFdOpen)
    sendGraphFile(fileName, 0);
}

sendGraphFile() is nothing special it's just a read/write loop that calls
the standard routine sendString() (or in this case, sendStringLen(), but no
matter).

Now something I read recently mumbled that browsers still don't have good
png handling.  So let's eliminate some other variables.

First:

2. Disable gzip (compression) of files.

In config.h, look for MAKE_WITH_ZLIB and /* it out */

3. More drastic -- try jpg not png. (Try this first with ZLIB enabled,
then - if it still doesn't work - with ZLIB disabled)

In globals-report.h, change CHART_FORMAT

then in graph.c, change all the occurances (there are three) of

gdImagePng(gdImagePtr im, FILE *out);

to calls to

void gdImageJpeg(gdImagePtr im, FILE *out, int quality);

For quality, you'll just have to give a numeric value.  -1 ought to work for
this test, based on the comments:

If quality is negative, the default IJG JPEG quality value (which should
yield a good general quality / size tradeoff for most situations) is used.
Otherwise, for practical purposes, quality should be a value in the range
0-95, higher quality values usually implying both higher quality and larger
image sizes.

Then recompile and make install and run.  Your graphs should now be jpg not
png - while png is a better choice for charts, at least this ought to
eliminate everything other than the browser's handling of png files.


Try those thoughts and let us know what the results are...


-----Burton


_______________________________________________
Ntop-dev mailing list
[EMAIL PROTECTED]
http://listgateway.unipi.it/mailman/listinfo/ntop-dev

Reply via email to