Ejemplo n.º 1
0
        /// <summary>
        /// 執行
        /// </summary>
        public void Execute()
        {
            InitWorkStation();

            Monitors = _parser.ParseRecord(_originRecord, _sourceIp);

            //TODO: ForEach 想辦法調掉
            Monitors.ForEach(monitor =>
            {
                var device        = GetDevice(monitor.DEVICE_ID);
                monitor.DEVICE_SN = device.DEVICE_SN;

                Target target        = GetTarget(device.DEVICE_SN, monitor.TARGET_NAME);
                monitor.IS_EXCEPTION = _alarmer.IsException(monitor, target);
            });

            SaveList();
        }
Ejemplo n.º 2
0
        public void Cacti_ALERT訊息_為異常()
        {
            //Arrange
            var expected = "Y";

            var monitor = new Monitor
            {
                DEVICE_SN      = "2018001",
                DEVICE_ID      = "192.168.10.99",
                TARGET_NAME    = "Traffic - Gi1/0/20 [traffic_in]",
                TARGET_VALUE   = "ALERT",
                TARGET_MESSAGE = "current value is 5630.6207",
                RECEIVE_TIME   = DateTime.Parse("2018/11/06 18:08:34", CultureInfo.InvariantCulture)
            };

            var alarm = new Alarmer();

            //Act
            var actual = alarm.IsException(monitor, _target);

            //Assert
            Assert.AreEqual(expected, actual);
        }