一个简单的监视器,在kiss理念下为unix/linux提供警报。保持简单和直接!
simple-monitor-alert的Python项目详细描述
简单监视器警报
一个简单的监视器,在kiss理念下为unix/linux提供警报。保持简单和直接!
- light:只有~7mib内存。(这对你的覆盆子皮很好!)
- 非常容易使用和理解。
- 写^ {STR 1 } $您自己的监视器< /强>任何语言(BASH,Python,Perl,JS,Ruby,PHP,C,C++……)。
- awesome features:发送一次或多次警报,图形峰值…
- 不需要服务器。您可以作为守护进程运行,也可以使用crond。
- 易于debug和测试。
- 发送警报的多种方式:电子邮件、电报…
- easy configuration在单个文件中。
可用监视器:
- 硬盘:智能、温度、可用空间、MDADM(Linux RAID)。
- system:CPU使用率、空闲RAM、空闲交换、监视服务(守护进程)、传感器、[时间]…
- web:加载时间、返回代码、页面内容。
- 网络:ping,[端口,动态IP]。
- 其他:[日志监视器,谷歌云打印]
三步快速入门指南
从pypi安装:
$ sudo pip install simple-monitor-alert
编辑/etc/simple monitor alert/sma.ini并定义警报的接收者:
[mail] to = awesome@email.com
执行SMA:
# Just once: $ sma # or... Run as a service (daemon) $ sma service # or... Run usign system service: $ sudo systemctl start sma
是的,就是这样!
5分钟指南
文件和目录:
- /etc/simple-monitor-alert/sma.ini (file): all-in-one config file. Configure monitors and alerts methods.
- /etc/simple-monitor-alert/monitors-available (directory): All monitors available for usage. You can create monitors here.
- /etc/simple-monitor-alert/monitors-enabled (directory): All monitors that are here are activated.
- /etc/simple-monitor-alert/alerts (directory): Alerts methods available. You need to configure them in sma.ini.
启用和禁用监视器
已启用/etc/simple monitor alert/monitors enabled中的所有监视器。建议文件是符号文件 链接。要激活监视器:
$ cd /etc/simple-monitor-alert/monitors-enabled $ sudo ln -s ../monitors-available/mdadm.sh
到禁用:
$ cd /etc/simple-monitor-alert/monitors-enabled $ rm mdadm.sh # It's safe. mdadm is a symlink.
我们建议您在激活前阅读显示器的开头。一些监视器可能需要参数和 配置系统。例如:
$ head -n 6 /etc/simple-monitor-alert/monitors-available/service.sh #!/usr/bin/env bash # Service Status monitor. # Verify that the service is running. # It requires a parameter: service name. For example, sshd. # [service] # service_status.param = sshd
要传递参数,必须将以下内容添加到sma.ini:
[service] service_status.param = sshd
要监视多个服务:
[service] service_status(sshd).param = sshd service_status(ntpd).param = ntpd
调试
您可以测试运行它们的监视器:
$ /etc/simple-monitor-alert/monitors-available/mdadm.sh mdadm(md0).name = 'Mdadm /dev/md0' mdadm(md0).expected = 0 mdadm(md0).value = 0
您还可以运行sma并查看结果:
$ sma 2016-05-03 00:28:14,972 - sma - INFO - Trigger: [success] (mdadm) mdadm(md0). Result: 0 == 0 2016-05-03 00:28:14,990 - sma - INFO - Trigger: [success] (system) ram. Result: 32.1427 <= 85 2016-05-03 00:28:14,990 - sma - INFO - Trigger: [success] (system) cpu. Result: 9.57627 <= 80 2016-05-03 00:28:15,156 - sma - WARNING - Trigger: [warning] (hdds) pcnt_use(sdc1). Assertion 98 <= 80 failed. Extra info: Space: 23G/25G 2016-05-03 00:28:15,157 - sma - WARNING - Trigger: [warning] (hdds) pcnt_use(md0). Assertion 100 <= 80 failed. Extra info: Space: 5,4T/5,5T
要测试您可以使用的警报:
$ sma alerts --test
我的第一个监视器
SMA通过检查监视器脚本的输出来工作。监视器可以观察到。每个可观测到的有两个主要的 部分:期望值和获得的值:
observable1.expected = yes observable1.value = yes observable2.expected = yes observable2.value = no
在这个例子中,第一个观测值是好的,第二个是有误差的。你的程序应该返回一些 类似的。下面的示例检查文件是否存在:
#!/usr/bin/env bash echo "file_exists.expected = yes" if [ -f "/path/to/file" ]; then value="yes"; else value="no"; fi echo "file_exists.value = $value"
输出:
$ /etc/simple-monitor-alert/monitors-available/example-1.sh file_exists.expected = yes file_exists.value = no
有更多的监视器选项,比如获取参数。有关更多信息,请参阅文档。