On Fri, 13 Oct 2000 lemming@xxxxxxxxxxxxxxxxxxx wrote:
> Hello!
>
> I have made patch to Linux PMDA. It takes data from /proc/tcp and creates
> network.tcpconn subtree containing values:
> ...
> which hold number of connections in each state. I did this because we here
> need to archive data on how many connections are there to/from our server and
> in
> which state they are. If you consider it worthy, please apply it to standard
> distribution.
>
> Michal Kara
Michal,
thanks for your contribution! It's certainly "worth it", especially
for monitoring servers with a high tcp connection rate (e.g. http servers).
A couple of points:
1. I changed your code slightly; removed a debug printf that was filling up
pmcd.log, fixed some indentation to match our sw=4 ts=8 style and changed
your choice of cluster number to 19 (clusters 16, 17 and 18 are already
in use by the new xfs, pagebuf and hinv.cpuinfo metric clusters).
2. the code you sent me had "Copyright SGI" in the header comments. Since it
was obvious you based your code on proc_net_sockstat.[ch], I assume it's
OK with you to leave those copyrights intact. I did however add a comment
in proc_net_tcpconn.[ch] that the code was contributed by you. Is that OK?
3. here at SGI we should endeavor to sync up on oss.sgi.com more often
(there is potential for duplicated effort that we obviously want to avoid)
As soon as I get an answer to (2) above, I'll upload to oss.sgi.com.
The new revision will be pcp-2.1.10. Below is the changelog relative to
the current version on oss.sgi.com (2.1.7-2).
thanks!
-- Mark Goodwin
--- CHANGELOG since pcp-2.1.7-2 ---
pcp-2.1.8-2 (released 30 June 2000)
- fix for bug #793871 pmlogger_check fails after redhat upgrade
(because PCP entries in /usr/share/magic were clobbered)
- also install /var/pcp/pmdas/linux/pmdalinux (as a non-DSO
agent for debugging and profiling purposes).
- added pmda.uname (uname -a) and pmda.version (linux pmda version)
metrics. The pmda.uname metric is needed by the "pcp" command.
- fix for #789025 fix to ensure rpm --verify succeeds immediately
after an install, and other errors in pmlogger_check
- released with ACE 1.3 (MR 19 Jul 2000)
pcp-2.1.9-6 (released 2 Aug 2000 for propack1.4 - alpha, not final)
- install /usr/share/pcp/lib/rc-proc.sh containing common
shell functions for use by rc scripts - these functions
are tolerant of the chkconfig command missing (as in SUSE).
- update all rc scripts and {pmlogger,pmie}_{check,daily} scripts
to use the new rc-proc.sh functions. Remove the /etc/sysconfig
stuff entirely (it was not being used anyway).
- fix for #795934 : after rpm -U, pcp is chkconfig off. It turned
out that an upgrade executes the %post _and_ the %preun scripts,
which resulted in pcp being chkconfig'd on then off again.
- fix pmie rc scripts so they work, are chkconfig friendly,
and cope with _and_ without pmieconf (which is in pcp-pro).
Also install /var/pcp/config/pmie/config.default as a simple example
to monitor the load average and report to syslog. The pmie
daemon is chkconfig off by default.
- default run levels for pmcd and pmie (daemon) are now 2345, for SUSE
- reconcile troff and groff differences in man page sources
- fix for bug #797049 use strftime(%z) to determine timezone offsets
w.r.t. daylight savings
- portability surgery on src/libpcp_trace, and add new pmtracecounter()
function, see pmtracebegin(3) for details.
- reconcile pcp.env and pmcd.options from IRIX
- fix for bug #797048 update-magic does not fully remove old entries
before adding new, hence the magic file would grow after each upgrade
- other minor reconciliation work with IRIX
- fix build environment to allow proper handling of compressed man pages
- add support for RPM version 4.
- add support for add kernel.{all,percpu}.syscall metrics
(requires kernel patch)
- fixed for bug #797164: potential SEGV due to calling realloc on a
misused pointer - src/pmdas/weblog/weblog.c
- use realpath(3) to resolve devices in /proc/mounts for filesys.* metrics
pcp-2.1.9-11 (unreleased)
- add pagebuf metrics (Daniel and Nathan)
- fixes so the build works if pcp is not already installed
- minor security fix to pcp.spec.in (force mode 644 for .NeedRebuild)
- make sure the src RPM builds correctly (LSRCFILE issues from LinuxWorld)
- fix for bug #797756, upgrade from pcp2.1.6 to any newer version leaves
pcp chkconfig off and the name space does not get rebuilt.
- extended the weblogs PCP agent so it can report proxy/squid
http servers, and added assorted http cache statistics.
- fixed the Cisco router PCP agent (it was broken in pp1.3).
- add support for disk stats in 2.4.x kernels with "disk_io" field
in /proc/stat (only used when sard patch is not installed)
- if the pcp-pro package (SGI proprietary) is installed, all libpcp
clients on linux are now "authorized" to monitor IRIX systems that
do not have a pmcd collector license.
pcp-2.1.9-12 (released circa Sept 13 2000, with SGI Propack1.4)
- for 2.4 without sard, correctly match disk numbers in /proc/stat
with major,minor numbers in /proc/partitions.
pcp-2.1.10-5 (new one, not released yet)
- guard against DOS attack by restring incoming PDU size to 64K.
- add hinv.map.cpu and hinv.cpu metrics exported by /proc/cpuinfo
- fix small error in INSTALL_MAN rule in src/include/builddefs.in
- fix for bug #793427 - correct symlinks for man pages with multiple
entries in the .SH NAME section.
- add network.tcpconn metrics to export counts of tcp connections in each
state. Code contributed by Michal Kara (lemming@xxxxxxxxxxxxxxxxxxx)
|