I am looking for a way to stop sending acknowledgement notifications but I have been unable to figure it out.
I use acknowledgements to stop the warnings and criticals from showing up in different systems, but I do not want them to send e-mails.
The thing is that all e-mails goes to an external provider that converts them to SMS messages, however the acknowledgements got to long a subject to create as SMSes, so all that happens is that me and the external provider get a few errors every time someone acknowledges a problem.
When you’re at the aknowledgement page of the probelmatic host/service, under “Command options” just uncheck the “Send notification” checkbox and that should surpress the ack. notifications.
[blockquote]Yeah, I’ve seen that option, but trying to teach my fellow technicians to uncheck that every time is harder than learning a monkey to speak.
[/blockquote]
Hehe, know how you feel
Seems to me like you would have to change the source code and compile it again. If you have test box on which you could do that it would be good. I wouldn’t advise you to change the code on a system that works. Except if you are very experienced user and you know what you are doing.
I’m not very good at this but I think I have found what has to be changed (haven’t tested it, so it might be a mistake). In the source folder /base/ there is a commands.c file and in it there is part of the code that says:
/* acknowledges a host or service problem */
int cmd_acknowledge_problem(int cmd,char *args){
service *temp_service=NULL;
host *temp_host=NULL;
char *host_name="";
char *svc_description="";
char *ack_author;
char *ack_data;
char *temp_ptr;
int type=ACKNOWLEDGEMENT_NORMAL;
int notify=TRUE;
int persistent=TRUE;
I think you have to change:
int notify=TRUE;
to:
int notify=FALSE;
WARNING!! Again, I say, I’m not good at this, so take my advices as not-100% sure. Don’t do anything if you don’t know what you are doing. I haven’t done this, so it might be a total mistake
Seems as omiting the word ‘CHECKED’ or changing it to ‘UNCHECKED’ are both valid ways to get the box unchecked.
Soo what the C code I asked about does is the following, it checkes if ‘cmd’ equals ‘CMD_ACKNOWLEDGE_HOST_PROBLEM’ if it is the empty string is delivered and if not the string ‘CHECKED’ is delivered.
What my dull mind could not penetrate was nothing more than a simple if-then-else statement.
I’ll try changing this piece of code instead, will get back with the results soon!