feat: nbi

This commit is contained in:
simon
2025-05-23 18:24:18 +08:00
parent a5e5b3cf6e
commit 01975afe9c
31 changed files with 2338 additions and 1538 deletions

View File

@@ -0,0 +1,31 @@
package config
import (
"os"
"gopkg.in/yaml.v2"
)
type DerivedRule struct {
ParentCode int `yaml:"parentCode"`
ChildCode int `yaml:"childCode"`
}
type RelatedRule struct {
Codes []int `yaml:"codes"`
NeType string `yaml:"neType"`
TimeWindow int `yaml:"timeWindow"`
}
type AlarmRelationRules struct {
Derived []DerivedRule `yaml:"derived"`
Related []RelatedRule `yaml:"related"`
}
var RelationRules AlarmRelationRules
func LoadAlarmRelationRules(path string) error {
data, err := os.ReadFile(path)
if err != nil {
return err
}
return yaml.Unmarshal(data, &RelationRules)
}

View File

@@ -180,7 +180,11 @@ type AlarmConfig struct {
SignName string `yaml:"signName"`
TemplateCode string `yaml:"templateCode"`
} `yaml:"smsForward"`
SMProxy string `yaml:"smProxy"`
SMProxy string `yaml:"smProxy"`
RelatedRules struct {
Enabled bool `yaml:"enabled"`
File string `yaml:"file"`
} `yaml:"relatedRules"`
}
type MMLParam struct {
@@ -271,6 +275,11 @@ func ReadConfig(configFile string) {
yamlConfig = YamlConfigInfo.ConfigLines
ReadOriginalConfig(configFile)
// load alarm relation rules
if yamlConfig.Alarm.RelatedRules.Enabled {
LoadAlarmRelationRules(yamlConfig.Alarm.RelatedRules.File)
}
}
func ReadOriginalConfig(configFile string) {