CHANGELOG 21 KB

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