MM-28226: Admin Advisor: add mitigations (#15379)

* Admin Advisor: add mitigation
Этот коммит содержится в:
catalintomai
2020-09-08 07:51:14 -07:00
коммит произвёл GitHub
родитель 7116563ff3
Коммит f0eb67fa0d
3 изменённых файлов: 20 добавлений и 17 удалений

Просмотреть файл

@@ -1165,7 +1165,7 @@ func runCheckNumberOfActiveUsersWarnMetricStatusJob(a *App) {
doCheckNumberOfActiveUsersWarnMetricStatus(a)
model.CreateRecurringTask("Check Number Of Active Users Warn Metric Status", func() {
doCheckNumberOfActiveUsersWarnMetricStatus(a)
}, time.Hour*24)
}, time.Hour*24*7)
}
func doSecurity(s *Server) {
@@ -1220,21 +1220,22 @@ func doCheckNumberOfActiveUsersWarnMetricStatus(a *App) {
for _, warnMetric := range warnMetrics {
data, nErr := a.Srv().Store.System().GetByName(warnMetric.Id)
if nErr == nil && data != nil && (data.Value == model.WARN_METRIC_STATUS_ACK || data.Value == model.WARN_METRIC_STATUS_RUNONCE) {
mlog.Debug("This metric warning has already been acked or should only run once")
if nErr == nil && data != nil && (data.Value == model.WARN_METRIC_STATUS_ACK || (warnMetric.IsBotOnly && data.Value == model.WARN_METRIC_STATUS_RUNONCE)) {
mlog.Debug("This metric warning has already been acked or it is bot only and ran once")
continue
}
if nErr = a.Srv().Store.System().SaveOrUpdate(&model.System{Name: warnMetric.Id, Value: model.WARN_METRIC_STATUS_LIMIT_REACHED}); nErr != nil {
mlog.Error("Unable to write to database.", mlog.String("id", warnMetric.Id), mlog.Err(nErr))
continue
}
warnMetricStatus, _ := a.getWarnMetricStatusAndDisplayTextsForId(warnMetric.Id, nil)
if !warnMetric.IsBotOnly {
// Banner and bot metrics - send websocket event
message := model.NewWebSocketEvent(model.WEBSOCKET_WARN_METRIC_STATUS_RECEIVED, "", "", "", nil)
message.Add("warnMetricStatus", warnMetricStatus.ToJson())
a.Publish(message)
// Bot and banner metrics, do not send the bot message again
if data != nil && data.Value == model.WARN_METRIC_STATUS_RUNONCE {
continue
}
}
if err = a.notifyAdminsOfWarnMetricStatus(warnMetric.Id); err != nil {
@@ -1243,6 +1244,8 @@ func doCheckNumberOfActiveUsersWarnMetricStatus(a *App) {
if warnMetric.IsRunOnce {
a.setWarnMetricsStatusForId(warnMetric.Id, model.WARN_METRIC_STATUS_RUNONCE)
} else {
a.setWarnMetricsStatusForId(warnMetric.Id, model.WARN_METRIC_STATUS_LIMIT_REACHED)
}
}
}

Просмотреть файл

@@ -2004,11 +2004,11 @@
},
{
"id": "api.server.warn_metric.contact_us",
"translation": "Contact us"
"translation": "Acknowledge"
},
{
"id": "api.server.warn_metric.contacting_us",
"translation": "Contacting us"
"translation": "Acknowledging"
},
{
"id": "api.server.warn_metric.email_us",
@@ -2016,27 +2016,27 @@
},
{
"id": "api.server.warn_metric.number_of_active_users_200.notification_body",
"translation": "Your Mattermost system now has 200 users. As your user base grows, provisioning new accounts can become time-consuming. We recommend that you upgrade to Mattermost Enterprise Edition and integrate your organizations Active Directory/LDAP, which will allow anyone with an account to access Mattermost. Users can log in without having to create new usernames and passwords, and administrators save time provisioning and managing accounts.\r\n\r\n[Learn more about integrating with AD/LDAP](https://docs.mattermost.com/deployment/sso-ldap.html?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=adldap)\r\n\r\nContacting support sends your contact information to Mattermost, Inc. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
"translation": "Your Mattermost system now has 200 users. As your user base grows, provisioning new accounts can become time-consuming. We recommend that you integrate your organizations Active Directory/LDAP, which will allow anyone with an account to access Mattermost.\r\n\r\n[Learn more about integrating with AD/LDAP](https://docs.mattermost.com/deployment/sso-ldap.html?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=adldap)\r\n\r\nBy clicking Acknowledge, you'll be sharing your information with Mattermost Inc., to learn more about upgrading. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
},
{
"id": "api.server.warn_metric.number_of_active_users_200.notification_title",
"translation": "Integrate AD/LDAP"
"translation": "Scaling with Mattermost"
},
{
"id": "api.server.warn_metric.number_of_active_users_400.notification_body",
"translation": "Your Mattermost system now has 400 users. When you connect Mattermost with your organization's single sign-on provider, users can access Mattermost without having to re-enter their credentials. Contact support to learn more about integrating with SAML 2.0, available in Mattermost Enterprise Edition.\r\n\r\n[Learn more about integrating with SAML 2.0](https://docs.mattermost.com/deployment/sso-saml.html?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=saml)\r\n\r\nContacting support sends your contact information to Mattermost, Inc. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
"translation": "Your Mattermost system now has 400 users. When you connect Mattermost with your organization's single sign-on provider, users can access Mattermost without having to re-enter their credentials. We recommend you integrate SAML 2.0 provider with your Mattermost server.\r\n\r\n[Learn more about integrating with SAML 2.0](https://docs.mattermost.com/deployment/sso-saml.html?utm_medium=product&utm_source=mattermost-advisor-bot&utm_content=saml)\r\n\r\nBy clicking Acknowledge, you'll be sharing your information with Mattermost Inc., to learn more about upgrading. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
},
{
"id": "api.server.warn_metric.number_of_active_users_400.notification_title",
"translation": "Integrate SAML 2.0"
"translation": "Scaling with Mattermost"
},
{
"id": "api.server.warn_metric.number_of_active_users_500.notification_body",
"translation": "Mattermost strongly recommends that deployments of over 500 users upgrade to Mattermost Enterprise Edition, which offers features such as user management, server clustering, and performance monitoring.\r\n\r\nContacting support sends your contact information to Mattermost, Inc. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
"translation": "Mattermost strongly recommends that deployments of over 500 users take advantage of features such as user management, server clustering and performance monitoring. Contact us to learn more and let us know how we can help.\r\n\r\nBy clicking Acknowledge, you'll be sharing your information with Mattermost Inc., to learn more about upgrading. [Learn more](https://mattermost.com/pl/default-admin-advisory)"
},
{
"id": "api.server.warn_metric.number_of_active_users_500.notification_title",
"translation": "Upgrade to Mattermost Enterprise edition"
"translation": "Scaling with Mattermost"
},
{
"id": "api.slackimport.slack_add_bot_user.email_pwd",

Просмотреть файл

@@ -99,7 +99,7 @@ var WarnMetricsTable = map[string]WarnMetric{
Id: SYSTEM_WARN_METRIC_NUMBER_OF_ACTIVE_USERS_500,
Limit: 500,
IsBotOnly: false,
IsRunOnce: false,
IsRunOnce: true,
},
}