Added email channel for Check_MK integration.
This commit is contained in:
parent
878fdb64a8
commit
77ba574449
3 changed files with 51 additions and 7 deletions
|
@ -3,7 +3,7 @@ class Index extends App.ControllerIntegrationBase
|
||||||
featureName: 'Check_MK'
|
featureName: 'Check_MK'
|
||||||
featureConfig: 'check_mk_config'
|
featureConfig: 'check_mk_config'
|
||||||
description: [
|
description: [
|
||||||
['This service receives http requests from %s and creates tickets with host and service.', 'Check_MK']
|
['This service receives http requests or emails from %s and creates tickets with host and service.', 'Check_MK']
|
||||||
['If the host and service is recovered again, the ticket will be closed automatically.']
|
['If the host and service is recovered again, the ticket will be closed automatically.']
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -18,9 +18,11 @@ class Index extends App.ControllerIntegrationBase
|
||||||
el: @$('.js-scriptSnipped')
|
el: @$('.js-scriptSnipped')
|
||||||
facility: 'check_mk'
|
facility: 'check_mk'
|
||||||
style: 'bash'
|
style: 'bash'
|
||||||
content: "#!/bin/bash\n\ncurl -X POST -F 'event_id=123' -F 'host=host1' -F 'service=http' -F 'state=down' #{App.Config.get('http_type')}://#{App.Config.get('fqdn')}/api/v1/integration/check_mk/#{App.Setting.get('check_mk_token')}"
|
content: "#!/bin/bash\n\ncurl -X POST -F \"event_id=$NOTIFY_SERVICEPROBLEMID\" -F \"host=$NOTIFY_HOSTNAME\" -F \"service=$NOTIFY_SERVICEDESC\" -F \"state=$NOTIFY_SERVICESTATE\" -F \"text=$NOTIFY_SERVICEOUTPUT\" #{App.Config.get('http_type')}://#{App.Config.get('fqdn')}/api/v1/integration/check_mk/#{App.Setting.get('check_mk_token')}"
|
||||||
description: [
|
description: [
|
||||||
['To enable %s for sending http requests to %s, you need create "%s" in the admin interface if %s.', 'Check_MK', 'Zammad', 'Event Actions', 'Check_MK']
|
['To enable %s for sending http requests to %s, you need create a own "notification rule" in %s.', 'Check_MK', 'Zammad', 'Check_MK']
|
||||||
|
['Configurable in the admin interface of %s.', 'Check_MK']
|
||||||
|
['You can use the following script to post the data to %s.', 'Zammad']
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -41,6 +43,7 @@ App.Config.set(
|
||||||
description: 'An open source monitoring tool.'
|
description: 'An open source monitoring tool.'
|
||||||
controller: Index
|
controller: Index
|
||||||
state: State
|
state: State
|
||||||
|
permission: ['admin.integration.check_mk']
|
||||||
}
|
}
|
||||||
'NavBarIntegrations'
|
'NavBarIntegrations'
|
||||||
)
|
)
|
||||||
|
|
7
app/models/channel/filter/check_mk.rb
Normal file
7
app/models/channel/filter/check_mk.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# Copyright (C) 2012-2016 Zammad Foundation, http://zammad-foundation.org/
|
||||||
|
|
||||||
|
class Channel::Filter::CheckMk < Channel::Filter::MonitoringBase
|
||||||
|
def self.integration_name
|
||||||
|
'check_mk'
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,4 +1,4 @@
|
||||||
class CheckMkIntegration < ActiveRecord::Migration[4.2]
|
class CheckMkIntegration2 < ActiveRecord::Migration[4.2]
|
||||||
def up
|
def up
|
||||||
|
|
||||||
# return if it's a new setup
|
# return if it's a new setup
|
||||||
|
@ -30,6 +30,29 @@ class CheckMkIntegration < ActiveRecord::Migration[4.2]
|
||||||
},
|
},
|
||||||
frontend: false
|
frontend: false
|
||||||
)
|
)
|
||||||
|
Setting.create_if_not_exists(
|
||||||
|
title: 'Sender',
|
||||||
|
name: 'check_mk_sender',
|
||||||
|
area: 'Integration::CheckMK',
|
||||||
|
description: 'Defines the sender email address of the service emails.',
|
||||||
|
options: {
|
||||||
|
form: [
|
||||||
|
{
|
||||||
|
display: '',
|
||||||
|
null: false,
|
||||||
|
name: 'check_mk_sender',
|
||||||
|
tag: 'input',
|
||||||
|
placeholder: 'check_mk@monitoring.example.com',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
state: 'check_mk@monitoring.example.com',
|
||||||
|
preferences: {
|
||||||
|
prio: 2,
|
||||||
|
permission: ['admin.integration'],
|
||||||
|
},
|
||||||
|
frontend: false,
|
||||||
|
)
|
||||||
Setting.create_if_not_exists(
|
Setting.create_if_not_exists(
|
||||||
title: 'Group',
|
title: 'Group',
|
||||||
name: 'check_mk_group_id',
|
name: 'check_mk_group_id',
|
||||||
|
@ -48,7 +71,7 @@ class CheckMkIntegration < ActiveRecord::Migration[4.2]
|
||||||
},
|
},
|
||||||
state: 1,
|
state: 1,
|
||||||
preferences: {
|
preferences: {
|
||||||
prio: 2,
|
prio: 3,
|
||||||
permission: ['admin.integration'],
|
permission: ['admin.integration'],
|
||||||
},
|
},
|
||||||
frontend: false
|
frontend: false
|
||||||
|
@ -69,12 +92,13 @@ class CheckMkIntegration < ActiveRecord::Migration[4.2]
|
||||||
true => 'yes',
|
true => 'yes',
|
||||||
false => 'no',
|
false => 'no',
|
||||||
},
|
},
|
||||||
|
translate: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
state: true,
|
state: true,
|
||||||
preferences: {
|
preferences: {
|
||||||
prio: 3,
|
prio: 4,
|
||||||
permission: ['admin.integration'],
|
permission: ['admin.integration'],
|
||||||
},
|
},
|
||||||
frontend: false
|
frontend: false
|
||||||
|
@ -92,12 +116,13 @@ class CheckMkIntegration < ActiveRecord::Migration[4.2]
|
||||||
name: 'check_mk_auto_close_state_id',
|
name: 'check_mk_auto_close_state_id',
|
||||||
tag: 'select',
|
tag: 'select',
|
||||||
relation: 'TicketState',
|
relation: 'TicketState',
|
||||||
|
translate: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
state: 4,
|
state: 4,
|
||||||
preferences: {
|
preferences: {
|
||||||
prio: 4,
|
prio: 5,
|
||||||
permission: ['admin.integration'],
|
permission: ['admin.integration'],
|
||||||
},
|
},
|
||||||
frontend: false
|
frontend: false
|
||||||
|
@ -114,6 +139,15 @@ class CheckMkIntegration < ActiveRecord::Migration[4.2]
|
||||||
},
|
},
|
||||||
frontend: false
|
frontend: false
|
||||||
)
|
)
|
||||||
|
Setting.create_if_not_exists(
|
||||||
|
title: 'Defines postmaster filter.',
|
||||||
|
name: '5200_postmaster_filter_check_mk',
|
||||||
|
area: 'Postmaster::PreFilter',
|
||||||
|
description: 'Defines postmaster filter to manage Check_MK (http://mathias-kettner.com/check_mk.html) emails.',
|
||||||
|
options: {},
|
||||||
|
state: 'Channel::Filter::CheckMk',
|
||||||
|
frontend: false
|
||||||
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
Loading…
Reference in a new issue