himpy-0.5.0: System/Himpy/Recipes/Cisco.hs
module System.Himpy.Recipes.Cisco where
import System.Himpy.Recipes.Utils
import System.Himpy.Mib
import System.Himpy.Types
import System.Himpy.Logger
import Control.Concurrent.STM.TChan (TChan)
import qualified Data.Map as M
cisco_rcp :: TChan ([Metric]) -> TChan (String) -> HimpyHost -> IO ()
cisco_rcp chan logchan (Host host comm _) = do
cpu_pct <- snmp_get_num host comm pfeCpuPercent
sess_cnt <- snmp_get_num host comm pfeSessions
sess_max <- snmp_get_num host comm pfeSessionMax
psu1 <- snmp_get_num host comm pfePSU1
psu2 <- snmp_get_num host comm pfePSU2
let tuples = [("juniper.cpu",cpu_pct),
("juniper.sessions.count", sess_cnt),
("juniper.sessions.max", sess_max),
("juniper.sessions.pct", (sess_cnt / sess_max) * 100),
("juniper.psu1", psu1),
("juniper.psu2", psu2)]
let mtrs = snmp_metrics host "" tuples
log_info logchan $ "got snmp result: " ++ show (mtrs)