Skip to content

Commit

Permalink
Merge pull request #384 from nsano-rururu/rocketchat_add_kibana_discover
Browse files Browse the repository at this point in the history
Rocket.Chat add kibana discover etc
  • Loading branch information
nsano-rururu authored Jul 4, 2021
2 parents c3bbcf3 + b767f87 commit 6543ae6
Show file tree
Hide file tree
Showing 4 changed files with 269 additions and 2 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

169 changes: 169 additions & 0 deletions src/components/config/alert/ConfigAlert.vue
Original file line number Diff line number Diff line change
Expand Up @@ -1266,6 +1266,22 @@
Set this option using hostname:port if you need to use a proxy.
</label>
</praeco-form-item>

<praeco-form-item label="Impact" prop="servicenowImpact">
<el-input-number id="servicenowImpact" v-model="servicenowImpact" :disabled="viewOnly" :min="1" :max="3" />
<label>
An integer 1, 2, or 3 representing high, medium, and low respectively.
This measures the effect of an incident on business processes.
</label>
</praeco-form-item>

<praeco-form-item label="Urgency" prop="servicenowUrgency">
<el-input-number id="servicenowUrgency" v-model="servicenowUrgency" :disabled="viewOnly" :min="1" :max="3" />
<label>
An integer 1, 2, or 3 representing high, medium, and low respecitvely.
This measures how long this incident can be delayed until there is a significant business impact.
</label>
</praeco-form-item>
</el-tab-pane>

<el-tab-pane v-if="alert.includes('chatwork')">
Expand Down Expand Up @@ -1615,6 +1631,49 @@
Set this option using hostname:port if you need to use a proxy.
</label>
</el-form-item>

<el-form-item label="Attach Kibana Discover URL" prop="rocketChatAttachKibanaDiscoverUrl">
<el-switch
id="rocketChatAttachKibanaDiscoverUrl"
v-model="rocketChatAttachKibanaDiscoverUrl"
:disabled="viewOnly"
@change="changeRocketChatAttachKibanaDiscoverUrl" />
</el-form-item>

<el-form-item label="Kibana Discover Color" prop="rocketChatKibanaDiscoverColor">
<el-color-picker
v-model="rocketChatKibanaDiscoverColor" :disabled="viewOnly" />
<label>The color of the Kibana Discover url attachment.</label>
</el-form-item>

<el-form-item label="Kibana Discover Title" prop="rocketChatKibanaDiscoverTitle">
<el-input v-model="rocketChatKibanaDiscoverTitle" :disabled="viewOnly" />
<label>The title of the Kibana Discover url attachment.</label>
</el-form-item>

<el-form-item label="Ignore SSL Errors" prop="rocketChatIgnoreSslErrors">
<el-switch
id="rocketChatIgnoreSslErrors"
v-model="rocketChatIgnoreSslErrors"
:disabled="viewOnly"
@change="changeRocketChatIgnoreSslErrors" />
</el-form-item>

<el-form-item label="CA Certs" prop="rocketChatCaCerts">
<el-switch
id="rocketChatCaCerts"
v-model="rocketChatCaCerts"
:disabled="viewOnly"
@change="changeRocketChatCaCerts" />
</el-form-item>

<el-form-item label="Timeout" prop="rocketChatTimeout">
<el-input-number id="rocketChatTimeout" v-model="rocketChatTimeout" :disabled="viewOnly" />
<label>
You can specify a timeout value, in seconds, for making communicating with Rocket.Chat.
The default is 10. If a timeout occurs, the alert will be retried next time elastalert cycles.
</label>
</el-form-item>
</el-tab-pane>
</el-tabs>
</el-form>
Expand Down Expand Up @@ -2776,6 +2835,30 @@ export default {
}
},
servicenowImpact: {
get() {
return this.$store.state.config.alert.servicenowImpact;
},
set(value) {
this.$store.commit(
'config/alert/UPDATE_SERVICENOW_IMPACT',
value
);
}
},
servicenowUrgency: {
get() {
return this.$store.state.config.alert.servicenowUrgency;
},
set(value) {
this.$store.commit(
'config/alert/UPDATE_SERVICENOW_URGENCY',
value
);
}
},
victoropsApiKey: {
get() {
return this.$store.state.config.alert.victoropsApiKey;
Expand Down Expand Up @@ -3511,6 +3594,33 @@ export default {
}
},
rocketChatAttachKibanaDiscoverUrl: {
get() {
return this.$store.state.config.alert.rocketChatAttachKibanaDiscoverUrl;
},
set(value) {
this.$store.commit('config/alert/UPDATE_ROCKET_CHAT_ATTACH_KIBANA_DISCOVER_URL', value);
}
},
rocketChatKibanaDiscoverColor: {
get() {
return this.$store.state.config.alert.rocketChatKibanaDiscoverColor;
},
set(value) {
this.$store.commit('config/alert/UPDATE_ROCKET_CHAT_KIBANA_DISCOVER_COLOR', value);
}
},
rocketChatKibanaDiscoverTitle: {
get() {
return this.$store.state.config.alert.rocketChatKibanaDiscoverTitle;
},
set(value) {
this.$store.commit('config/alert/UPDATE_ROCKET_CHAT_KIBANA_DISCOVER_TITLE', value);
}
},
ms_teamsWebhookUrl: {
get() {
return this.$store.state.config.alert.ms_teamsWebhookUrl;
Expand All @@ -3520,6 +3630,41 @@ export default {
}
},
rocketChatIgnoreSslErrors: {
get() {
return this.$store.state.config.alert.rocketChatIgnoreSslErrors;
},
set(value) {
this.$store.commit(
'config/alert/UPDATE_ROCKET_CHAT_IGNORE_SSL_ERRORS',
value
);
}
},
rocketChatCaCerts: {
get() {
return this.$store.state.config.alert.rocketChatCaCerts;
},
set(value) {
this.$store.commit(
'config/alert/UPDATE_ROCKET_CHAT_CA_CERTS',
value
);
}
},
rocketChatTimeout: {
get() {
return this.$store.state.config.alert.rocketChatTimeout;
},
set(value) {
this.$store.commit(
'config/alert/UPDATE_ROCKET_CHAT_TIMEOUT',
value
);
}
},
ms_teamsThemeColor: {
get() {
return this.$store.state.config.alert.ms_teamsThemeColor;
Expand Down Expand Up @@ -3846,6 +3991,22 @@ export default {
}
},
changeRocketChatIgnoreSslErrors(val) {
if (val) {
this.rocketChatIgnoreSslErrors = true;
} else {
this.rocketChatIgnoreSslErrors = false;
}
},
changeRocketChatCaCerts(val) {
if (val) {
this.rocketChatCaCerts = true;
} else {
this.rocketChatCaCerts = false;
}
},
async validate() {
try {
if (this.$refs.hiveAlertConfigTags) {
Expand Down Expand Up @@ -3984,6 +4145,14 @@ export default {
this.$set(this.realert, Object.keys(value)[0], Object.values(value)[0]);
},
changeRocketChatAttachKibanaDiscoverUrl(val) {
if (val) {
this.rocketChatAttachKibanaDiscoverUrl = true;
} else {
this.rocketChatAttachKibanaDiscoverUrl = false;
}
},
changeMattermostAttachKibanaDiscoverUrl(val) {
if (val) {
this.mattermostAttachKibanaDiscoverUrl = true;
Expand Down
40 changes: 40 additions & 0 deletions src/store/config/alert.js
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,8 @@ function initialState() {
servicenowCmdbCi: '',
servicenowCallerId: '',
servicenowProxy: '',
servicenowImpact: 1,
servicenowUrgency: 1,

/* VictorOps */
victoropsApiKey: '',
Expand Down Expand Up @@ -219,6 +221,12 @@ function initialState() {
rocketChatMsgColor: 'danger',
rocketChatTextString: '',
rocketChatProxy: '',
rocketChatAttachKibanaDiscoverUrl: false,
rocketChatKibanaDiscoverColor: '#ec4b98',
rocketChatKibanaDiscoverTitle: 'Discover in Kibana',
rocketChatIgnoreSslErrors: false,
rocketChatCaCerts: false,
rocketChatTimeout: 10,

/* TheHive */
hiveAlertConfigTitle: '',
Expand Down Expand Up @@ -722,6 +730,14 @@ export default {
state.servicenowProxy = servicenowProxy;
},

UPDATE_SERVICENOW_IMPACT(state, servicenowImpact) {
state.servicenowImpact = servicenowImpact;
},

UPDATE_SERVICENOW_URGENCY(state, servicenowUrgency) {
state.servicenowUrgency = servicenowUrgency;
},

/* VictorOps */
UPDATE_VICTOROPS_API_KEY(state, victoropsApiKey) {
state.victoropsApiKey = victoropsApiKey;
Expand Down Expand Up @@ -899,6 +915,30 @@ export default {
state.rocketChatProxy = rocketChatProxy;
},

UPDATE_ROCKET_CHAT_ATTACH_KIBANA_DISCOVER_URL(state, rocketChatAttachKibanaDiscoverUrl) {
state.rocketChatAttachKibanaDiscoverUrl = rocketChatAttachKibanaDiscoverUrl;
},

UPDATE_ROCKET_CHAT_KIBANA_DISCOVER_COLOR(state, rocketChatKibanaDiscoverColor) {
state.rocketChatKibanaDiscoverColor = rocketChatKibanaDiscoverColor;
},

UPDATE_ROCKET_CHAT_KIBANA_DISCOVER_TITLE(state, rocketChatKibanaDiscoverTitle) {
state.rocketChatKibanaDiscoverTitle = rocketChatKibanaDiscoverTitle;
},

UPDATE_ROCKET_CHAT_IGNORE_SSL_ERRORS(state, rocketChatIgnoreSslErrors) {
state.rocketChatIgnoreSslErrors = rocketChatIgnoreSslErrors;
},

UPDATE_ROCKET_CHAT_CA_CERTS(state, rocketChatCaCerts) {
state.rocketChatCaCerts = rocketChatCaCerts;
},

UPDATE_ROCKET_CHAT_TIMEOUT(state, rocketChatTimeout) {
state.rocketChatTimeout = rocketChatTimeout;
},

/* Slack */
UPDATE_SLACK_CHANNEL_OVERRIDE(state, slackChannelOverride) {
state.slackChannelOverride = slackChannelOverride;
Expand Down
58 changes: 58 additions & 0 deletions src/store/config/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -420,6 +420,8 @@ export default {
commit('alert/UPDATE_SERVICENOW_CMDB_CI', config.cmdb_ci);
commit('alert/UPDATE_SERVICENOW_CALLER_ID', config.caller_id);
commit('alert/UPDATE_SERVICENOW_PROXY', config.servicenow_proxy);
commit('alert/UPDATE_SERVICENOW_IMPACT', config.servicenow_impact);
commit('alert/UPDATE_SERVICENOW_URGENCY', config.servicenow_urgency);

/* VictorOps */
commit('alert/UPDATE_VICTOROPS_API_KEY', config.victorops_api_key);
Expand Down Expand Up @@ -556,6 +558,36 @@ export default {
commit('alert/UPDATE_ROCKET_CHAT_TEXT_STRING', config.rocket_chat_text_string);
commit('alert/UPDATE_ROCKET_CHAT_PROXY', config.rocket_chat_proxy);

if (config.rocket_chat_attach_kibana_discover_url) {
commit('alert/UPDATE_ROCKET_CHAT_ATTACH_KIBANA_DISCOVER_URL', config.rocket_chat_attach_kibana_discover_url);
}

if (config.rocket_chat_kibana_discover_color) {
commit('alert/UPDATE_ROCKET_CHAT_KIBANA_DISCOVER_COLOR', config.rocket_chat_kibana_discover_color);
}

if (config.rocket_chat_kibana_discover_color) {
commit('alert/UPDATE_ROCKET_CHAT_KIBANA_DISCOVER_TITLE', config.rocket_chat_kibana_discover_title);
}

if (config.rocket_chat_ignore_ssl_errors) {
commit('alert/UPDATE_ROCKET_CHAT_IGNORE_SSL_ERRORS', config.rocket_chat_ignore_ssl_errors);
} else {
commit('alert/UPDATE_ROCKET_CHAT_IGNORE_SSL_ERRORS', false);
}

if (config.rocket_chat_timeout) {
commit('alert/UPDATE_ROCKET_CHAT_TIMEOUT', config.rocket_chat_timeout);
} else {
commit('alert/UPDATE_ROCKET_CHAT_TIMEOUT', 10);
}

if (config.rocket_chat_ca_certs) {
commit('alert/UPDATE_ROCKET_CHAT_CA_CERTS', config.rocket_chat_ca_certs);
} else {
commit('alert/UPDATE_ROCKET_CHAT_CA_CERTS', false);
}

/* TheHive */
if (config.hive_alert_config && config.hive_alert_config.title) {
commit('alert/UPDATE_HIVE_ALERT_CONFIG_TITLE', config.hive_alert_config.title);
Expand Down Expand Up @@ -1153,6 +1185,7 @@ export default {
} else {
config.generate_kibana_discover_url = false;
config.slack_attach_kibana_discover_url = false;
config.rocket_chat_attach_kibana_discover_url = false;
config.mattermost_attach_kibana_discover_url = false;
}

Expand Down Expand Up @@ -1180,6 +1213,13 @@ export default {
config.kibana_discover_to_timedelta = state.alert.kibanaDiscoverToTimedelta;
}

config.rocket_chat_ignore_ssl_errors = state.alert.rocketChatIgnoreSslErrors;
config.rocket_chat_ca_certs = state.alert.rocketChatCaCerts;

if (state.alert.rocketChatTimeout) {
config.rocket_chat_timeout = state.alert.rocketChatTimeout;
}

return config;
},

Expand Down Expand Up @@ -1766,6 +1806,14 @@ export default {
config.servicenow_proxy = state.alert.servicenowProxy;
}

if (state.alert.servicenowImpact) {
config.servicenow_impact = state.alert.servicenowImpact;
}

if (state.alert.servicenowUrgency) {
config.servicenow_urgency = state.alert.servicenowUrgency;
}

return config;
},

Expand Down Expand Up @@ -1959,6 +2007,16 @@ export default {
config.rocket_chat_proxy = state.alert.rocketChatProxy;
}

config.rocket_chat_attach_kibana_discover_url = state.alert.rocketChatAttachKibanaDiscoverUrl;

if (state.alert.rocketChatKibanaDiscoverColor) {
config.rocket_chat_kibana_discover_color = state.alert.rocketChatKibanaDiscoverColor;
}

if (state.alert.rocketChatKibanaDiscoverTitle) {
config.rocket_chat_kibana_discover_title = state.alert.rocketChatKibanaDiscoverTitle;
}

return config;
},

Expand Down

0 comments on commit 6543ae6

Please sign in to comment.