Popularity
3.2
Growing
Activity
0.0
Stable
45
2
8

Programming language: Go
License: MIT License
Tags: Utilities    

golarm alternatives and similar packages

Based on the "Utilities" category.
Alternatively, view golarm alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of golarm or a related project?

Add another 'Utilities' Package

README

golarm

GoDoc Build Status Coverage Status Go Report Card

Fire alarms with system events

Usage

golarm.AddAlarm(golarm.SystemLoad(golarm.OneMinPeriod).Above(0.8).Run(func() {
        fmt.Println("System load >0.8 !!")
        smtp.SendMail(smtpHost, emailConf.Port, "System load >0.8 !!")
    }))

Usage example

Options

  • SystemLoad
// checks if the system load is lower or equal to 0.5
golarm.AddAlarm(golarm.SystemLoad(golarm.OneMinPeriod).AboveEqual(0.5).Run(func() {
        fmt.Println("System load >=0.5 !!")
    }))
  • SystemUptime
// checks if the system has been running for less than 1 minute
golarm.AddAlarm(golarm.SystemUptime().Below(1).Run(func() {
        fmt.Println("System just started !!")
    }))
  • SystemMemory / SystemSwap [Free, Used]
// checks if used memory is higher that 90%
golarm.AddAlarm(golarm.SystemMemory().Used().Above(90).Percent().Run(func() {
        fmt.Println("Used system memory > 90% !!")
    }))
// checks if free memory is lower that 500MB
golarm.AddAlarm(golarm.SystemMemory().Free().BelowEqual(500).Run(func() {
        fmt.Println("Free memory <= 500MB !!")
    }))
  • SystemProc [Status, RunningTime, Used (Memory)]
// checks if the process 72332 has changed to zombie status
golarm.AddAlarm(golarm.SystemProc(72332).Status(golarm.Zombie).Run(func() {
        fmt.Println("Our process with PID 72332 became Zombie !!")
    }))
// checks if the process 72332 has been running for more than 20 minutes
golarm.AddAlarm(golarm.SystemProc(72332).RunningTime().Above(20).Run(func() {
        fmt.Println("Our process with PID 72332 exceeded 20 minutes running !!")
    }))

TODO

  • [ ] Kilobytes / Megabytes / Gigabytes (currently megabytes by default)
  • [ ] Minutes / Hours / Days (currently minutes by default)

License

Distributed under MIT license. See LICENSE for more information.


*Note that all licence references and agreements mentioned in the golarm README section above are relevant to that project's source code only.