Nagios Plugin for Cacti (NPC) Released
Moderators: Developers, Moderators
- divagater
- Cacti User
- Posts: 191
- Joined: Wed Nov 17, 2004 5:22 pm
- Location: Chapel Hill, NC.
- Contact:
Nagios Plugin for Cacti (NPC) Released
NOTE: This thread was for the original alpha release of NPC in 2005 and is now obsolete. The current thread for NPC 2.x is: http://forums.cacti.net/viewtopic.php?t=26540
I have an alpha release ready for the folks who are interested to check out. NPC 0.1.1a can be downloaded from http://www.divagater.com/npc/
I have been running it in my production environment for a little over a month and have not noticed any major issues like data inconsistency with Nagios.
For those interested in making changes or just looking under the covers I apologize in advance for the code. I am a PHP novice and what I wrote, although functional, would not meet the standards of good MVC design.
If you have trouble with anything I will do my best to answer questions.
Cheers,
Billy
I have an alpha release ready for the folks who are interested to check out. NPC 0.1.1a can be downloaded from http://www.divagater.com/npc/
I have been running it in my production environment for a little over a month and have not noticed any major issues like data inconsistency with Nagios.
For those interested in making changes or just looking under the covers I apologize in advance for the code. I am a PHP novice and what I wrote, although functional, would not meet the standards of good MVC design.
If you have trouble with anything I will do my best to answer questions.
Cheers,
Billy
Last edited by divagater on Fri Jun 26, 2009 9:09 pm, edited 1 time in total.
Nagios Plugin Release
Awsome Work man.
Can we restrict users to view only specific hosts/services under nagios
plugin. Like we can restrict users to specific Graph under User
Management in cacti.
Thanks,
Can we restrict users to view only specific hosts/services under nagios
plugin. Like we can restrict users to specific Graph under User
Management in cacti.
Thanks,
-
- Cacti User
- Posts: 83
- Joined: Fri Aug 22, 2003 4:33 am
gr888 Job
Gr888 dude....will expect more addtions to this Addon....Waiting for the status map to be integrated to cacti....
Chetan jain
Chetan jain
- divagater
- Cacti User
- Posts: 191
- Joined: Wed Nov 17, 2004 5:22 pm
- Location: Chapel Hill, NC.
- Contact:
I was just thinking about this after getting your email and I think it will be very easy to do. With the current alpha release it can't be done but I will try to get another release out this weekend with the improved permissions.Can we restrict users to view only specific hosts/services under nagios plugin. Like we can restrict users to specific Graph under User Management in cacti.
Cheers,
Billy
-
- Posts: 25
- Joined: Thu Nov 10, 2005 12:00 am
Hi Billy,
Cant wait to get this going. Im having a small issue. I got as far as the make. Can u shed some light as to where i should look? I should note that i just had installed Nagios (from my SuSe dvd). That being the case i put the database info in the config file to point to my cacti info. Is this the problem?
BetaServer:/usr/lib/nagios/plugins # make
gcc -g -O2 -Wall -o inserter.o inserter.c -shared -I../include -I/usr/include/mysql -lmysqlclient -fPIC
inserter.c:43:25: error: mysql/mysql.h: No such file or directory
inserter.c:44:26: error: mysql/errmsg.h: No such file or directory
inserter.c:47:35: error: ../include/nebmodules.h: No such file or directory
inserter.c:48:37: error: ../include/nebcallbacks.h: No such file or directory
inserter.c:49:35: error: ../include/nebstructs.h: No such file or directory
inserter.c:50:31: error: ../include/broker.h: No such file or directory
inserter.c:53:31: error: ../include/config.h: No such file or directory
inserter.c:54:31: error: ../include/common.h: No such file or directory
inserter.c:55:31: error: ../include/nagios.h: No such file or directory
inserter.c:56:32: error: ../include/objects.h: No such file or directory
inserter.c:64: warning: type defaults to âintâ in declaration of âNEB_API_VERSIONâ
inserter.c:64: warning: parameter names (without types) in function declaration
inserter.c:64: warning: data definition has no type or storage class
inserter.c:78: error: syntax error before â*â token
inserter.c:78: warning: type defaults to âintâ in declaration of âhostgroup_listâ
inserter.c:78: warning: data definition has no type or storage class
inserter.c:79: error: syntax error before â*â token
inserter.c:79: warning: type defaults to âintâ in declaration of âservicegroup_listâ
inserter.c:79: warning: data definition has no type or storage class
inserter.c:80: error: syntax error before â*â token
inserter.c:80: warning: type defaults to âintâ in declaration of âhost_listâ
inserter.c:80: warning: data definition has no type or storage class
inserter.c:81: error: syntax error before â*â token
inserter.c:81: warning: type defaults to âintâ in declaration of âservice_listâ
inserter.c:81: warning: data definition has no type or storage class
inserter.c:96: error: syntax error before âmysqlâ
inserter.c:96: warning: type defaults to âintâ in declaration of âmysqlâ
inserter.c:96: warning: data definition has no type or storage class
inserter.c:121: error: âFALSEâ undeclared here (not in a function)
inserter.c:124: error: syntax error before ânebmoduleâ
inserter.c: In function ânebmodule_initâ:
inserter.c:130: error: âhandleâ undeclared (first use in this function)
inserter.c:130: error: (Each undeclared identifier is reported only once
inserter.c:130: error: for each function it appears in.)
inserter.c:132: warning: implicit declaration of function âwrite_to_logs_and_consoleâ
inserter.c:132: error: âNSLOG_INFO_MESSAGEâ undeclared (first use in this function)
inserter.c:132: error: âTRUEâ undeclared (first use in this function)
inserter.c:137: warning: implicit declaration of function âschedule_new_eventâ
inserter.c:137: error: âEVENT_USER_FUNCTIONâ undeclared (first use in this function)
inserter.c:139: warning: implicit declaration of function âmysql_initâ
inserter.c:144: warning: implicit declaration of function âmysql_real_connectâ
inserter.c:144: error: âCLIENT_MULTI_STATEMENTSâ undeclared (first use in this function)
inserter.c:146: warning: implicit declaration of function âsprintfâ
inserter.c:146: warning: incompatible implicit declaration of built-in function âsprintfâ
inserter.c:146: warning: implicit declaration of function âmysql_errorâ
inserter.c:146: warning: format â%sâ expects type âchar *â, but argument 3 has type âintâ
inserter.c:153: warning: implicit declaration of function âneb_register_callbackâ
inserter.c:153: error: âNEBCALLBACK_TIMED_EVENT_DATAâ undeclared (first use in this function)
inserter.c: In function ânebmodule_deinitâ:
inserter.c:164: warning: implicit declaration of function âdeschedule_eventâ
inserter.c:164: error: âEVENT_USER_FUNCTIONâ undeclared (first use in this function)
inserter.c:164: error: âTRUEâ undeclared (first use in this function)
inserter.c:166: error: âNSLOG_INFO_MESSAGEâ undeclared (first use in this function)
inserter.c:168: warning: implicit declaration of function âmysql_closeâ
inserter.c:170: warning: implicit declaration of function âneb_deregister_callbackâ
inserter.c:170: error: âNEBCALLBACK_HOST_STATUS_DATAâ undeclared (first use in this function)
inserter.c:171: error: âNEBCALLBACK_SERVICE_STATUS_DATAâ undeclared (first use in this function)
inserter.c:172: error: âNEBCALLBACK_HOST_CHECK_DATAâ undeclared (first use in this function)
inserter.c:173: error: âNEBCALLBACK_SERVICE_CHECK_DATAâ undeclared (first use in this function)
inserter.c: In function âloadconfigâ:
inserter.c:181: error: âhostâ undeclared (first use in this function)
inserter.c:181: error: âhlâ undeclared (first use in this function)
inserter.c:182: error: âserviceâ undeclared (first use in this function)
inserter.c:182: error: âslâ undeclared (first use in this function)
inserter.c:183: error: âhostgroupâ undeclared (first use in this function)
inserter.c:183: error: âhgâ undeclared (first use in this function)
inserter.c:184: error: âservicegroupâ undeclared (first use in this function)
inserter.c:184: error: âsgâ undeclared (first use in this function)
inserter.c:190: error: âNEBCALLBACK_TIMED_EVENT_DATAâ undeclared (first use in this function)
inserter.c:193: error: ânebstruct_timed_event_dataâ undeclared (first use in this function)
inserter.c:193: error: syntax error before â)â token
inserter.c:193: error: âNEBTYPE_TIMEDEVENT_ADDâ undeclared (first use in this function)
inserter.c:198: warning: implicit declaration of function âasprintfâ
inserter.c:255: warning: value computed is not used
inserter.c:258: error: ânebstruct_host_status_dataâ undeclared (first use in this function)
inserter.c:258: error: syntax error before âdsâ
inserter.c:259: error: âdsâ undeclared (first use in this function)
inserter.c:263: error: âNEBCALLBACK_HOST_STATUS_DATAâ undeclared (first use in this function)
inserter.c:268: warning: incompatible implicit declaration of built-in function âsprintfâ
inserter.c:269: error: âNSLOG_INFO_MESSAGEâ undeclared (first use in this function)
inserter.c:269: error: âTRUEâ undeclared (first use in this function)
inserter.c:271: warning: value computed is not used
inserter.c:274: error: ânebstruct_service_status_dataâ undeclared (first use in this function)
inserter.c:274: error: syntax error before âdsâ
inserter.c:277: error: âNEBCALLBACK_SERVICE_STATUS_DATAâ undeclared (first use in this function)
inserter.c:292: warning: value computed is not used
inserter.c:294: error: âhostgroupmemberâ undeclared (first use in this function)
inserter.c:294: error: âhgmâ undeclared (first use in this function)
inserter.c:347: warning: value computed is not used
inserter.c:349: error: âservicegroupmemberâ undeclared (first use in this function)
inserter.c:349: error: âsgmâ undeclared (first use in this function)
inserter.c:431: error: âNEBCALLBACK_HOST_CHECK_DATAâ undeclared (first use in this function)
inserter.c:432: error: âNEBCALLBACK_SERVICE_CHECK_DATAâ undeclared (first use in this function)
inserter.c: In function âprocessCheckâ:
inserter.c:447: error: âNEBCALLBACK_HOST_CHECK_DATAâ undeclared (first use in this function)
inserter.c:449: error: ânebstruct_host_check_dataâ undeclared (first use in this function)
inserter.c:449: error: âhost_check_dataâ undeclared (first use in this function)
inserter.c:449: error: syntax error before â)â token
inserter.c:451: error: âNEBTYPE_HOSTCHECK_PROCESSEDâ undeclared (first use in this function)
inserter.c:466: error: âNEBCALLBACK_SERVICE_CHECK_DATAâ undeclared (first use in this function)
inserter.c:468: error: ânebstruct_service_check_dataâ undeclared (first use in this function)
inserter.c:468: error: âservice_check_dataâ undeclared (first use in this function)
inserter.c:468: error: syntax error before â)â token
inserter.c:470: error: âNEBTYPE_SERVICECHECK_PROCESSEDâ undeclared (first use in this function)
inserter.c:489: warning: incompatible implicit declaration of built-in function âsprintfâ
inserter.c:490: error: âNSLOG_INFO_MESSAGEâ undeclared (first use in this function)
inserter.c:490: error: âTRUEâ undeclared (first use in this function)
inserter.c: In function âprocessStatusâ:
inserter.c:502: error: âserviceâ undeclared (first use in this function)
inserter.c:502: error: âtmp_serviceâ undeclared (first use in this function)
inserter.c:503: error: âhostâ undeclared (first use in this function)
inserter.c:503: error: âtmp_hostâ undeclared (first use in this function)
inserter.c:509: error: âTRUEâ undeclared (first use in this function)
inserter.c:516: error: âNEBCALLBACK_HOST_STATUS_DATAâ undeclared (first use in this function)
inserter.c:518: error: ânebstruct_host_status_dataâ undeclared (first use in this function)
inserter.c:518: error: âhost_status_dataâ undeclared (first use in this function)
inserter.c:518: error: syntax error before â)â token
inserter.c:519: error: syntax error before â)â token
inserter.c:711: error: âNEBCALLBACK_SERVICE_STATUS_DATAâ undeclared (first use in this function)
inserter.c:713: error: ânebstruct_service_status_dataâ undeclared (first use in this function)
inserter.c:713: error: âservice_status_dataâ undeclared (first use in this function)
inserter.c:713: error: syntax error before â)â token
inserter.c:714: error: syntax error before â)â token
inserter.c:889: warning: incompatible implicit declaration of built-in function âsprintfâ
inserter.c:890: error: âNSLOG_INFO_MESSAGEâ undeclared (first use in this function)
inserter.c: In function âquerifyâ:
inserter.c:913: warning: implicit declaration of function âmysql_real_escape_stringâ
inserter.c: In function âappendâ:
inserter.c:947: error: âNSLOG_INFO_MESSAGEâ undeclared (first use in this function)
inserter.c:947: error: âTRUEâ undeclared (first use in this function)
inserter.c: In function âerr_outâ:
inserter.c:980: error: âNSLOG_INFO_MESSAGEâ undeclared (first use in this function)
inserter.c:980: error: âTRUEâ undeclared (first use in this function)
inserter.c: In function âsql_dumpâ:
inserter.c error: âTRUEâ undeclared (first use in this function)
inserter.c warning: implicit declaration of function âmysql_real_queryâ
inserter.c warning: implicit declaration of function âprintfâ
inserter.c warning: incompatible implicit declaration of built-in function âprintfâ
inserter.c warning: implicit declaration of function âmysql_errnoâ
inserter.c warning: format â%sâ expects type âchar *â, but argument 2 has type âintâ
make: *** [all] Error 1
Cant wait to get this going. Im having a small issue. I got as far as the make. Can u shed some light as to where i should look? I should note that i just had installed Nagios (from my SuSe dvd). That being the case i put the database info in the config file to point to my cacti info. Is this the problem?
BetaServer:/usr/lib/nagios/plugins # make
gcc -g -O2 -Wall -o inserter.o inserter.c -shared -I../include -I/usr/include/mysql -lmysqlclient -fPIC
inserter.c:43:25: error: mysql/mysql.h: No such file or directory
inserter.c:44:26: error: mysql/errmsg.h: No such file or directory
inserter.c:47:35: error: ../include/nebmodules.h: No such file or directory
inserter.c:48:37: error: ../include/nebcallbacks.h: No such file or directory
inserter.c:49:35: error: ../include/nebstructs.h: No such file or directory
inserter.c:50:31: error: ../include/broker.h: No such file or directory
inserter.c:53:31: error: ../include/config.h: No such file or directory
inserter.c:54:31: error: ../include/common.h: No such file or directory
inserter.c:55:31: error: ../include/nagios.h: No such file or directory
inserter.c:56:32: error: ../include/objects.h: No such file or directory
inserter.c:64: warning: type defaults to âintâ in declaration of âNEB_API_VERSIONâ
inserter.c:64: warning: parameter names (without types) in function declaration
inserter.c:64: warning: data definition has no type or storage class
inserter.c:78: error: syntax error before â*â token
inserter.c:78: warning: type defaults to âintâ in declaration of âhostgroup_listâ
inserter.c:78: warning: data definition has no type or storage class
inserter.c:79: error: syntax error before â*â token
inserter.c:79: warning: type defaults to âintâ in declaration of âservicegroup_listâ
inserter.c:79: warning: data definition has no type or storage class
inserter.c:80: error: syntax error before â*â token
inserter.c:80: warning: type defaults to âintâ in declaration of âhost_listâ
inserter.c:80: warning: data definition has no type or storage class
inserter.c:81: error: syntax error before â*â token
inserter.c:81: warning: type defaults to âintâ in declaration of âservice_listâ
inserter.c:81: warning: data definition has no type or storage class
inserter.c:96: error: syntax error before âmysqlâ
inserter.c:96: warning: type defaults to âintâ in declaration of âmysqlâ
inserter.c:96: warning: data definition has no type or storage class
inserter.c:121: error: âFALSEâ undeclared here (not in a function)
inserter.c:124: error: syntax error before ânebmoduleâ
inserter.c: In function ânebmodule_initâ:
inserter.c:130: error: âhandleâ undeclared (first use in this function)
inserter.c:130: error: (Each undeclared identifier is reported only once
inserter.c:130: error: for each function it appears in.)
inserter.c:132: warning: implicit declaration of function âwrite_to_logs_and_consoleâ
inserter.c:132: error: âNSLOG_INFO_MESSAGEâ undeclared (first use in this function)
inserter.c:132: error: âTRUEâ undeclared (first use in this function)
inserter.c:137: warning: implicit declaration of function âschedule_new_eventâ
inserter.c:137: error: âEVENT_USER_FUNCTIONâ undeclared (first use in this function)
inserter.c:139: warning: implicit declaration of function âmysql_initâ
inserter.c:144: warning: implicit declaration of function âmysql_real_connectâ
inserter.c:144: error: âCLIENT_MULTI_STATEMENTSâ undeclared (first use in this function)
inserter.c:146: warning: implicit declaration of function âsprintfâ
inserter.c:146: warning: incompatible implicit declaration of built-in function âsprintfâ
inserter.c:146: warning: implicit declaration of function âmysql_errorâ
inserter.c:146: warning: format â%sâ expects type âchar *â, but argument 3 has type âintâ
inserter.c:153: warning: implicit declaration of function âneb_register_callbackâ
inserter.c:153: error: âNEBCALLBACK_TIMED_EVENT_DATAâ undeclared (first use in this function)
inserter.c: In function ânebmodule_deinitâ:
inserter.c:164: warning: implicit declaration of function âdeschedule_eventâ
inserter.c:164: error: âEVENT_USER_FUNCTIONâ undeclared (first use in this function)
inserter.c:164: error: âTRUEâ undeclared (first use in this function)
inserter.c:166: error: âNSLOG_INFO_MESSAGEâ undeclared (first use in this function)
inserter.c:168: warning: implicit declaration of function âmysql_closeâ
inserter.c:170: warning: implicit declaration of function âneb_deregister_callbackâ
inserter.c:170: error: âNEBCALLBACK_HOST_STATUS_DATAâ undeclared (first use in this function)
inserter.c:171: error: âNEBCALLBACK_SERVICE_STATUS_DATAâ undeclared (first use in this function)
inserter.c:172: error: âNEBCALLBACK_HOST_CHECK_DATAâ undeclared (first use in this function)
inserter.c:173: error: âNEBCALLBACK_SERVICE_CHECK_DATAâ undeclared (first use in this function)
inserter.c: In function âloadconfigâ:
inserter.c:181: error: âhostâ undeclared (first use in this function)
inserter.c:181: error: âhlâ undeclared (first use in this function)
inserter.c:182: error: âserviceâ undeclared (first use in this function)
inserter.c:182: error: âslâ undeclared (first use in this function)
inserter.c:183: error: âhostgroupâ undeclared (first use in this function)
inserter.c:183: error: âhgâ undeclared (first use in this function)
inserter.c:184: error: âservicegroupâ undeclared (first use in this function)
inserter.c:184: error: âsgâ undeclared (first use in this function)
inserter.c:190: error: âNEBCALLBACK_TIMED_EVENT_DATAâ undeclared (first use in this function)
inserter.c:193: error: ânebstruct_timed_event_dataâ undeclared (first use in this function)
inserter.c:193: error: syntax error before â)â token
inserter.c:193: error: âNEBTYPE_TIMEDEVENT_ADDâ undeclared (first use in this function)
inserter.c:198: warning: implicit declaration of function âasprintfâ
inserter.c:255: warning: value computed is not used
inserter.c:258: error: ânebstruct_host_status_dataâ undeclared (first use in this function)
inserter.c:258: error: syntax error before âdsâ
inserter.c:259: error: âdsâ undeclared (first use in this function)
inserter.c:263: error: âNEBCALLBACK_HOST_STATUS_DATAâ undeclared (first use in this function)
inserter.c:268: warning: incompatible implicit declaration of built-in function âsprintfâ
inserter.c:269: error: âNSLOG_INFO_MESSAGEâ undeclared (first use in this function)
inserter.c:269: error: âTRUEâ undeclared (first use in this function)
inserter.c:271: warning: value computed is not used
inserter.c:274: error: ânebstruct_service_status_dataâ undeclared (first use in this function)
inserter.c:274: error: syntax error before âdsâ
inserter.c:277: error: âNEBCALLBACK_SERVICE_STATUS_DATAâ undeclared (first use in this function)
inserter.c:292: warning: value computed is not used
inserter.c:294: error: âhostgroupmemberâ undeclared (first use in this function)
inserter.c:294: error: âhgmâ undeclared (first use in this function)
inserter.c:347: warning: value computed is not used
inserter.c:349: error: âservicegroupmemberâ undeclared (first use in this function)
inserter.c:349: error: âsgmâ undeclared (first use in this function)
inserter.c:431: error: âNEBCALLBACK_HOST_CHECK_DATAâ undeclared (first use in this function)
inserter.c:432: error: âNEBCALLBACK_SERVICE_CHECK_DATAâ undeclared (first use in this function)
inserter.c: In function âprocessCheckâ:
inserter.c:447: error: âNEBCALLBACK_HOST_CHECK_DATAâ undeclared (first use in this function)
inserter.c:449: error: ânebstruct_host_check_dataâ undeclared (first use in this function)
inserter.c:449: error: âhost_check_dataâ undeclared (first use in this function)
inserter.c:449: error: syntax error before â)â token
inserter.c:451: error: âNEBTYPE_HOSTCHECK_PROCESSEDâ undeclared (first use in this function)
inserter.c:466: error: âNEBCALLBACK_SERVICE_CHECK_DATAâ undeclared (first use in this function)
inserter.c:468: error: ânebstruct_service_check_dataâ undeclared (first use in this function)
inserter.c:468: error: âservice_check_dataâ undeclared (first use in this function)
inserter.c:468: error: syntax error before â)â token
inserter.c:470: error: âNEBTYPE_SERVICECHECK_PROCESSEDâ undeclared (first use in this function)
inserter.c:489: warning: incompatible implicit declaration of built-in function âsprintfâ
inserter.c:490: error: âNSLOG_INFO_MESSAGEâ undeclared (first use in this function)
inserter.c:490: error: âTRUEâ undeclared (first use in this function)
inserter.c: In function âprocessStatusâ:
inserter.c:502: error: âserviceâ undeclared (first use in this function)
inserter.c:502: error: âtmp_serviceâ undeclared (first use in this function)
inserter.c:503: error: âhostâ undeclared (first use in this function)
inserter.c:503: error: âtmp_hostâ undeclared (first use in this function)
inserter.c:509: error: âTRUEâ undeclared (first use in this function)
inserter.c:516: error: âNEBCALLBACK_HOST_STATUS_DATAâ undeclared (first use in this function)
inserter.c:518: error: ânebstruct_host_status_dataâ undeclared (first use in this function)
inserter.c:518: error: âhost_status_dataâ undeclared (first use in this function)
inserter.c:518: error: syntax error before â)â token
inserter.c:519: error: syntax error before â)â token
inserter.c:711: error: âNEBCALLBACK_SERVICE_STATUS_DATAâ undeclared (first use in this function)
inserter.c:713: error: ânebstruct_service_status_dataâ undeclared (first use in this function)
inserter.c:713: error: âservice_status_dataâ undeclared (first use in this function)
inserter.c:713: error: syntax error before â)â token
inserter.c:714: error: syntax error before â)â token
inserter.c:889: warning: incompatible implicit declaration of built-in function âsprintfâ
inserter.c:890: error: âNSLOG_INFO_MESSAGEâ undeclared (first use in this function)
inserter.c: In function âquerifyâ:
inserter.c:913: warning: implicit declaration of function âmysql_real_escape_stringâ
inserter.c: In function âappendâ:
inserter.c:947: error: âNSLOG_INFO_MESSAGEâ undeclared (first use in this function)
inserter.c:947: error: âTRUEâ undeclared (first use in this function)
inserter.c: In function âerr_outâ:
inserter.c:980: error: âNSLOG_INFO_MESSAGEâ undeclared (first use in this function)
inserter.c:980: error: âTRUEâ undeclared (first use in this function)
inserter.c: In function âsql_dumpâ:
inserter.c error: âTRUEâ undeclared (first use in this function)
inserter.c warning: implicit declaration of function âmysql_real_queryâ
inserter.c warning: implicit declaration of function âprintfâ
inserter.c warning: incompatible implicit declaration of built-in function âprintfâ
inserter.c warning: implicit declaration of function âmysql_errnoâ
inserter.c warning: format â%sâ expects type âchar *â, but argument 2 has type âintâ
make: *** [all] Error 1
- divagater
- Cacti User
- Posts: 191
- Joined: Wed Nov 17, 2004 5:22 pm
- Location: Chapel Hill, NC.
- Contact:
You are missing the Nagios source and the MySQL development libraries. The inserter module needs to be compiled against the Nagios source.
1st, as per the README please verify that you have Nagios 2.0b4 & MySQL 4.1.x. You will also need the MySQL development package for the version of MySQL you are running. The development package has some required libraries.
NOTE: I just noticed Nagios 2.0b5 is out. As per the change log there were not any changes to the event broker API so this release will probably work fine but I have not tested it yet.
If you installed Nagios from a distribution CD then you prbably ony installed a pre-compiled Nagios. Who ever compiled Nagios may or may not have enabled the event broker which is needed.
The simplest way to get this going will be to download the Nagios src from nagios.org and compile it with --enable-event-broker and any other options you need for your environment.
Download Nagios 2.0b4 or greater
cd /path/to/nagios-src/
./configure --help
./configure --enable-event-broker --with-command-group=<some group>
make
make install <option>
(I like the default install paths but make sure they are what you want. You need the command group option if you want to issue Nagios commands from within NPC. you will create a group and add your httpd user to the group)
Once Nagios is built and installed, copy the inserter.c and makefile from npc/neb/ to /path/to/nagios-src/module. cd to /path/to/nagios-src/module and run make. Now copy inserter.o to /path/to/nagios/modules and set the config options in nagios.cfg that are outlined in the README.
Hope this helps,
Billy
1st, as per the README please verify that you have Nagios 2.0b4 & MySQL 4.1.x. You will also need the MySQL development package for the version of MySQL you are running. The development package has some required libraries.
NOTE: I just noticed Nagios 2.0b5 is out. As per the change log there were not any changes to the event broker API so this release will probably work fine but I have not tested it yet.
If you installed Nagios from a distribution CD then you prbably ony installed a pre-compiled Nagios. Who ever compiled Nagios may or may not have enabled the event broker which is needed.
The simplest way to get this going will be to download the Nagios src from nagios.org and compile it with --enable-event-broker and any other options you need for your environment.
Download Nagios 2.0b4 or greater
cd /path/to/nagios-src/
./configure --help
./configure --enable-event-broker --with-command-group=<some group>
make
make install <option>
(I like the default install paths but make sure they are what you want. You need the command group option if you want to issue Nagios commands from within NPC. you will create a group and add your httpd user to the group)
Once Nagios is built and installed, copy the inserter.c and makefile from npc/neb/ to /path/to/nagios-src/module. cd to /path/to/nagios-src/module and run make. Now copy inserter.o to /path/to/nagios/modules and set the config options in nagios.cfg that are outlined in the README.
Hope this helps,
Billy
Thank you for this Addon!
I tried to install it.
I use:
Debian 1:3.3.5-12
Linux version 2.6.8-2-686
gcc version 3.3.5
Cacti 0.8.6g
Nagios-CVS 14.11.2005
npc-0.1.1a
cacti-plugin-arch Version 0.6 (files-0.8.6g)
MySQL:
mysql Ver 12.22 Distrib 4.0.24, for pc-linux-gnu (i386)
libmysqlclient10-dev <---- wrong? 14-dev won't install
innodb:
mysql> SHOW VARIABLES LIKE '%innodb%';
+---------------------------------+------------------------+
| Variable_name | Value |
+---------------------------------+------------------------+
| have_innodb | YES |
| innodb_additional_mem_pool_size | 1048576 |
| innodb_autoextend_increment | 8 |
| innodb_buffer_pool_size | 8388608 |
| innodb_data_file_path | ibdata1:10M:autoextend |
inserter compile: ok, no error
nagios is installed in /opt/nagios
I found no directory called modules, so I created it
/opt/nagios/modules
inserter.o copied to this directory
nagios.cfg:
broker_module=/opt/nagios/modules/inserter.o
NPC:
On Cacti-Webinterface there is a new tab NPC after I enabled access to view under settings
The dropdownlist for "Nagios Host Mapping" only lists "none".
And how do I call the setup for creating the new mysql-dbs?
/cacti/plugins/npc/setup.php
only a white screen
I found this in /var/log/messages:
Nov 14 15:16:57 srvcacti nagios: Caught SIGTERM, shutting down...
Nov 14 15:16:57 srvcacti nagios: Successfully shutdown... (PID=2158)
Nov 14 15:17:10 srvcacti nagios: Nagios 2.0b4 starting... (PID=5153)
Nov 14 15:17:10 srvcacti nagios: LOG VERSION: 2.0
Nov 14 15:17:10 srvcacti nagios: Error: Could not load module '/opt/nagios/modules/inserter.o' -> /opt/nagios/modules/inserter.o: undefined symbol: compress
Any ideas?
I tried to install it.
I use:
Debian 1:3.3.5-12
Linux version 2.6.8-2-686
gcc version 3.3.5
Cacti 0.8.6g
Nagios-CVS 14.11.2005
npc-0.1.1a
cacti-plugin-arch Version 0.6 (files-0.8.6g)
MySQL:
mysql Ver 12.22 Distrib 4.0.24, for pc-linux-gnu (i386)
libmysqlclient10-dev <---- wrong? 14-dev won't install
innodb:
mysql> SHOW VARIABLES LIKE '%innodb%';
+---------------------------------+------------------------+
| Variable_name | Value |
+---------------------------------+------------------------+
| have_innodb | YES |
| innodb_additional_mem_pool_size | 1048576 |
| innodb_autoextend_increment | 8 |
| innodb_buffer_pool_size | 8388608 |
| innodb_data_file_path | ibdata1:10M:autoextend |
inserter compile: ok, no error
nagios is installed in /opt/nagios
I found no directory called modules, so I created it
/opt/nagios/modules
inserter.o copied to this directory
nagios.cfg:
broker_module=/opt/nagios/modules/inserter.o
NPC:
On Cacti-Webinterface there is a new tab NPC after I enabled access to view under settings
The dropdownlist for "Nagios Host Mapping" only lists "none".
And how do I call the setup for creating the new mysql-dbs?
/cacti/plugins/npc/setup.php
only a white screen
I found this in /var/log/messages:
Nov 14 15:16:57 srvcacti nagios: Caught SIGTERM, shutting down...
Nov 14 15:16:57 srvcacti nagios: Successfully shutdown... (PID=2158)
Nov 14 15:17:10 srvcacti nagios: Nagios 2.0b4 starting... (PID=5153)
Nov 14 15:17:10 srvcacti nagios: LOG VERSION: 2.0
Nov 14 15:17:10 srvcacti nagios: Error: Could not load module '/opt/nagios/modules/inserter.o' -> /opt/nagios/modules/inserter.o: undefined symbol: compress
Any ideas?
- divagater
- Cacti User
- Posts: 191
- Joined: Wed Nov 17, 2004 5:22 pm
- Location: Chapel Hill, NC.
- Contact:
/cacti/plugins/npc/setup.php is run by default anytime you load a Cacti page. Thats part of the plugin architecture so setup.php never needs to be run manually.
I am not entirely certain what the issue is but I suspect its a zlib issue. try modifying the makefile as follows. The make file is simple and consists of only 2 lines.
Change
gcc -g -O2 -Wall -o inserter.o inserter.c -shared -I../include -I/usr/include/mysql -lmysqlclient -fPIC
to
gcc -g -O2 -Wall -o inserter.o inserter.c -shared -I../include -I/usr/include/mysql -lmysqlclient -lz -fPIC
The only difference is that I added -lz after -lmysqlclient. I googled for this solution. Hope it helps you out.
I am not entirely certain what the issue is but I suspect its a zlib issue. try modifying the makefile as follows. The make file is simple and consists of only 2 lines.
Change
gcc -g -O2 -Wall -o inserter.o inserter.c -shared -I../include -I/usr/include/mysql -lmysqlclient -fPIC
to
gcc -g -O2 -Wall -o inserter.o inserter.c -shared -I../include -I/usr/include/mysql -lmysqlclient -lz -fPIC
The only difference is that I added -lz after -lmysqlclient. I googled for this solution. Hope it helps you out.
Great!
I think it fixed my problem:
Nov 16 08:56:33 srvcacti nagios: Nagios 2.0b4 starting... (PID=2521)
Nov 16 08:56:33 srvcacti nagios: LOG VERSION: 2.0
Nov 16 08:56:33 srvcacti nagios: initializing nagios-db mysql inserter...
Nov 16 08:56:33 srvcacti nagios: nagios-db: inserter locked into db
Nov 16 08:56:33 srvcacti nagios: Event broker module '/opt/nagios/modules/inserter.o' initialized successfully.
Nov 16 08:56:33 srvcacti nagios: Finished daemonizing... (New PID=2523)
Nov 16 08:56:33 srvcacti nagios: Table 'cacti.npc_hostgroup_membership' doesn't exist 1146 delete from npc_hostgroup_membership
Nov 16 08:56:33 srvcacti nagios: nagios-db: inserter unloading...
Nov 16 08:56:33 srvcacti nagios: nagios-db: inserter unloading...
Nov 16 08:56:33 srvcacti nagios: nagios-db: inserter unloading...
Nov 16 08:56:33 srvcacti nagios: nagios-db: inserter unloading...
Nov 16 08:56:33 srvcacti nagios: nagios-db: inserter unloading...
Nov 16 08:56:33 srvcacti nagios: nagios-db: configured 5 hosts
Thx ... now I will visit Linux World in Frankfurt
I think it fixed my problem:
Nov 16 08:56:33 srvcacti nagios: Nagios 2.0b4 starting... (PID=2521)
Nov 16 08:56:33 srvcacti nagios: LOG VERSION: 2.0
Nov 16 08:56:33 srvcacti nagios: initializing nagios-db mysql inserter...
Nov 16 08:56:33 srvcacti nagios: nagios-db: inserter locked into db
Nov 16 08:56:33 srvcacti nagios: Event broker module '/opt/nagios/modules/inserter.o' initialized successfully.
Nov 16 08:56:33 srvcacti nagios: Finished daemonizing... (New PID=2523)
Nov 16 08:56:33 srvcacti nagios: Table 'cacti.npc_hostgroup_membership' doesn't exist 1146 delete from npc_hostgroup_membership
Nov 16 08:56:33 srvcacti nagios: nagios-db: inserter unloading...
Nov 16 08:56:33 srvcacti nagios: nagios-db: inserter unloading...
Nov 16 08:56:33 srvcacti nagios: nagios-db: inserter unloading...
Nov 16 08:56:33 srvcacti nagios: nagios-db: inserter unloading...
Nov 16 08:56:33 srvcacti nagios: nagios-db: inserter unloading...
Nov 16 08:56:33 srvcacti nagios: nagios-db: configured 5 hosts
Thx ... now I will visit Linux World in Frankfurt
- divagater
- Cacti User
- Posts: 191
- Joined: Wed Nov 17, 2004 5:22 pm
- Location: Chapel Hill, NC.
- Contact:
I am glad that fix got the inserter module loaded. I don't like this line though:
Table 'cacti.npc_hostgroup_membership' doesn't exist 1146 delete from npc_hostgroup_membership
The first time you loaded NPC all the tables should have been created. Verify that you have the following tables in your cacti database:
npc_comment
npc_config_params
npc_flapping_host
npc_flapping_service
npc_host
npc_host_check
npc_host_history
npc_hostgroup
npc_hostgroup_membership
npc_service
npc_service_check
npc_service_history
npc_servicegroup
npc_servicegroup_membership
If you do not have all the tables listed its possible there is an sql error in setup.php.
If there is a table missing find the CREATE TABLE <table name> sql in setup.php. The full sql will be everything between the double quotes. Copy the sql and run it manually against the cacti db using your favorite mysql client. Send me any errors.
Cheers,
Billy
Table 'cacti.npc_hostgroup_membership' doesn't exist 1146 delete from npc_hostgroup_membership
The first time you loaded NPC all the tables should have been created. Verify that you have the following tables in your cacti database:
npc_comment
npc_config_params
npc_flapping_host
npc_flapping_service
npc_host
npc_host_check
npc_host_history
npc_hostgroup
npc_hostgroup_membership
npc_service
npc_service_check
npc_service_history
npc_servicegroup
npc_servicegroup_membership
If you do not have all the tables listed its possible there is an sql error in setup.php.
If there is a table missing find the CREATE TABLE <table name> sql in setup.php. The full sql will be everything between the double quotes. Copy the sql and run it manually against the cacti db using your favorite mysql client. Send me any errors.
Cheers,
Billy
OK, all tables are missing in my cacti-db
I tried it manually:
mysql>CREATE TABLE `npc_config_params` (`opt` char(64) NOT NULL default '',`value` int(11) default NULL,PRIMARY KEY (`opt`),UNIQUE KEY `opt` (`opt`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Nagios configuration data';
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=latin1 COMMENT='Nagios configuration data'' at
mysql>CREATE TABLE `npc_flapping_host` (`id` int(11) NOT NULL default '0',PRIMARY KEY (`id`),CONSTRAINT `flapping_host_ibfk_1` FOREIGN KEY (`id`) REFERENCES `npc_host` (`id`) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Flapping hosts';
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=latin1 COMMENT='Flapping hosts'' at line 1
Something with innodb?
Or that I don't use MySQL 4.1 (mysql Ver 12.22 Distrib 4.0.24, for pc-linux-gnu (i386) )
I tried it manually:
mysql>CREATE TABLE `npc_config_params` (`opt` char(64) NOT NULL default '',`value` int(11) default NULL,PRIMARY KEY (`opt`),UNIQUE KEY `opt` (`opt`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Nagios configuration data';
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=latin1 COMMENT='Nagios configuration data'' at
mysql>CREATE TABLE `npc_flapping_host` (`id` int(11) NOT NULL default '0',PRIMARY KEY (`id`),CONSTRAINT `flapping_host_ibfk_1` FOREIGN KEY (`id`) REFERENCES `npc_host` (`id`) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Flapping hosts';
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=latin1 COMMENT='Flapping hosts'' at line 1
Something with innodb?
Or that I don't use MySQL 4.1 (mysql Ver 12.22 Distrib 4.0.24, for pc-linux-gnu (i386) )
Problem with innoDB
I have this error:
Warning: mysql_query(): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=l in /var/www/html/cacti/plugins/npc/setup.php on line 394
rgrds
tko
Warning: mysql_query(): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=l in /var/www/html/cacti/plugins/npc/setup.php on line 394
rgrds
tko
Who is online
Users browsing this forum: No registered users and 0 guests