mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
fix(monitor,suggestion): order commonalert metric and modify alertresoruce type value and add suggestion models climc
1.修改监控metric排序 2.统一报警资源type和监控报警中res_type 进行统一,前端可以统一展示 3.增加suggestion服务相关climc
This commit is contained in:
@@ -101,18 +101,18 @@ func init() {
|
||||
|
||||
// mem
|
||||
RegistryMetricCreateInput("mem", "Memory", monitor.METRIC_RES_TYPE_HOST,
|
||||
monitor.METRIC_DATABASE_TELE, 3, []monitor.MetricFieldCreateInput{
|
||||
monitor.METRIC_DATABASE_TELE, 2, []monitor.MetricFieldCreateInput{
|
||||
newMetricFieldCreateInput("used_percent", "Used memory rate", monitor.METRIC_UNIT_PERCENT, 1),
|
||||
newMetricFieldCreateInput("available_percent", "Available memory rate", monitor.METRIC_UNIT_PERCENT, 2),
|
||||
newMetricFieldCreateInput("used", "Used memory", monitor.METRIC_UNIT_BYTE, 3),
|
||||
newMetricFieldCreateInput("free", "Free memory", monitor.METRIC_UNIT_BYTE, 4),
|
||||
newMetricFieldCreateInput("available", "Available memory", monitor.METRIC_UNIT_BYTE, 4),
|
||||
newMetricFieldCreateInput("active", "The amount of active memory", monitor.METRIC_UNIT_BYTE, 5),
|
||||
newMetricFieldCreateInput("inactive", "The amount of inactive memory", monitor.METRIC_UNIT_BYTE, 6),
|
||||
newMetricFieldCreateInput("cached", "Cache memory", monitor.METRIC_UNIT_BYTE, 7),
|
||||
newMetricFieldCreateInput("buffered", "Buffer memory", monitor.METRIC_UNIT_BYTE, 7),
|
||||
newMetricFieldCreateInput("slab", "Number of kernel caches", monitor.METRIC_UNIT_BYTE, 8),
|
||||
newMetricFieldCreateInput("total", "Total memory", monitor.METRIC_UNIT_BYTE, 9),
|
||||
newMetricFieldCreateInput("available", "Available memory", monitor.METRIC_UNIT_BYTE, 9),
|
||||
newMetricFieldCreateInput("total", "Total memory", monitor.METRIC_UNIT_BYTE, 10),
|
||||
})
|
||||
|
||||
// net
|
||||
|
||||
@@ -226,7 +226,7 @@ func (m *SAlertResourceManager) createOrUpdateFromRecord(
|
||||
if res == nil {
|
||||
return m.createFromRecord(ctx, userCred, ownerId, drv, record, match)
|
||||
} else {
|
||||
return res.updateFromRecord(ctx, userCred, record, match)
|
||||
return res.updateFromRecord(ctx, userCred, drv, record, match)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -297,7 +297,8 @@ func (res *SAlertResource) getAttachedAlerts() ([]SCommonAlert, error) {
|
||||
return alerts, nil
|
||||
}
|
||||
|
||||
func (res *SAlertResource) updateFromRecord(ctx context.Context, userCred mcclient.TokenCredential, record *SAlertRecord, match monitor.EvalMatch) error {
|
||||
func (res *SAlertResource) updateFromRecord(ctx context.Context, userCred mcclient.TokenCredential,
|
||||
drv IAlertResourceDriver, record *SAlertRecord, match monitor.EvalMatch) error {
|
||||
jObj, err := res.GetJointAlert(record.AlertId)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "get joint alert by id %s", record.AlertId)
|
||||
@@ -310,6 +311,12 @@ func (res *SAlertResource) updateFromRecord(ctx context.Context, userCred mcclie
|
||||
if err := jObj.UpdateData(record, &match); err != nil {
|
||||
return errors.Wrapf(err, "update joint object by matches %v", match)
|
||||
}
|
||||
if _, err := db.Update(res, func() error {
|
||||
res.Type = string(drv.GetType())
|
||||
return nil
|
||||
}); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user