Monthly report for all CRITICAL Services

Hello,
I need to produce every end of month a monthly report where are reported all services critical events occured in the month and the the time when it was recovered.

I’ve tried to use history but i’m able to use only the tab of notification because when try to open another tab (example event grid) the mysql service keep my cpu usage to 200% and after certain time i received a php-fpm error (false because it run).
I’ve tried reporting module with SLA but i can’t understand ho to filter for crital events service only in the last 30 days

any help is welcome

1 Like

Hi Davide,

Have you tried a query like this from event history? You can export to CSV or JSON and parse at will:
image

This isn’t using a separate reporting module. I’ve got a lot of data and this loads in a few seconds but would drag the web interface if I tried to expand it there instead of exporting it. Additionally, did you allocate small resources for your MySQL IDO server? I’m running a postgres server with 8 CPU cores and it holds up under a large infrastructure.

If you’re crafty, you can also try querying the IDO database directly. I’ve written a number of reporting tools that gather information for me from there. A hot standby will also let you be pretty aggressive with your queries without slowing down the main database.

3 Likes

Thanks for reply,
ill try to upgrade the vm (now i’ve 4 cores 16gb of ram but manage only 400 hosts e 1600 services) and open the event history, as last possibility i’ll try to build a small script in cron that make query and send te result via email.

i’ll keep you update

I’ve update the system to 8 cpu and 16gb of ram but nothing to do, when click on tab of event overview after 2 minutes appear the php-fpm error page, using htop i see all cpu a 100% and the mysql process keep cpu usage at 800%.

Mysql dump is only 5gb

Thanks in advance

Sorry I haven’t been on the forum, tied up at work.

This is odd. Is it only hammering one CPU core? I don’t know much about how threads/connections work in MySQL, and I’m not about to tell you to drop everything and switch to postgres, but I’m wondering if there’s some performance tuning in MySQL that needs to happen here.

Do you optimze you database regulary like descripted in the docs ?

https://icinga.com/docs/icinga2/latest/doc/14-features/#db-ido-tuning

I bet your database will be alot smaller if you do that. I have customers with alot more hosts and services and i dont see your descripted problems.

2 Likes

thanks a lot for answer, at the end i solved usin a sql script, easy the other solution, btw when i’ll have time i’ll try to follow the link above about db ido tuning

Thanks a lot

1 Like

Could you share a sample SQL query like above here?
That would be good, thank you very much!