Bug#296100: [Pkg-nagios-devel] Bug#296100: nagios-pgsql: postgres process eats 6% CPU
Marcus Better
Marcus Better <marcus@better.se>, 296100@bugs.debian.org
Sun, 20 Feb 2005 19:14:18 +0100
> by any chance do you have this problem if you set LANG to C
Yes, the problem is still there.
Looking at the PgSQL logs, I see statements of the following type
repeating continuously:
-------------------------------------------
2005-02-20 19:06:05 [32291] LOG: statement: BEGIN TRANSACTION
2005-02-20 19:06:05 [32291] LOG: statement: DELETE FROM programstatus;
2005-02-20 19:06:06 [32291] LOG: statement: DELETE FROM hoststatus;
2005-02-20 19:06:11 [32291] LOG: statement: DELETE FROM servicestatus;
2005-02-20 19:06:22 [32291] LOG: statement: INSERT INTO programstatus
(last_update,program_start,nagios_pid,daemon_mode,last_command_check,last_log_rotation,enable_notifications,execute_service_checks,accept_passive_service_checks,enable_event_handlers,obsess_over_services,enable_flap_detection,enable_failure_prediction,process_performance_data)
VALUES
(1108922782::int4::abstime::timestamp,1108922450::int4::abstime::timestamp,'32290','0',1108922748::int4::abstime::timestamp,0::int4::abstime::timestamp,'1','1','1','1','0','0','1','0')
2005-02-20 19:06:22 [32291] LOG: statement: INSERT INTO hoststatus
(host_name,host_status,last_update,last_check,last_state_change,problem_acknowledged,time_up,time_down,time_unreachable,last_notification,current_notification,notifications
...
-----------------------------------------
Then a lot ot INSERT statements follow, apparently one for each service
and host. Then I see a COMMIT, and then a new cycle starts within about
five seconds.
There are also messages like these:
--------------------------------------
2005-02-20 19:07:42 [698] LOG: statement: VACUUM programretention
2005-02-20 19:07:42 [698] WARNING: skipping "programretention" --- only
table or database owner can vacuum it
2005-02-20 19:07:42 [698] LOG: statement: VACUUM hostretention
2005-02-20 19:07:42 [698] WARNING: skipping "hostretention" --- only
table or database owner can vacuum it
2005-02-20 19:07:42 [698] LOG: statement: VACUUM serviceretention
2005-02-20 19:07:42 [698] WARNING: skipping "serviceretention" --- only
table or database owner can vacuum it
---------------------------------------
This looks like quite a lot of activity to me, but still doesn't explain
the high load. I have around four hosts and 25 services in total.