[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