[Pkg-nagios-devel] Bug#757104: Bug#757104: Bug#757104: Bug#757104: icinga2-classicui: start page displays icinga1 information
Michael Friedrich
michael.friedrich at gmail.com
Sun Sep 7 21:12:51 UTC 2014
Hi,
Am 07.09.2014 21:15, schrieb Markus Frosch:
>>>
>>> It is simply a web interface, that supports Icinga 2. I wanted to avoid
>>> changing to many files, simply to make it simple to use, and to update.
>> I understand your rationale and am agree that it's not too important to
>> change the main.html for now. But once icinga2 becomes more common as
>> productive monitoring system I suggest that this should be fixed
>> upstream.
> The Classic UI will never be the main interface for Icinga 2, this will
> be the upcoming Icinga Web 2.
>
> Which I'm not sure if it will be ready until Jessie's freeze.
>
> But in the long shot (jessie+1) icingaweb2 will be default, and possibly
> the ClassicUI removed by then.
Classic UI was patched as much it was possible to allow it to be run
standalone. It helped us a lot during the development process of Icinga
2, but there was _never_ the intention involved to have the old Nagios
forked code becoming the one and only interface for Icinga 2. We (the
Icinga 2 core developers) now primarly use Icinga Web 2 snapshots during
development to establish the best level of QA inside the Icinga project,
next to other Icinga interfaces and addons we are aware of (Thruk,
Multisite, NagVis, etc).
While there still is Icinga Web, on the long run, Icinga Web 2 will
become the new development flagship, and the interface being actively
developed for features only Icinga 2 has (and not Icinga 1.x). For
example, cluster views or command arguments. Or some config gui everyone
is talking about for years - if it works out.
The standalone Classic UI has certain shortcomings in terms of a
different backend than it was designed for:
* the command expander does not work with Icinga 2. Commands and
arguments are redesigned in Icinga 2 and there is no way to implement
that in the old printf C code which does not know anything about Icinga
2. I disabled that feature in one of the last Classic UI releases
detecting the backend used.
* the contacts and contactgroup mappings received from
status.dat/objects.cache might work. It's still an ugly workaround used
by Icinga 2 to collect all users/usergroups for all notifications on a
host or service, and then present that to the viewer as "host/service
contact". Not sure if that works well if you use the ugly old way for
"REMOTE_USER == contact for host/service" authorization.
There are certainly other shortcomings, some of them are mentioned on
the migration documentation in detail.
http://docs.icinga.org/icinga2/latest/doc/module/icinga2/chapter/migration#differences-1x-2
While there is a certain possibility to fix some of them, you cannot
expect that for a long term decision (which has already been made when
Icinga Web 2 was started): Icinga Classic UI is the best enhanced Nagios
CGI version you've ever got with Icinga 1.x being a fork of Nagios.
But in the next years, it's a dead horse in regards of Icinga 2. The
code base is horrible to maintain (got better, but still not perfect).
And the frameset is still like "the 90ies called, they want their web
developer back". It's currently far more easy to use DB IDO, External
Command Pipe and Icinga Web, and finally migrate to Icinga Web 2 once
released later this year.
>
>>>> Either the icinga2-classicui package should replace this default start
>>>> page, or icinga-cgi should detect which backend icinga server it
>>>> connects to and display respective information instead.
>>> The CGIs do detect which backend is used, but this is not displayed in
>>> the static HTML pages, only the CGIs themselves.
>> Either the default page should be replaced by a cgi as well or the
>> volatile
>> information should be ripped out of it.
> If someone updates that part of the upstream project we (Icinga Team)
> might include it :)
The default main page can be set when building Icinga, through a
configure option. I'm using that for a long time now for my rpm builds,
and so do the rpm packages on packages.icinga.org
The default is set to "tac.cgi" if you compile from source.
https://github.com/Icinga/icinga-core/blob/master/configure.in#L805
The Debian packages do the very same.
http://anonscm.debian.org/cgit/pkg-nagios/icinga.git/tree/debian/rules#n47
https://github.com/Icinga/icinga2/blob/master/debian/classicui/index.html
In 1.12 a new default is introduced with https://dev.icinga.org/issues/4817
The static main.html (and other html pages) will stick with the 1.x
naming schema. If you want to change it in your Classic UI standalone
packages, feel free to send a 2.x compatible html file upstream, which
then lives in contrib/ or somewhere else for the time being.
Icinga Classic UI is an Icinga 1.x interface, and lucky for everyone
else out there, we're keen on compatibility in Icinga 2 (also one of the
reasons for native Livestatus support). Nothing more, nothing less.
Kind regards,
Michael
--
DI (FH) Michael Friedrich
michael.friedrich at gmail.com || icinga open source monitoring
https://twitter.com/dnsmichi || lead core developer
dnsmichi at jabber.ccc.de || https://www.icinga.org/team
irc.freenode.net/icinga || dnsmichi
More information about the Pkg-nagios-devel
mailing list