alignak为受linux snmp监控的主机检查包
alignak_checks_snmp的Python项目详细描述
checks pack用于监视具有snmp活动检查的unix/linux或windows主机
注意此包的Windows部分尚不可用。
如果您对这样的检查包感兴趣,并且如果您正在使用SNMP监视某些Windows主机,请与我们联系(IRC或在此项目中打开问题)
安装
此检查包的安装将复制alignak默认配置目录中的一些配置文件(例如/usr/local/share/alignak/etc)。 复制的文件位于用于包的默认子目录中(例如,nagios遗留cfg文件的arbiter/packs或后端可导入文件的arbiter/backend json)。
从alignak包存储库
在线alignak文档中的更多信息。这里只有一个摘要…
德拜:
# Alignak DEB stable packages sudo echo deb https://dl.bintray.com/alignak/alignak-deb-stable xenial main | sudo tee -a /etc/apt/sources.list.d/alignak.list sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv D401AB61 sudo apt-get update sudo apt install python-alignak-checks-snmp
中心:
sudo vi /etc/yum.repos.d/alignak-stable.repo: [Alignak-rpm-stable] name=Alignak RPM stable packages baseurl=https://dl.bintray.com/alignak/alignak-rpm-stable gpgcheck=0 repo_gpgcheck=0 enabled=1 sudo yum repolist sudo yum install python-alignak-checks-snmp
注意
对于python 3版本,将包名称中的python替换为python3。
来自Pypi
从pypi安装软件包:
# Python 2 sudo pip install alignak-checks-snmp # Python 3 sudo pip3 install alignak-checks-snmp
从源文件
从源文件安装软件包:
git clone https://github.com/Alignak-monitoring-contrib/alignak-checks-snmp cd alignak-checks-snmp sudo pip install .
注意:使用“sudo python setup.py install”将无法正确管理包配置文件!推荐的方法是使用'pip';)
文档
这个checks包使用checks包附带的一些perl插件,但是一些perl依赖项是必要的。
为perl插件安装perl依赖项
在某些Linux发行版上,您可以:
sudo apt-get install libsnmp-perl libnet-snmp-perl
或者可以使用perlcpan实用程序:
cpan install Net::SNMP
配置
编辑/usr/local/share/alignak/etc/arbiter/packs/snmp/resources.cfg文件并配置snmp社区。
#-- Default SNMP community $SNMPCOMMUNITYREAD$=public
准备主机
- 如果尚未激活SNMP远程访问,则需要对受监控主机执行某些操作。
# Install local SNMP agent su - apt-get update apt-get install snmpd # Allow SNMP get - this configuration is intended for tests puuposes # You should set up a more secure configuration and not allow everyone to see everything :) vi /etc/snmp/snmpd.conf => # Listen for connections from the local system only #agentAddress udp:127.0.0.1:161 # Listen for connections on all interfaces (both IPv4 *and* IPv6) agentAddress udp:161,udp6:[::1]:161 => # rocommunity public default -V systemonly rocommunity public # Restart SNMP agent sudo systemctl restart snmpd.service
使用插件文件测试远程访问:
$ /usr/local/var/libexec/alignak/check_snmp_mem.pl -H 127.0.0.1 -C public -w 80,80 -c 90,95 Ram : 71%, Swap : 58% : ; OK
alignak配置
要定义每个默认使用的snmp社区,请编辑resources.cfg文件并更改默认值。
$SNMPCOMMUNITYREAD$=public
您只需使用模板LinuxSNMP标记相关主机。
define host{ use linux-snmp host_name host_snmp address 127.0.0.1 }
Linux SNMP主模板声明用于配置启动的检查的宏。下面列出的这些宏的默认值可以在每个主机配置中重写。
_SNMPCOMMUNITY $SNMPCOMMUNITYREAD$ _SNMP_MSG_MAX_SIZE 65535 _LOAD_WARN 2,2,2 _LOAD_CRIT 3,3,3 _STORAGE_WARN 90 _STORAGE_CRIT 95 _CPU_WARN 80 _CPU_CRIT 90 _MEMORY_WARN 80,80 _MEMORY_CRIT 95,95 _NET_IFACES eth\d+|em\d+ _NET_WARN 90,90,0,0,0,0 _NET_CRIT 0,0,0,0,0,0
要为主机设置特定值,请在主机定义文件中声明同一宏。
define host{ use linux-snmp host_name host_snmp address 127.0.0.1 # Specific values for this host # Change warning and critical alerts level for memory # Same for CPU, ALL_CPU, DISK, LOAD, NET, ... _LOAD_WARN 3,3,3 _LOAD_CRIT 5,5,5 }
错误、问题和贡献
欢迎和鼓励对本项目的贡献…issues in the project repository是提出信息的常见方式。