Martin,

Thank you; this is great information.
I think a feature like you mention would be very useful (ability to
configure auto-purging of events after x years).

Thanks again,
Ryan

On Thu, May 17, 2012 at 4:10 PM, Martin Pala <[email protected]> wrote:

> Hello Ryan,
>
> yes, it's possible to increase the timeout: the data are fetched via JSON,
> you can modify the value in the "docroot/reports/events/index.csp" file
> (for M/Monit 2.4):
>
>        myDataSource.connTimeout = 5000;
>
> The value is in milliseconds => 5000ms = 5s.
>
>
>
> The direct delete from the event table is possible:
>
>        DELETE FROM event WHERE collectedsec > <unixtime_timestamp>;
>
> You can do the delete online - in such case the events count link for host
> and its services in the status page table won't match the real count, as
> the counts are cached to offload the expensive query. The event counts can
> be fixed too, but you'll need to stop M/Monit during the process, so it the
> in-memory and database counts will be consistent:
>
> 1.) stop M/Monit
> 2.) run:
>        UPDATE host SET eventscount=(SELECT COUNT(*) FROM event WHERE
> event.hostid=host.id);
>        UPDATE service SET eventscount=(SELECT COUNT(*) FROM event WHERE
> event.hostid=service.hostid AND event.service_nameid=service.nameid);
> 3.) start M/Monit
>
>
> We can implement automatic purging of events older then given time if it
> will help you => default can be keep all events, optionally set to delete
> events older then for example 2 years.
>
>
> Regards,
> Martin
>
>
>
> On May 16, 2012, at 8:22 PM, Ryan Revels wrote:
>
> > I'm using PostgreSQL as my backend for M/Monit. The table event is
> currently over 1M lines. With a table this large, the Events page on the
> GUI times out with a JSON error:
> > Load error: Internal Server error
> >
> > I've tried tweaking PostgreSQL and adding additional indexes to make the
> query faster but have had no luck. Is there a way to increase the 5 second
> timeout for this query when building the GUI table: SELECT event.hostid,
> nh.name AS hostname, event.collectedsec, ns.name AS servicename,
> event.state, event.message, event.hasnotice, event.id FROM event, host,
> name nh, name ns   WHERE event.hostid=host.id AND host.nameid=nh.id AND
> event.service_nameid=ns.id    ORDER BY event.collectedsec desc,
> event.collectedusec desc LIMIT 15 OFFSET 0;
> >
> > If not, what is the proper way to remove old data to decrease the size
> of the table?
> > Is there another option I'm not considering?
> >
> > Thanks,
> > Ryan
> > --
> > To unsubscribe:
> > https://lists.nongnu.org/mailman/listinfo/monit-general
>
>
> --
> To unsubscribe:
> https://lists.nongnu.org/mailman/listinfo/monit-general
>
--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general

Reply via email to