alignak为受linux snmp监控的主机检查包

alignak_checks_snmp的Python项目详细描述


checks pack用于监视具有snmp活动检查的unix/linux或windows主机

Most recent PyPi versionJoin the chat #alignak on freenode.netLicense AGPL v3

注意此包的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是提出信息的常见方式。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何显示因用户而异的SQLite存储数据?   转换java。sql。将映射传递给Jackon的valueToTree方法时StringNode的时间戳   从java中的列表json获取值   unicode Java字符存储在什么编码中?   java如何让Spring数据存储库中的默认方法命中缓存?   java使用readClassDescriptor()和resolveClass()来允许序列化版本控制   数组通过另一个矩阵的一部分填充矩阵   如果包含使用正则表达式的字符串,则替换父XML标记的java   java清除SharedReference中的单个变量   java将变量值从一个jsp页面传输到另一个jsp页面   java JDBC+SQLite:DriveManager不加载所需的驱动程序   相同源代码的java Kotlin构建生成不同的二进制文件   Java中的元组枚举