| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package containers
- import (
- "encoding/json"
- "fmt"
- "github.com/coroot/coroot-node-agent/common"
- "github.com/coroot/coroot-node-agent/utils"
- . "github.com/coroot/coroot-node-agent/utils/modelse"
- log "github.com/sirupsen/logrus"
- "os"
- "path"
- )
- func (r *Registry) getWhiteListAll() []WhiteSettingInfo {
- return r.whiteListRules["all"]
- }
- func (r *Registry) setWhiteListV2(whiteData WhiteDataV2) {
- whiteListMap := make(WhiteListMap)
- code := "all"
- for _, setting := range whiteData.SettingList {
- setting.Filters = setting.ProcessKey
- whiteListMap[code] = append(whiteListMap[code], setting)
- }
- r.whiteListRules = whiteListMap
- }
- func (r *Registry) pullWhiteListV2() (bool, error) {
- if r.isFusing {
- return false, nil
- }
- if common.IsOpenFilter() {
- return false, nil
- }
- nodeInfo := r.nodeInfo.GetNodeInfo()
- if nodeInfo == nil {
- return false, fmt.Errorf("could not find node info")
- }
- whiteListReq := WhiteListReq{
- HostId: nodeInfo.HostID,
- AccountId: nodeInfo.AccountID,
- WhiteType: 2,
- }
- whiteData, err := r.connServer.WhiteListV2(whiteListReq)
- if err != nil {
- log.Errorf("report WhiteList info error is %v.", err)
- return false, err
- }
- //fmt.Println(r.whiteLastUpdatedTime)
- //fmt.Println(whiteData.LastUpdatedTime)
- // 后端切换主机与全局规则时,时间不会变化
- // 不用更新
- //if r.whiteLastUpdatedTime == whiteData.LastUpdatedTime {
- // return false, nil
- //}
- //
- //// 更新时间
- r.whiteLastUpdatedTime = whiteData.LastUpdatedTime
- r.setWhiteListV2(whiteData)
- saveRule(whiteData)
- return true, nil
- }
- func saveRule(runtimeApps WhiteDataV2) {
- appStr, _ := json.Marshal(runtimeApps)
- dumpPath := path.Join(utils.GetDefaultRuntimePath(), "memdump")
- err := os.MkdirAll(dumpPath, 0755)
- if err != nil {
- log.Error(err)
- }
- fileName := path.Join(dumpPath, "rule.snap")
- err = os.WriteFile(fileName, appStr, 0644)
- if err != nil {
- log.Error(err)
- }
- }
|