CHANGELOG 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629
  1. 31/05/2010 - 2.81
  2. - symon: Allow multiple monitor statements with different intervals to the
  3. same mux. Retrieving smart info every 5 secs confuses some disks.
  4. - platform/Linux/sm_df.c now uses statvfs (Harm Schotanus)
  5. - Added load average probe (Lars Kotthoff)
  6. - Smart probe assumed that its ioctl cmd structure was not overwritten and
  7. did not check the return code correctly on NetBSD. (Tito Dal Canton)
  8. - sm_smart.c: support for kernels 2.6.9 and friends that miss the required
  9. hdio structure.
  10. - c_smrrds.sh: Allow more than 10 cpus.
  11. - platform/OpenBSD/sm_proc.c now uses PROC2 sysctl (Stuart Henderson /
  12. Tasmanian Devil)
  13. - platform/OpenBSD/sm_sensor.c now uses the updated sensors api (Stuart
  14. Henderson / Tasmanian Devil).
  15. 23/11/2009 - 2.80
  16. - Removed all cvs ids, moved src control to git
  17. - Added initial sensor probe for Linux which reads directly from hwmon. Note
  18. that there is no conversion of the raw data to real voltage, temperature
  19. or rotations.
  20. - Added smart probe for NetBSD (Tito Dal Canton), Linux / FreeBSD / OpenBSD
  21. (me). Note that smart values sometimes need per drive/per model
  22. interpretation. Not all these probes have been tested thoroughly as they
  23. require physical boxes to be tested on.
  24. - Added libprobe; a library for code that is shared between probes,
  25. e.g. smart decoding and cpu percentages calculation.
  26. - platform/OpenBSD/sm_mem.c: more than 2^31 bytes of swap would overflow
  27. calculation (Marco Pfatschbacher)
  28. - client/SymuxClient.pm: typo fixed that clobbered total read/write
  29. (Masahiro Yamagishi)
  30. - client port now really optional in symon.conf
  31. - platform/OpenBSD/sm_mbuf.c: patch from openbsd ports following h2k8 mcpl
  32. changes (Stuart Henderson)
  33. 07/04/2008 - 2.79
  34. - Top makefile will not compile symux - and not need librrd - if SYMON_ONLY
  35. is set.
  36. - platform/*BSD/sm_mem: pages are now shifted up on int64 instead of
  37. int. (Volodymyr Kostyrko)
  38. - platform/FreeBSD/sm_mem: hw.physmem - free is now used as the real memory
  39. used value. This unbreaks the graphs for FreeBSD 6.3+. Note that real
  40. memory used in this way means all wired, active, inactive and cached
  41. memory, as well as gaps in the memory stats that are used by the kernel
  42. itself.
  43. - platform/Linux/Makefile.inc: removed easy override to TSORT/LORDER on
  44. Linux. (Volodymyr Kostyrko)
  45. - platform/Linux/Makefile.inc: more sensible defaults for owner, group and
  46. install directories.
  47. - platform/Linux/sm_io.c: count only read/write operations in io, not merged
  48. reads and writes. This way io/s show actuator movements, instead of
  49. movements + cache hits. (Yeb Havinga)
  50. - Updated INSTALL about chrooted timezone gotchas. (Cory Waddingham)
  51. - Added a cpuiow probe that counts iowait ticks on Linux. (Yeb Havinga)
  52. - platform/Linux/sm_cpu now also parses /proc/stat without steal entry.
  53. 06/01/2008 - 2.78
  54. - lib/sylimits.h: DFNAMESIZE bumped from 16 to 64 chars
  55. (Mahlon E. Smith)
  56. - if and mem probes upgraded to report in u_int64_t values. symux will
  57. accept reports from older symons that use the old u_int32_t
  58. format. The old if and mem rrd files need no adjustments to accept
  59. the new data.
  60. - c_smrrds.sh now specifies the start time at graph creation in such a
  61. way that it can be used by both rrdtool 1.0.x and rrdtool 1.2.x.
  62. 29/11/2007 - 2.77
  63. - symon/symux -t can now be used to check configuration files before
  64. running in anger.
  65. - symon now also calculates maximum message size; with symux using
  66. twice the calculated value to ensure that configuration errors
  67. between sy[mon|mux].conf are detected in the logs. Both enforce
  68. maximum message = sizeof(udp payload).
  69. - Martin van der Werff donated the Linux/sm_df probe.
  70. - symux/c_smrrds.sh/syweb now all think sensor probes are called
  71. sensor_*. (Daniel Spizak, Evgeniy Sudyr)
  72. - pfq probes must be specified as pfq(interface/queue) in symon and are
  73. treated as pfq_interface_queue.rrd by symux.
  74. - platform/Linux/sm_mem modified to better reflect OpenBSD's idea of
  75. the vm_meter stats.
  76. 05/07/2007 - 2.76
  77. - symux/readconf.c resolve from host, but discard result. (Henning
  78. Brauer)
  79. - symux/symux.c -f used strncpy wrong and broke when using gcc4
  80. (Mechiel Lukkien)
  81. - platform/Linux/sm_cpu now uses iowait + hardirq + softirq + steal as
  82. its cpu "interrupt". My feeling is that this is the most accurate
  83. representation of what the values mean for the *BSDs.
  84. - platform/NetBSD/sm_io uses new iostat_sysctl of NetBSD4
  85. - platform/NetBSD/sm_pfq uses NetBSD3/4 altq stat names.
  86. - symux/c_smrrds.sh now searches for rrdtool and symux in {$RRDTOOL,
  87. $SYMUX}, $PATH and in the installation dirs. (Benoit Garcia)
  88. - platform/OpenBSD/sm_if removed obselete netipx includes
  89. (Christian Weisgerber)
  90. - Daemon needs to be able to bind /dev/null - drop privileges after
  91. daemon call (Markus Friedl).
  92. - data.c/free_muxlist closed fd 0 at HUP. This makes symux unresponsive
  93. on OpenBSD and makes it stop on FreeBSD. (Marco Pfatschbacher).
  94. - platform/OpenBSD/sm_cpu fixed to call CPTIME2 only for machines with
  95. more than one cpu. (Henning Brauer)
  96. 13/02/2007 - 2.75
  97. - OpenBSD sensors missed includes (Constantine A. Murenin)
  98. - NetBSD now checks if pf is installed (Jean-Yves Moulin)
  99. 11/02/2007 - 2.74
  100. - symon can be told what local interface to send data from (Henning
  101. Brauer)
  102. - removed typos in client/SymuxClient.pm (Sandeep Kr Sangwan)
  103. - OpenBSD sm_sensor upgrade to sensor_dev (Constantine A. Murenin)
  104. - NetBSD can use OpenBSD sm_pf, sm_mem and sm_pfq with little
  105. modifications (Jean-Yves Moulin)
  106. - symon network protocol version bumped to allow stream arguments upto
  107. 63 characters.
  108. 19/12/2006 - 2.73
  109. - symux stops reporting rrd errors after 5 messages to counter logspam
  110. (Henning Brauer)
  111. - NetBSD compiles on 2.1 after addition of rrd.h location in
  112. NetBSD/Makefile.inc
  113. - FreeBSD/platform.h now also includes sys/socket.h and sys/dkstat.h,
  114. which makes the FreeBSD probes compile on 4/5/6.
  115. - FreeBSD/sm_pf and OpenBSD/sm_pf were broken when pf was not available
  116. (Ulrich Spörlein)
  117. - c_smrrds.sh now accepts filenames, not descriptions. Intended use is
  118. now c_smrrds.sh `symux -l`.
  119. - symux -l lists rrd files in active configuration.
  120. - symon/symon.c now deals correctly with ntp drift and sleeps
  121. longer. The previous version did not sleep long enough, which could
  122. result in both the alarm and end of sleep issueing a measurement
  123. where only one was due.
  124. - Library deps now split between symon and symux. Not all libraries are
  125. needed on a host if only symon/symux is compiled.
  126. - OpenBSD/Makefile.inc now includes fontconfig library needed for gd >
  127. 2.0.33. This breaks symux compilation for OpenBSD < 3.9.
  128. - OpenBSD/sm_cpu is smp aware
  129. - OpenBSD/sm_mbuf needs errno
  130. - symuxnet.c now allows clients to connect in Linux
  131. - Linux/sm_io added
  132. - FreeBSD/sm_mem fix for swap in 6/5/4 (Clive Lin)
  133. - FreeBSD/sm_io updated to reflect devstats api change
  134. 23/10/2005 - 2.72
  135. - probes use a new "api" that allows per probe storage of
  136. precomputed data
  137. - Marc Balmer donated the df probe
  138. - Harm Schotanus donated mem probe for linux that works on 2.4/2.6
  139. - OpenBSD/sm_if.c no longer uses netns (Mitja Muzenic)
  140. - symux/share.c now uses a ringbuffer to distribute symon packets to
  141. connected tcp clients. Clients that can not keep up with the datarate
  142. are still killed, but have a bit more time to catch up.
  143. - Ulrich Spörlein updated proc probe for FreeBSD-current.
  144. - sm_mem for FreeBSD did not clear swap stats between calls (J. Martin
  145. Petersen)
  146. - sm_sensor: sensor support was detected on OpenBSD, but did not get
  147. configured (Eric Dillenseger)
  148. 19/03/2005 - 2.71
  149. - Ulrich Spörlein updated mem probe for FreeBSD-current and removed
  150. some bugs from FreeBSD/conf.sh.
  151. - J. Martin Petersen contributed the FreeBSD io probe and a new probe
  152. called pfq that can monitor pf altq queues on Free and OpenBSD.
  153. 22/02/2005 - 2.70
  154. - Ulrich Spörlein updated the FreeBSD proc and mem probes, found a bug
  155. in the mem probe for OpenBSD and helped extend the shell config files
  156. for FreeBSD.
  157. - Linux/Makefile.inc TSORT should be cat not echo
  158. 16/02/2005 - 2.69
  159. - inet6 support works again (Eric from Catastrophe.net)
  160. 14/01/2005 - 2.68
  161. - NetBSD/sm_debug.c now has proper sysctl mib values
  162. - if and pf probes for FreeBSD 5.3 (Fredrik Söderblom)
  163. - mbuf interface change for FreeBSD 5.3 (Stefan T. Peters)
  164. - Spelling errors in INSTALL/symon.8/symux.8 (Jan Sepp)
  165. - platform/*BSD/sm_proc transferred cpucpt as uint16 instead of double
  166. (Jamie Herre)
  167. - states_entries is a GAUGE, not a ABSOLUTE (Lars Hansson, Marco
  168. Pfatschbacher)
  169. - NetBSD/plaform.h -> platform.h (Joel Andersson)
  170. - tsort and lorder are not needed on Linux. (Mark Enzinas)
  171. 09/08/2004 - 2.67
  172. - Matthew Gream contributed the port and probes to NetBSD and FreeBSD.
  173. Probes for FreeBSD: cpu, debug, mbuf, mem and proc. Probes for
  174. NetBSD: cpu, debug, if, io, mbuf, proc and sensor.
  175. - Added initial support for Linux: cpu and if.
  176. - Textual: INSTALL (Hiddo Hut)
  177. - Removed net_iso from symon.c (Hans Kremers)
  178. - Time since last update gets checked in symon.c to ensure correct
  179. operation with ntp
  180. 05/06/2004 - 2.66
  181. - arguments in network streams are now bound to 15 characters. symon
  182. will use more characters if specified in monitoring, but will only
  183. send the first 15 over the network. (Michael)
  184. - Textual: symux.8 and c_smrrds.sh agree on stream names. (Okan
  185. Demirmen)
  186. 29/02/2004 - 2.65
  187. - removed erroneous strlen in lex.c (Daniel Hartmeier)
  188. - added better socket error reporting (Daniel Polak)
  189. 27/02/2004 - 2.64
  190. - Added new disk structure. symon has a single notion of "io" - the new
  191. or the old depending on the machine it was built on. symux deals with
  192. legacy streams and knows about "io1" (upto 3.4) and "io"
  193. (3.5+). symux will accept legacy symons.
  194. - c_smrrds.sh complains if files cannot be built. (Daniel Polak)
  195. - symon no longer attempts reloading the configuration file when
  196. privsep.
  197. - Textual: INSTALL (Jan Sipke van der Veen), error texts in code
  198. (Stephen Tesch)
  199. 20/12/2003 - 2.63
  200. - removed large char arrays on the stack that broke name resolution
  201. - symon(8) now chroots and drop priviledges to user "_symon" (Henning
  202. Brauer)
  203. - added support for adjusting symon(8) monitoring interval (Henning
  204. Brauer)
  205. - removed typos and better starter configuration (Franciszek Holop)
  206. - port: MESSAGEs were incorrect (Soeren Thing Andersen), PLIST
  207. incomplete (Henning Brauer), HOMEPAGE in Makefile was off (Robert
  208. Winder)
  209. 12/10/2003 - 2.62
  210. - removed errors in c_smrrds.sh (Henning Brauer)
  211. - detecting sensor support was broken (Nick Forbes)
  212. 03/10/2003 - 2.61
  213. - added sensor probe
  214. - removed symon2web from base source package. symon2web (or the new
  215. syweb package) can be downloaded from the main website.
  216. - symux churnbuffer calculation now deals with ipv6 hostnames too
  217. - symux now allows file-less streams to be accepted
  218. - removed bug in display of incoming client connections on symux
  219. - symon uses group probes only for configured streams
  220. - c_config.sh was not included in the PLIST for the symon package
  221. (Andrew Dalgleish)
  222. 23/03/2003 - 2.60
  223. - sm_io was broken on sparc64
  224. - ntohq functions were not detected for big endian machines
  225. - c_config.sh broke on nfs mounts and pfsync
  226. All: thanks to Henning Brauer
  227. 26/02/2003 - 2.59
  228. - mbuf probe (Daniel Hartmeier; depends on 3.2)
  229. - example configuration is now installed in to symon/examples +
  230. better conflicts in port's PLIST (Christian Weisgerber)
  231. 24/01/2003 - 2.58
  232. Gustavo Chamone helped find a rare bug in symon/sm_io.c. strsep()
  233. would clobber stream information and make the first stream in the
  234. configuration file disappear.
  235. Daniel Hartmeier patched symon/sm_pf.c to deal with changes pf. His
  236. patch should also work for previous versions of pf.
  237. 10/01/2003 - 2.57
  238. Christian Weisgerber reported that netinet/ip_ipsp.h already defines
  239. htonq - fixed. Will Wainwright reported 1) a small bug in
  240. test_config.php - fixed, 2) that I left out some files
  241. (class_proc.inc and class_debug.inc) from the PLIST files.
  242. 29/12/2002 - 2.56
  243. Added proc and debug symon2web frontends. Debug has limited
  244. useability, you are better off defining one for yourself.
  245. 14/12/2002 -
  246. Added the proc module. This can be used to retrieve accumulated
  247. information about processes with the same name. A proc(httpd)
  248. statement in symon.conf, for instance, will result in the reporting
  249. of the number of processes called "httpd" and the amounts of cpu and
  250. memory that they take.
  251. Added em device to c_smrrds.sh - thanks to Jung. Fixed typo in
  252. SymuxClient.pm - thanks Tobias Gresch. c_config.sh did not deal with
  253. type mfs devices - thanks Dom De Vitto.
  254. 29/11/2002 - 2.55
  255. Markus Friedl reported that unresolvable ip addresses cannot be used
  256. in the configuration file - fixed.
  257. Overhauled the networking code. Everything is now ip6 aware. This
  258. does mean that the ':' is no longer a keyword in the lexer;
  259. i.e. 'host:port' statements should now be written as 'host
  260. port' or 'host "port" port'.
  261. Added the debug module. This can be used to retrieve debug0
  262. ... debug19 variables from the kernel.
  263. 08/11/2002 - 2.54
  264. Added a perl module that allows ppl to connect to symux and do
  265. something with the measurements as they come in. (I plan to drive an
  266. LCD using this, but it could also be used to get, say, daily
  267. bandwidth usage)
  268. Clients of symux would not sleep after they had read and relayed data
  269. symux gave to them. This could lead to one child eating up multiple
  270. 'semaphore slots' and starvation in other clients - fixed.
  271. 25/10/2002 - 2.53
  272. Henning Brauer suggested a datadir statement for symux configuration
  273. - added.
  274. Henning also reported that c_smrrds.sh cannot create vlan10 and
  275. up. c_smrrds.sh now has a special case for pseudo-interfaces (bridge,
  276. enc, faith, gif, ppp, sppp, strip, tun, vlan)
  277. Nick Nauwelaerts helped improve dependency definitions in the port
  278. Makefile.
  279. 18/10/2002 - 2.52
  280. Julien Touche reported that symon/symux do not report initial cfg
  281. errors on the commandline - fixed.
  282. Reinhard Sammer, Julien and Henning Brauer all noticed that the php
  283. code needed globals - fixed. Passing by reference at call time
  284. resulted in php warnings - fixed.
  285. Henning thought it was nice to see a single machine at a time. Julien
  286. wanted clickable magnification for individual graphs. Both options
  287. can now be configured in datasources.inc.
  288. Resolved a bug reported by Vincent Kessler (who also provided the fix
  289. - cheers mate) in the rrdupdate call in symux - optind needs to be
  290. cleared ahead of the getopt call in rrdupdate.
  291. The Makefile.inc no longer overwrites CFLAGS. Configuration
  292. directories are now taken from the environment as expected by the
  293. openbsd ports system. (Thanks to Nick Nauwelaerts for pointing this
  294. out)
  295. Installation of symon now also generates a default symon.conf file if
  296. the system does not already have one.
  297. Someone at www.deadly.org pointed out that symon is no longer
  298. compatible with OpenBSD 3.0 - removed claim from the website.
  299. Added -f file switch to symon.
  300. The lexer started parsing from character position 1 instead of 0.
  301. symux would bomb out after a hup - fixed.
  302. 14/09/2002 - 2.51
  303. Steve Shockley reported that the port Makefile did not install rrd
  304. tool. (Which is required for compilation of symux)
  305. 13/09/2002 - 2.5 - kvm gone, renamed mon to symon
  306. Rewrote io.c to obtain information via sysctl only. All kvm code is
  307. now gone.
  308. Renamed mon to symon, monmux to symux and mon2web to symon2web. I
  309. liked mon better, but that name is already taken.
  310. Cleaned up webpages to be XHTML 1.0.
  311. 10/09/2002 - 2.4
  312. Added some example pf graphs. This data is hard to plot, ideas are
  313. welcome. Added better port support.
  314. 09/09/2002 - Towards a better port makefile
  315. Reworked port Makefile. It now generates a number of packages that
  316. can be used to just install mon, monmux or mon2web. The KVM stuff has
  317. become a special flavor of the monitor package.
  318. 06/09/2002 - Cosmetics again
  319. monmux/c_monrrds.sh:
  320. - Added RRD_ARGS support. All created rrds have
  321. start=epoch. Incoming data from hosts may be from an earlier time
  322. than rrd creation now.
  323. mon2web/class_[io|if|mem|cpu].inc, index.php:
  324. - Rewrote argument representation of the graphs to be the same as
  325. how it is configured in the configuration files.
  326. mon2web/class_pf.inc, graph_pf.php:
  327. - Initial pf support.
  328. 01/09/2002 - Internal cosmetics - not released
  329. mon/mon.c:
  330. - mon packetsize is still limited by size of struct monpacket in
  331. data.h:79. All other limits have been removed.
  332. lib/data.c mon/monnet.c monmux/muxnet.c:
  333. - header structure is now safely transported across the network.
  334. lib/data.c
  335. - added streamtypes b(yte) and s(hort) in preparation for new
  336. streams.
  337. 31/08/2002 - 2.3
  338. Makefiles, mon/mon.c:
  339. - Environment variable KVM will enable the building of a setgid
  340. kmem version of the monitor. If this environment variable is not
  341. present, a non priviledged monitor will be built. (Note that all
  342. kvm dependant modules will fail during operation)
  343. After today's changes, only the io probe needs kvm.
  344. mon/if.c:
  345. - obtain ifdata as per h1kari's suggestion.
  346. mon/pf.c:
  347. - global naming in sync with other probes
  348. - repeated initialisation would eat up fds
  349. Jan Sipke van der Veen
  350. - version number inconcistencies (main pkg/syslog)
  351. Daniel Hartmeier
  352. - shmat usage in monmux/share.c != 64 bit safe
  353. - some cpp macros missed precendence parenthesis
  354. 29/08/2002 - 2.2
  355. Merged contributions by Daniel Hartmeier:
  356. - cpu probe had a nasty va_arg bug that only showed up on
  357. big-endian machines.
  358. 29/08/2002 - 2.1
  359. Merged contributions by Daniel Hartmeier:
  360. - pf probe
  361. - changes to make mon compile on macppc and sparc64
  362. 28/08/2002 - released 2.0
  363. monitoring behaviour (mon) separated from storage/forwarding
  364. (monmux) and picture display (mon2web). Only mon has to run with
  365. kmem priviledges because of the if and io probes. Although the
  366. entire package was built with portability to other OpenBSD
  367. architectures in mind, it was never tested.
  368. ==== unreleased ====
  369. 25/07/2002 - rewrite stringptr functions in monmux to snprintf ones
  370. - package it for openbsd
  371. - added a crc32 algorithm in netmon and netmux
  372. - added DEBUG handling in Makefiles
  373. - removed a bug in monmux that made it reprocess already processed data.
  374. 22/06/2002 - added shared code, upgraded networking code
  375. 04/04/2002 - changed mon/monmux.conf format
  376. written manual pages
  377. look at mon/cpu.c/percentages, give appropriate people credits.
  378. 01/04/2002 - changed all memsets into bzero
  379. all output messages have the same format now
  380. write pids in /var/run
  381. SIGHUP = reload configuration
  382. 31/03/2002 - cleaned up source
  383. added error reporting routines.
  384. 29/03/2002 - mon and monmux no use monpacket to communicate with each
  385. other. This format defines: version, lenght and crc of the traffic
  386. exchanged.
  387. mon no longer connects. monmux and mon can be started and stopped
  388. independently.
  389. monmux now checks if incoming traffic is allowed from a certain host.
  390. added rrd write support to monmux
  391. made c_monrrds.sh determine what files to build from environment
  392. got mon2web up to date with mon1. changed interface layout to
  393. have output as a negative area - i'm not finished with this.
  394. 22/03/2002 - Added get/set preamble, still tinkering with those s(u)(n)pack
  395. functions. Added one that translates it into text.
  396. 06/01/2002 - Removed init and get functions from the monlib. (init functions
  397. were also required in non-mon applications, not like it is
  398. supposed to be :)
  399. Next step is to rewrite the get functions into using the pack
  400. function.
  401. 05/01/2002 - Wrote spack and sunpack; endianess agnostic values to bytestream
  402. (and back) functions. The packet format has almost been defined
  403. now.
  404. 24/11/2001 - Rewrote lib to KNF, OpCodes removed
  405. 03/11/2001 - Added datatypes and rewrote readconf to use SLISTs.
  406. 01/10/2001 - Mon configuration is read from a mon.conf.
  407. 29/09/2001 - Lexer had trouble dealing with ip-addresses. Cleaned up the number
  408. parsing code and removed a second comment reader.