XYMONGEN(1)

๐Ÿ“ฆ
version 4.3.30 ยท 2 versions
, in debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

๐Ÿ‘‘ XYMONGEN โ€” the Xymon webpage generator (that's xymongen(1) bestie, General Commands Manual energy) ๐Ÿ’…

โœจ NAME โœจ

xymongen โ€” the Xymon webpage generator. She makes pages. Iconic ones.


๐ŸŒธ SYNOPSIS ๐ŸŒธ

xymongen -?
xymongen --help
xymongen --version
xymongen [options] [output-directory]

(ok so the available command-line options are described down in the OPTIONS section, keep scrolling bestie ๐Ÿซถ)


๐Ÿ’– DESCRIPTION ๐Ÿ’–

xymongen generates the overview webpages for the Xymon monitor. These are the pages that show you the overall status of your hosts โ€” not the detailed per-test status pages, those are a whole other vibe.

Heads up: the data for these webpages gets pulled from the xymond(8) daemon, and xymongen figures out where to reach xymond by reading the values of the XYMSRV / XYMSERVERS environment variables. If you've got more than one server listed in XYMSERVERS, make sure the first one is the local Xymon server โ€” that's the one xymongen is gonna query for data. No cap.

๐ŸŽ€ OPTIONS ๐ŸŽ€

xymongen has a large number of command-line options. Like, a lot. They change how xymongen behaves and they affect the web pages she generates. Let's get into it โœจ

๐ŸŒˆ GENERAL OPTIONS ๐ŸŒˆ

  • --help or -? โ€” gives you a summary of the available command-line options. Your little cheat sheet.
  • --version โ€” prints the version number of xymongen.
  • --docurl=URL โ€” this one is deprecated, so use the HOSTDOCURL setting in xymonserver.cfg(5) instead, bestie.
  • --doccgi=URL โ€” also deprecated, also use the HOSTDOCURL setting in xymonserver.cfg(5) instead.
  • --doc-window โ€” makes links to documentation for hosts and services open in a new window. The default is to show documentation in the same browser window as the Xymon status.
  • --htmlextension=.EXTENSION โ€” sets the filename extension used for the webpages xymongen generates. By default an extension of .html is used. Note that you need to specify the "dot" โ€” yes, the dot. Don't forget the dot. ๐Ÿซ 
  • --report[=COLUMNNAME] โ€” with this option, xymongen will send a status message with details of how many hosts were processed, how many pages were generated, any errors that occurred during the run, and some timing statistics. The default columnname is "xymongen".
  • --htaccess[=htaccess-filename] โ€” creates .htaccess files when new web page directories are created. The content of these files is determined by the XYMONHTACCESS environment variable (for the top-level directory with xymon.html and nongreen.html); by the XYMONPAGEHTACCESS variable (for the page-level directories); and by the XYMONSUBPAGEHTACCESS variable for subpage- and subparent-level directories. The filename of the .htaccess files defaults to ".htaccess" if no filename is given with this option. The XYMONHTACCESS variable is copied verbatim into the top-level .htaccess file. The XYMONPAGEHTACCESS variable may contain a "%s" where the name of the page gets inserted. The XYMONSUBPAGEHTACCESS variable may contain two "%s" instances: the first is replaced with the pagename, the second with the subpagename.
  • --max-eventcount=N โ€” limits the eventlog on the "All non-green" page to only N events. Default: 100.
  • --max-eventtime=N โ€” limits the eventlog on the "All non-green" page to events that happened within the past N minutes. Default: 240.
  • --no-eventlog โ€” disables the eventlog that's normally displayed on the "All non-green" page.
  • --max-ackcount=N โ€” limits the acknowledgment log on the "All non-green" page to only N events. Default: 25.
  • --max-acktime=N โ€” limits the acknowledgment log on the "All non-green" page to acks that happened within the past N minutes. Default: 240.
  • --no-acklog โ€” disables the acknowledgement log that's normally displayed on the "All non-green" page.
  • --cricitcallog[=Critical log column] โ€” this generates a text-based log of what's shown on the critical.html status page, and sends a status message for the Xymon server itself reflecting the color of the Critical status page. This lets you track when problems have appeared on the critical status page. The logfile is stored in $XYMONSERVERLOGS/criticalstatus.log.
  • --loadhostsfromxymond โ€” instead of reading the hosts.cfg file, xymongen will load the hosts.cfg configuration from the xymond daemon. This eliminates the need for reading the hosts.cfg, and if you've got xymond and xymongen running on different hosts, it also eliminates the need for copying the hosts.cfg file between systems. Note that the "dispinclude" option in hosts.cfg is ignored when this option is enabled.

๐ŸŒŸ PAGE LAYOUT OPTIONS ๐ŸŒŸ

These options affect how the webpages generated by xymongen actually appear in the browser. The aesthetic, if you will ๐Ÿ’…

  • --pages-last โ€” put page- and subpage-links after hosts.
  • --pages-first โ€” put page- and subpage-links before hosts (this is the default).

These two options decide whether a page with links to subpages and hosts has the hosts or the subpages first.

  • --subpagecolumns=N โ€” determines the number of columns used for links to pages and subpages. The default is N=1.
  • --maxrows=N โ€” column headings on a page are by default only shown at the beginning of a page, subpage or group of hosts. This option causes the column headings to repeat for every N hosts shown.
  • --showemptygroups
  • --no-showemptygroups

When groups of hosts are made, display the table and host names even if there are no tests present for any of the hosts in question. Use --no-showemptygroups to hide. (Default: yes)

  • --pagetitle-links โ€” normally, only the colored "dots" next to a page or subpage act as links to the page itself. With this option, the page title will link to the page too.
  • --pagetext-headings โ€” use the description text from the "page" or "subpage" tags as a heading for the page, instead of the "Pages hosted locally" or other standard heading.
  • --no-underline-headings โ€” normally, page headings are underlined using an HTML "horizontal ruler" tag. This option disables the underlining of headings.
  • --recentgifs[=MINUTES] โ€” use images named COLOR-recent.gif for tests, where the test status has changed within the past 24 hours. These GIF files need to be installed in the $XYMONHOME/www/gifs/ directory. By default, the threshold is set to 24 hours โ€” if you want it differently, you can specify the time limit too. E.g. "--recentgifs=3h" will show the recent GIFs for only 3 hours after a status change.
  • --sort-group-only-items โ€” in a normal "group-only" directive, you can specify the order in which the tests are displayed, from left to right. If you'd rather have the tests listed in alphabetical order, use this option โ€” the page will then generate "group-only" groups like it generates normal groups, and sort the tests alphabetically.
  • --dialupskin=URL โ€” if you want to visually show that a test is a dialup-test, you can use an alternate set of icons for the green/red/yellow>/etc. images by specifying this option. The URL parameter specified here overrides the normal setting from the XYMONSKIN environment variable, but only for dialup tests.
  • --reverseskin=URL โ€” same as "--dialupskin", but for reverse tests (tests with '!' in front).
  • --tooltips=[always,never,main] โ€” determines which pages use tooltips to show the description of the host (from the COMMENT entry in the hosts.cfg(5) file). If set to always, tooltips are used on all pages. If set to never, tooltips are never used. If set to main, tooltips are used on the main pages, but not on the "All non-green" or "Critical systems" pages.

๐Ÿฆ‹ COLUMN SELECTION OPTIONS ๐Ÿฆ‹

These options affect which columns (tests) get included in the webpages generated by xymongen. Picking and choosing, as one does.

  • --ignorecolumns=test[,test] โ€” the given columns will be completely ignored by xymongen when generating webpages. Can be used to generate reports where you eliminate some of the more noisy tests, like "msgs".
  • --critical-reds-only โ€” only red status columns will be included on the Critical page. By default, the Critical page will contain hosts with red, yellow and clear status.
  • --nongreen-colors=COLOR[,COLOR] โ€” defines which colors cause a test to appear on the "All non-green" status page. COLOR is red, yellow or purple. The default is to include all three.
  • --nongreen-ignorecolumns=test[,test] โ€” same as the --ignorecolumns, but applies to hosts on the "All non-green" page only.
  • --nongreen-ignorepurples โ€” deprecated, use "--nongreen-colors" instead.
  • --nongreen-ignoredialups โ€” ignore all dialup hosts on the "All non-green" page, including the eventlog.
  • --no-pages โ€” do not generate the normal pages (normally used to generate only the non-green page).
  • --no-nongreen โ€” do not generate the "All non-green" page.
  • --includecolumns=test[,test] โ€” always include these columns on the "All non-green" page. Will include certain columns on the nongreen.html page, regardless of its color. Normally, nongreen.html drops a test-column if all tests are green. This can be used e.g. to always have a link to the trends column (with the RRD graphs) from your nongreen.html page.
  • --eventignore=test[,test] โ€” ignore these tests in the "All non-green" event log display.

๐Ÿ’œ STATUS PROPAGATION OPTIONS ๐Ÿ’œ

These options suppress the normal propagation of a status upwards in the page hierarchy. So basically you can have a test with status yellow or red, but still have the entire page green. It's useful for tests that need not cause an alarm, but where you still want to know the actual status. These options set global defaults for all hosts; you can use the NOPROPRED and NOPROPYELLOW tags in the hosts.cfg(5) file to apply similar limits on a per-host basis.

  • --nopropyellow=test[,test] or --noprop=test[,test] โ€” disable upwards status propagation when YELLOW. The "--noprop" option is deprecated and should not be used.
  • --noproppurple=test[,test] โ€” disable upwards status propagation when PURPLE.
  • --nopropred=test[,test] โ€” disable upwards status propagation when RED or YELLOW.
  • --nopropack=test[,test] โ€” disable upwards status propagation when status has been acknowledged. If you want to disable all acked tests from being propageted, use "--nopropack=*".

๐Ÿ’œ PURPLE STATUS OPTIONS ๐Ÿ’œ

okay so bestie, purple is what happens when a test justโ€ฆ stops reporting. Like, a test status is only valid for a limited amount of time โ€” normally 30 minutes โ€” and once that window passes, the test goes full purple. it's giving "we haven't heard from you in a while and we're worried" energy. ๐Ÿซฅ

  • --purplelog=FILENAME โ€” makes a logfile of every single purple status message, so you have receipts. ๐Ÿ“

๐ŸŒธ ALTERNATE PAGESET OPTIONS ๐ŸŒธ

  • --pageset=PAGESETNAME โ€” build webpages for a different pageset than the default one. go read the PAGESETS section below, it explains everything iykyk.
  • --template=TEMPLATE โ€” use an alternate template for your header and footer files. typically you'd use this together with the --pageset option; again, PAGESETS section below has the tea.

โœจ ALTERNATE OUTPUT FORMATS โœจ

  • --wml[=test1,test2,...] โ€” this one makes xymongen spit out a set of WML "card" files that a WAP device (think cell phone, PDA, etc.) can actually read. ๐Ÿ‘‘ the generated files contain the hosts that have a RED or YELLOW status on the tests you specify. you can use this option to set the default tests to include โ€” those defaults can be overridden or amended using the "WML:" or "NK:" tags in the hosts.cfg(5) file. and if you specify no tests at all? then all tests get included, no cap.
  • --nstab=FILENAME โ€” generates an HTML file suitable for a Netscape 6/Mozilla sidebar entry. to actually let your users get that sidebar entry, you need this Javascript code in a webpage (e.g. you can drop it into the $XYMONHOME/web/stdnormal_header file):
<SCRIPT TYPE="text/javascript">
<!--
function addNetscapePanel() {
   if ((typeof window.sidebar == "object") &&
       (typeof window.sidebar.addPanel == "function"))
      window.sidebar.addPanel ("Xymon",
            "http://your.server.com/nstab.html","");
   else
      alert("Sidebar only for Mozilla or Netscape 6+");
}
//-->
</SCRIPT>

and then you can include an "Add this to sidebar" link using this as a template:

   <A HREF="javascript:addNetscapePanel();">Add to Sidebar</A>

or, if you'd rather have the standard Netscape "Add tab" button, you'd do it with:

   <A HREF="javascript:addNetscapePanel();">
      <IMG SRC="/gifs/add-button.gif" HEIGHT=45 WIDTH=100
           ALT="[Add Sidebar]" STYLE="border:0">
   </A>

the "add-button.gif" is available from Netscape at http://developer.netscape.com/docs/manuals/browser/sidebar/add-button.gif.

one thing though โ€” if FILENAME does not begin with a slash, the Netscape sidebar file gets placed in the $XYMONHOME/www/ directory. โœจ

  • --nslimit=COLOR โ€” the minimum color to include in the Netscape Sidebar โ€” default is "red", meaning only critical alerts make the cut. want warnings too? use "--nslimit=yellow". ๐Ÿ’…
  • --rss โ€” generate an RSS/RDF content delivery stream of your Xymon alerts. this output format can be dynamically embedded in other web pages, much like the live newsfeeds you see all over websites. two RSS files get generated: one reflects the "All non-green" page, the other reflects the "Critical" page. they land in the "nongreen.rss" and "critical.rss" files respectively. plus, an RSS file gets generated for each page and/or subpage, listing the hosts present on that page or subpage. ๐Ÿฆ‹ heads up: the FILENAME parameter that used to be allowed on the --rss option is now obsolete. for more info about RSS/RDF content feeds, please see http://www.syndic8.com/.
  • --rssextension=.EXTENSION โ€” sets the filename extension used for the RSS files xymongen generates. by default, an extension of ".rss" is used. note that you need to specify the "dot".
  • --rssversion={0.91|0.92|1.0|2.0} โ€” the desired output format of the RSS/RDF feed. version 0.91 appears to be the most commonly used format, and it's the default if you omit this option.
  • --rsslimit=COLOR โ€” the minimum color to include in the RSS feed โ€” default is "red", meaning only critical alerts are included. want warnings too? use "--rsslimit=yellow". ๐ŸŒˆ

๐ŸŽ€ OPTIONS USED BY CGI FRONT-ENDS ๐ŸŽ€

  • --reportopts=START:END:DYNAMIC:STYLE โ€” invokes xymongen in report-generation mode. this is normally used by the report.cgi(1) CGI script, but you can also use it directly when pre-generating reports. here's the breakdown, bestie:
    • START is the start-time for the report in Unix time_t format (seconds since Jan 1st 1970 00:00 UTC)
    • END is the end-time for the report
    • DYNAMIC is 0 for a pre-built report and 1 for a dynamic (on-line) report
    • STYLE is "crit" to include only critical (red) events, "nongr" to include all non-green events, and "all" to include all events.
  • --csv=FILENAME โ€” used together with --reportopts, this makes xymongen generate an availability report as a comma-separated values (CSV) file. this format is commonly used for importing into spreadsheets for further processing. ๐Ÿ“Š the CSV file includes Unix timestamps. to display these as human readable times in Excel, you can use the formula =C2/86400+DATEVALUE(1-jan-1970) (if you have the Unix timestamp in the cell C2). the result cell should be formatted as a date/time field. note that the timestamps are in UTC, so you may also need to handle local timezone and DST issues yourself. ๐Ÿ˜ญ
  • --csvdelim=DELIMITER โ€” by default, a comma is used to delimit fields in the CSV output. some non-english spreadsheets use a different delimiter, typically semi-colon. to generate a CSV file with the proper delimiter, you can use this option to set the character used as delimiter. e.g. "--csvdelim=;" โ€” note that this normally should be in double quotes, to prevent the Unix shell from interpreting the delimiter character as a command-line delimiter. ๐Ÿš
  • --snapshot=TIME โ€” generate a snapshot of the Xymon pages, as they appeared at TIME. TIME is given as seconds since Jan 1st 1970 00:00 UTC. normally used via the snapshot.cgi(1) CGI script.

๐Ÿ’€ DEBUGGING OPTIONS ๐Ÿ’€

  • --debug โ€” causes xymongen to dump large amounts of debugging output to stdout, if it was compiled with the -DDEBUG enabled. when reporting a problem with xymongen, please try to reproduce the problem and provide the output from running xymongen with this option. ๐Ÿ™
  • --timing โ€” dumps information about the time spent by various parts of xymongen to stdout. this is useful to see what part of the processing is responsible for the run-time of xymongen. ๐Ÿ•
note: this information is also provided in the output sent to the Xymon display when using the "--report" option.

๐Ÿงš BUILDING ALTERNATE PAGESETS ๐Ÿงš

with version 1.4 of xymongen comes the possibility to generate multiple sets of pages from the same data. slay. ๐Ÿ’…

say you've got two groups of people looking at the Xymon webpages. Group A wants the hosts grouped by the client they belong to โ€” that's how you have Xymon set up, the default pageset. now Group B wants the hosts grouped by operating system โ€” let's call it the "os" set. then you'd add the page layout to hosts.cfg like this:

ospage    win          Microsoft Windows
ossubpage   win-nt4      MS Windows NT 4
osgroup NT4 File servers
osgroup NT4 Mail servers
ossubpage   win-xp       MS Windows XP
ospage    unix         Unix
ossubpage   unix-sun     Solaris
ossubpage   unix-linux   Linux

this defines a set of pages with one top-level page (the xymon.html page), two pages linked from xymon.html (win.html and unix.html), and from e.g. the win.html page there are subpages win-nt4.html and win-xp.html. ๐ŸŒธ

the syntax is identical to the normal "page" and "subpage" directives in hosts.cfg, but the directive is prefixed with the pageset name. don't put any hosts in-between the page and subpage directives โ€” just add all the directives at the top of the hosts.cfg file.

so how do you add hosts to the pages, then? simple โ€” just put a tag "OS:win-xp" on the host definition line. the "OS" must be the same as the prefix used for the pageset names, but in uppercase. the "win-xp" must match one of the pages or subpages defined within this pageset. e.g.

207.46.249.190  www.microsoft.com # OS:win-xp http://www.microsoft.com/
64.124.140.181  www.sun.com # OS:unix-sun http://www.sun.com/

if you want the host to appear inside a group defined on that page, you must identify the group by number, starting at 1. e.g. to put a host inside the "NT4 Mail servers" group in the example above, use "OS:win-nt4,2" (the second group on the "win-nt4" page). ๐ŸŽฏ

if you want the host to show up on the frontpage instead of a subpage, use "OS:*".

all of this just defines the layout of the new pageset. to actually generate it, you must run xymongen once for each pageset you define โ€” i.e. create an extension script like this:

#!/bin/sh

XYMONWEB="/xymon/os" $XYMONHOME/bin/xymongen \
     --pageset=os --template=os \
     $XYMONHOME/www/os/

save this to $XYMONHOME/ext/os-display.sh, and set this up to run as a Xymon extension; this means adding an extra section to tasks.cfg to run it. ๐Ÿ“Œ

this generates the pages. there are some important options used here:

  • XYMONWEB="/xymon/os" environment variable, and the "$XYMONHOME/www/os/" option work together, and places the new pageset HTML files in a subdirectory off the normal Xymon webroot. if you normally access the Xymon pages as "http://xymon.acme.com/xymon/", you will then access the new pageset as "http://xymon.acme.com/xymon/os/".
NB: the directory given as XYMONWEB must contain a symbolic link to the $XYMONHOME/www/html/ directory, or links to individual status messages will not work. similar links should be made for the gifs/, help/ and notes/ directories. โš ๏ธ
  • "--pageset=os" tells xymongen to structure the webpages using the "os" layout, instead of the default layout.
  • "--template=os" tells xymongen to use a different set of header- and footer-templates. normally xymongen uses the standard template in $XYMONHOME/web/stdnormal_header and .../stdnormal_footer โ€” with this option, it will instead use the files "os_header" and "os_footer" from the $XYMONHOME/web/ directory. this allows you to customize headers and footers for each pageset. if you just want to use the normal template, you can omit this option. โœจ

๐Ÿ’– USING XYMONGEN FOR REPORTS ๐Ÿ’–

okay so bestie, the reporting era of xymongen is literally just drop-in replacements for the standard Xymon reporting scripts (report.sh and reportlog.sh) that live in your webservers cgi-bin directory. no cap. ๐ŸŽ€

Those two shell scripts got swapped out for two very tiny shell scripts that do nothing but set up the Xymon environment variables and then invoke the report.cgi(1) or reportlog.cgi(1) scripts over in $XYMONHOME/bin/. iconic behavior honestly. โœจ

You can absolutely use xymongen command-line options when generating reports, like:

  • to exclude certain types of tests (e.g. "--ignorecolumns=msgs") from the reports ๐Ÿšซ
  • to specify the name of the trends- and info- columns that should not be in the report
  • or to format the report differently (e.g. "--subpagecolumns=2")

If you want certain options used whenever a report is generated from the web interface, put those options into your $XYMONHOME/etc/xymonserver.cfg file in the XYMONGENREPOPTS environment variable. set it and forget it, queen. ๐Ÿ‘‘

The report files generated by xymongen get stored in individual directories (one per report) below the $XYMONHOME/www/rep/ directory. These should be automatically cleaned up โ€” as new reports are generated, the old ones get removed. self-cleaning, we love a low-maintenance icon. ๐Ÿงš

After installing, try generating a report. You will probably see that the links in the upper left corner (to ack.html, nongreen.html etc.) no longer work. ๐Ÿ™ˆ To fix these, change your $XYMONHOME/web/repnormal_header file so these links do not refer to "&XYMONWEB" but to the normal URL prefix for your Xymon pages. little glow-up, that's it. ๐Ÿ’…


๐ŸŒธ SLA REPORTING ๐ŸŒธ

xymongen reporting allows for the generation of true SLA (Service Level Agreement) reports, also for service periods that are not 24x7. fr fr. This is enabled by defining a "REPORTTIME:timespec" tag for the hosts to define the service period, and optionally a "WARNPCT:level" tag to define the agreed availability.

Note: See hosts.cfg(5) for the exact syntax of these options. ๐Ÿ“

"REPORTTIME:timespec" specifies the time of day when the service is expected to be up and running. By default this is 24 hours a day, all days of the week. If your SLA only covers Mon-Fri 7am - 8pm, you define this as "REPORTTIME=W:0700:2000", and the report generator will then compute both the normal 24x7 availability but also a "SLA availability" which only takes the status of the host during the SLA period into account. two reports for the price of one, slay. ๐Ÿ’–

The DOWNTIME:timespec parameter affects the SLA availability calculation. If an outage occurs during the time defined as possible "DOWNTIME", then the failure is reported with a status of "blue". (The same color is used if you "disable" then host using the Xymon "disable" function.) The time when the test status is "blue" is not included in the SLA calculation โ€” neither in the amount of time where the host is considered down, nor in the total amount of time that the report covers. So "blue" time is effectively ignored by the SLA availability calculation, allowing you to have planned downtime without affecting the reported SLA availability. blue = ghosted, basically. ๐Ÿ’€

Example: A host has "DOWNTIME:*:0700:0730 REPORTTIME=W:0600:2200" because it is rebooted every day between 7am and 7.30am, but the service must be available from 6am to 10pm. For the day of the report, it was down from 7:10am to 7:15am (the planned reboot), but also from 9:53pm to 10:15pm. So the events for the day are:

0700 : green for 10 minutes (600 seconds)
0710 : blue for 5 minutes (300 seconds)
0715 : green for 14 hours 38 minutes (52680 seconds)
2153 : red for 22 minutes (1320 seconds)
2215 : green

The service is available for 600+52680 = 53280 seconds. It is down (red) for 420 seconds (the time from 21:53 until 22:00 when the SLA period ends). The total time included in the report is 15 hours (7am - 10pm) except the 5 minutes blue = 53700 seconds. So the SLA availability is 53280/53700 = 99,22% ๐ŸŽ‰

The "WARNPCT:level" tag is supported in the hosts.cfg file, to set the availability threshold on a host-by-host basis. This threshold determines whether a test is reported as green, yellow or red in the reports. A default value can be set for all hosts with the via the XYMONREPWARN environment variable, but overridden by this tag. The level is given as a percentage, e.g. "WARNPCT:98.5". math queen ๐Ÿงฎโœจ


๐Ÿฆ‹ PRE-GENERATED REPORTS ๐Ÿฆ‹

Normally, xymongen produce reports that link to dynamically generated webpages with the detailed status of a test (via the reportlog.sh CGI script).

It is possible to have xymongen produce a report without these dynamic links, so the report can be exported to another server. It may also be useful to pre-generate the reports, to lower the load by having multiple users generate the same reports. sharing is caring, bestie. ๐Ÿซถ

To do this, you must run xymongen with the "--reportopts" option to select the time interval that the report covers, the reporting style (critical, non-green, or all events), and to request that no dynamic pages are to be generated.

The syntax is:

xymongen --reportopts=starttime:endtime:nodynamic:style

"starttime" and "endtime" are specified as Unix time_t values, i.e. seconds since Jan 1st 1970 00:00 GMT. Fortunately, this can easily be computed with the GNU date utility if you use the "+%s" output option. If you don't have the GNU date utility, either pick that up from www.gnu.org; or you can use the "etime" utility for the same purpose, which is available from the archive at www.deadcat.net. ๐Ÿ˜ญ we love a workaround

"nodynamic" is either 0 (for dynamic pages, the default) or 1 (for no dynamic, i.e. pre-generated, pages).

"style" is either "crit" (include critical i.e. red events only), "nongr" (include all non-green events), or "all" (include all events).

Other xymongen options can be used, e.g. "--ignorecolumns" if you want to exclude certain tests from the report.

You will normally also need to specify the XYMONWEB environment variable (it must match the base URL for where the report will be made accessible from), and an output directory where the report files are saved. If you specify XYMONWEB, you should probably also define the XYMONHELPSKIN and XYMONNOTESSKIN environment variables. These should point to the URL where your Xymon help- and notes-files are located; if they are not defined, the links to help- and notes-files will point inside the report directory and will probably not work. ๐Ÿšจ so don't skip these

So a typical invocation of xymongen for a static report would be:

START=`date +%s --date="22 Jun 2003 00:00:00"`
END=`date +%s --date="22 Jun 2003 23:59:59"`
XYMONWEB=/reports/bigbrother/daily/2003/06/22 \
XYMONHELPSKIN=/xymon/help \
XYMONNOTESSKIN=/xymon/notes \
xymongen --reportopts=$START:$END:1:crit \
      --subpagecolumns=2 \
      /var/www/docroot/reports/xymon/daily/2003/06/22

The "XYMONWEB" setting means that the report will be available with a URL of "http://www.server.com/reports/xymon/daily/2003/06/22". The report contains internal links that use this URL, so it cannot be easily moved to another location. ๐Ÿซ 

The last parameter is the corresponding physical directory on your webserver matching the XYMONWEB URL. You can of course create the report files anywhere you like โ€” perhaps on another machine โ€” and then move them to the webserver later on.

Note how the date(1) utility is used to calculate the start- and end-time parameters. ๐Ÿ‘‘


โœจ ENVIRONMENT VARIABLES โœจ

  • BOARDFILTER โ€” Filter used to select what hosts / tests are included in the webpages, by filtering the data retrieved from xymond vi the xymondboard command. See xymon(1) for details on the filter syntax. By default, no filtering is done. ๐Ÿ”

๐ŸŒˆ SEE ALSO ๐ŸŒˆ

hosts.cfg(5), xymonserver.cfg(5), tasks.cfg(5), report.cgi(1), snapshot.cgi(1), xymon(7)


and that's a wrap on this whole entire page, bestie ๐ŸŽ€๐Ÿ’œ this is Xymon, Version 4.3.30: 4 Sep 2019, and yes, this was XYMONGEN(1). go forth and generate the prettiest reports. periodt. ๐Ÿ’…โœจ

๐Ÿ“ฆ where this page comes from