Hi Thomas, thanks for you long answer. I can really understand that we have more possibilities with a db. You speak fron the bad design of the old Nagios-style database schema. Do you plan to do it better, with a new db schema for example ?
Pfiat-di! Jacques Mineur ________________________________ Deutsche Rentenversicherung Bund Von: Thomas Gelf <thomas.g...@netways.de> An: <icinga-users@lists.icinga.org>, Datum: 24.08.2015 13:35 Betreff: Re: [icinga-users] Antwort: Re: Icinga-web 2 and ido ? Gesendet von: "icinga-users" <icinga-users-boun...@lists.icinga.org> Hi Jaques! > do you plan livestatus also ? TL;DR: no. We actually planned to do so but moved the task to our backlog for now. This means that no related work is going on, it is not scheduled for any release as of the time being and we do not even know whether it will ever happen. We invested some time in a livestatus implementation, the code is still to be found in our git repository. It's IMO already a pretty nice (but unfinished) abstraction of Livestatus functionality. Unfortunately we had to simulate a lot of missing functionality in userspace, as Livestatus is unable to: * sort data * filter by custom variables * join tables * support lots of parallel requests in an efficient way Just to name a few. Livestatus tries to emulate parts of a database without being such. It is basically providing a couple of materialized views in memory, that's simple and fast by design. But it is unable to satisfy a lot of customization needs. If you simulate them in userspace you start wasting resources. Most of the customers I personally work with mostly need features that would become costly: * user restrictions based on custom variables * special sort orders like "problem severity", just to name the most prominent one * history, reporting A click on the last page of a sorted list with thousands of objects would mean to fetch ALL objects through the API. That's still something one could live with, but for memory efficiency reasons we had to change the way our implementation works from "fetch all" to "sort, filter and paginate while streaming". This means while fetching data line by line we applied userspace-filters missing in Livestatus. We filled up intelligent heap data structures, dropping unneeded data as soon as we were sure to not need those lines in the sorted result set. Pretty cool, pretty tricky, absolutely doable. But too much effort for an API we do not really believe in. With IDO we show each objects history in-place, generate completely customizable reports in a breath (availability and more) even in environments with millions of state history lines. All those history-related tasks would never be possible with Livestatus, so no chance it could ever become a first-class citizen in Icinga Web 2. While I hate the old Nagios-style database schema, I really love relational databases. And you can expect a couple of new exciting database-based web2 modules being released to public within this year. Given all this we decided to postpone Livestatus unless someone is willing to sponsor the work required to finish the implementation. Sure, it is absolutely possible, performance will be good, even for large environments, even supporting all kinds of special filters, restrictions and sort rules. Trust me, I wrote most of the current prototype ;-) Still, I have no emotional bindings to that code. Silently dropping all attempts to support Livestatus would be perfectly fine for me. Regards, Thomas -- Thomas Gelf Senior Consultant NETWAYS GmbH | Deutschherrnstr. 15-19 | D-90429 Nuernberg Tel: +49 911 92885-0 | Fax: +49 911 92885-77 GF: Julian Hein, Bernd Erk | AG Nuernberg HRB18461 http://www.netways.de | thomas.g...@netways.de ** OSBConf 2015 - September - osbconf.org ** ** OSMC 2015 - November - netways.de/osmc ** _______________________________________________ icinga-users mailing list icinga-users@lists.icinga.org https://lists.icinga.org/mailman/listinfo/icinga-users _______________________________________________ icinga-users mailing list icinga-users@lists.icinga.org https://lists.icinga.org/mailman/listinfo/icinga-users