MM-28226: Admin Advisor: add mitigations (#15379)
* Admin Advisor: add mitigation
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
7116563ff3
Коммит
f0eb67fa0d
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
16
i18n/en.json
16
i18n/en.json
@@ -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 organization’s 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 organization’s 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,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user