当前位置: 首页 > 科技观察

在Ubuntu16.04上安装使用服务器监控告警系统Shinken_0

时间:2023-03-17 12:32:12 科技观察

Shinken是一个用Python实现的开源主机和网络监控框架,兼容Nagioslike,可以运行在所有支持Python程序的操作系统上,如比如说Linux、Unix和Windows。Shinken是JeanGabes为了验证一个新的Nagios架构想法而写的,但是这个想法被Nagios的作者否决了,成为了一个独立的网络系统监控软件,并保持了与Nagios的兼容性。在本教程中,我将介绍如何从源代码编译安装Shinken,并将Linux主机添加到监控系统中。我将使用Ubuntu16.04XenialXerus操作系统作为Shinken服务器和监控主机。第一步是安装Shinken服务器Shinken是一个Python框架,我们可以通过pip或源码安装,这一步我们将从源码编译安装Shinken。在我们开始安装Shinken之前,还需要完成几个步骤。安装一些新的Python包并创建一个名为shinken的系统用户:sudoapt-getinstallpython-setuptoolspython-pippython-pycurrluseradd-m-s/bin/bashshinken从GitHub存储库下载Shinken源代码:gitclonehttps://github.com/naparuba/shinken。gitcdshinken/然后使用以下命令安装Shinken:gitcheckout2.4.3pythonsetup.pyinstall然后,为了获得更好的效果,我们还需要从Ubuntu软件存储库安装python-cherrypy3包:sudoapt-getinstallpython-cherrypy3到这里,Shinken它已成功安装。接下来我们将Shinken加入系统启动项并启动:update-rc.dshinkendefaultssystemctlstartshinken第二步是安装ShinkenWebui2Webui2是Shinken的web界面(在shinken.io可以找到)。安装Shinkenwebui2最简单的方法是使用shinkenCLI命令(必须以shinken用户身份执行)。切换到shinken用户:su-shinken初始化shiken配置文件,下面的命令会新建一个配置文件shinken.ini:shinken--init接下来使用shinkenCLI命令安装webui2:shinkeninstallwebui2现在webui2已经安装好了安装好了,但是我们还需要安装MongoDB,使用pip安装另外一个Python包。在root下运行以下命令:sudoapt-getinstallmongodbpipinstallpymongo>=3.0.3requestsarrowbottle==0.12.8接下来,切换到shinken目录并通过编辑broker-master.cfg文件添加这个新的webui2模块:cd/etc/shinken/brokers/vimbroker-master.cfg在第40行添加模块选项:moduleswebui2保存文件并退出编辑器。现在进入联系人目录并编辑admin.cfg进行管理配置。cd/etc/shinken/contacts/vimadmin.cfg修改如下:contact_nameadmin#Username'admin'passwordyourpass#Pass'mypass'保存退出。步骤3安装Nagios插件和Shinken包在这一步中,我们将安装Nagios插件和一些Perl模块。然后从shinken.io安装额外的包以启用监控。安装Nagios插件和安装Perl模块需要cpanminus:sudoapt-getinstallnagios-plugins*cpanminus使用cpanm命令安装Perl模块。cpanmNet::SNMPcpanmTime::HiRescpanmDBI现在我们创建一个链接到shinken目录的utils.pm文件和一个用于Log_File_Health的新日志目录。chmodu+s/usr/lib/nagios/plugins/check_icmpln-s/usr/lib/nagios/plugins/utils.pm/var/lib/shinken/libexec/mkdir-p/var/log/rhosts/touch/var/log/rhosts/remote-hosts.log然后,安装shinken.io的shinken包ssh和linux-snmp来监控SSH和SNMP:su-shinkenshinkeninstallsshshinkeninstalllinux-snmp步骤4添加一个Linux主机host-one我们将添加一个新的需要监控的Linux主机,IP地址为192.168.1.121,主机名为host-one的Ubuntu16.04。连接host-one主机:sshhost1@192.168.1.121从Ubuntu软件仓库安装snmp和snmpd软件包:sudoapt-getinstallsnmpsnmpd然后,用vim编辑snmpd.conf配置文件:vim/etc/snmp/snmpd.conf注释掉第15行和第17行取消注释:#agentAddressudp:127.0.0.1:161agentAddressudp:161,udp6:[::1]:161注释掉第51和53行,然后新增一行配置,如下:#rocommunitymypassdefault-Vsystemonly#rocommunity6mypassdefault-Vsystemonlyrocommunitymypass保存退出。现在使用systemctl命令启动snmpd服务:systemctlstartsnmpd通过在hosts文件夹下新建文件来定义shinken服务器上的新主机:cd/etc/shinken/hosts/vimhost-one.cfg粘贴以下配置信息:definehost{usegeneric-host,linux-snmp,sshcontact_groupsadminshost_namehost-oneaddress192.168.1.121_SNMPCOMMUNITYmypass#SNMPPassConfigonsnmpd.conf}保存并退出。在shinken服务器上编辑SNMP配置文件。vim/etc/shinken/resource.d/snmp.cfg将public更改为mypass-必须与您在客户端snmpd配置文件中使用的密码相同:$SNMPCOMMUNITYREAD$=mypass保存并退出。现在重新启动服务器和客户端:reboot现在Linux主机已成功添加到shinken服务器。Step5访问ShinkenWebui2在7677端口访问Shinkenwebui2(URL中的IP换成你自己的IP地址):http://192.168.1.120:7767使用管理员用户和密码登录(你在admin.cfg文件)Webui2中的Shinken面板:Shinken正在监视我们的两个服务器:列出linux-snmp监视的所有服务:所有主机和服务的状态信息:第6步ShinkenFAQNTP服务器相关问题当您遇到TimeSync-CRITICAL等NTP错误时(NTPCRITICAL:NoresponsefromtheNTPserver)TimeSync-CRITICAL(NTPCRITICAL:Offsetunknown)要解决这个问题,请在所有Linux主机上安装ntp。sudoapt-getinstallntpntpdate编辑ntp配置文件:vim/etc/ntp.conf注释掉所有池并替换为:#pool0.ubuntu.pool.ntp.orgiburst#pool1.ubuntu.pool.ntp.orgiburst#pool2.ubuntu.pool。ntp.orgiburst#pool3.ubuntu.pool.ntp.orgiburstpool0.id.pool.ntp.orgpool1.asia.pool.ntp.orgpool0.asia.pool.ntp.org然后,在新行中添加以下限制规则:#本地用户可以更仔细地查询thentpserver.restrict127.0.0.1restrict192.168.1.120#shinkenserverIPaddressrestrict::1注意:192.168.1.120是Shinken服务器的IP地址。保存并退出。启动ntp并检查Shinken面板。ntpdcheck_netint.plNotFound问题从github仓库下载源码到shinken库目录:cd/var/lib/shinken/libexec/wgethttps://raw.githubusercontent.com/Sysnove/shinken-plugins/master/check_netint。plchmod+xcheck_netint.plchownshinken:shinkencheck_netint.plnetworkusageproblem这是错误信息:ERROR:Unknowninterfaceeth\d+Checkyournetworkinterfaceandeditthelinux-snmptemplate。在我的Ununtu服务器上,NIC是“enp0s8”,而不是eth0,所以我得到了这个错误。vim编辑linux-snmp模板:vim/etc/shinken/packs/linux-snmp/templates.cfg在第24行添加网络接口信息:_NET_IFACESeth\d+|em\d+|enp0s8保存退出。