如何在 Ubuntu 12.04 上安装和配置 Shinken 以监控 VPS 实例

金钱(警告)

** 状态:** 被贬值

如果您目前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议升级或迁移到支持的 Ubuntu 版本:

** 原因:** Ubuntu 12.04 已于 2017 年 4 月 28 日到期(EOL)并且不再收到安全补丁或更新。

** 参见相反:** 本指南可能仍然有用作为参考,但可能不会在其他Ubuntu版本上工作. 如果可用,我们强烈建议使用为您正在使用的Ubuntu版本撰写的指南。

介绍

Shinken 是一个基于 Nagios Core 的开源监控框架,已在 python 中重写,以提高灵活性、可扩展性和易用性。

Shinken 在分布上没有限制,它可以扩展到 LAN,通过DMZ,甚至跨多个数据中心。

Shinken超越了Nagios的经典监控功能,允许分布式和高度可用的资产监控,智能和自动管理VMware topologies和不同的超视察器(Xen,KVM...),并能够自动监控Amazon EC2托管的应用程序(如MySQL和Apache)。

Shinken被认为比Nagios快5倍,并配备了大量可轻松安装的监控包,提供了一个更快的方式来开始监控服务器,服务和应用程序。

在本指南中,我们将配置两个 dropplets. 一个将被配置为服务器,另一个作为客户端. 他们都将运行Ubuntu 12.04 LTS。

安装Shinken服务器

我们将开始使用自动安装脚本的服务器。

1curl -L http://install.shinken-monitoring.org | /bin/bash

安装脚本将创建用户和组. 安装所有依赖,然后处理 Shinken 安装。

安装完成后,可以使用http://X.X.X.X:7767admin/admin身份证来访问shinken WebUI。配置文件夹将位于/usr/local/shinken/etc

预配置 Shinken 服务器

在潜入Shinken的配置过程之前,我们需要确保其WebUI。

让我们编辑模块Web UI:

1nano /usr/local/shinken/etc/shinken-specific.cfg

我们将通过更改auth_secret开始,并用强有力的密码更换CHANGE_ME:

 1define module {
 2 modules Apache_passwd, ActiveDir_UI, Cfg_password, PNP_UI, Mongodb, Glances_UI
 3 manage_acl 1
 4 play_sound 0
 5 host 0.0.0.0
 6 module_type webui
 7 allow_html_output 0
 8 max_output_length 100
 9 module_name WebUI
10 auth_secret CHANGE_ME         
11 port 7767
12}

保存并关闭文件。

然后我们的管理员用户也应该得到一个强大的密码. 为此,我们将把他的默认密码替换为在contacts.cfg文件上的秘密强大的密码:

1nano /usr/local/shinken/etc/contacts.cfg
1define contact{
2   use generic-contact
3   contact_name admin
4   email shinken@localhost
5   pager 0600000000   ; contact phone number
6   password admin
7   is_admin 1
8}

即使安装程序负责安装所有必要的依赖和模块,我们需要安装 mongodb 支持来处理和保存用户偏好在 webui 上,否则我们会在 web UI 上收到一个丑陋的警告消息说:

错误:您没有定义 WebUI 模块来保存用户偏好,例如 Mongodb 模块,您将无法使用此页面!

安装 Mongodb 支持:

1cd /usr/local/shinken
2./install -a mongodb

配置 Shinken 服务器

对于我们的场景,我们将首先宣布 Ubuntu 12.04 监控主机(Shinken 奴隶),在其上安装和配置 SNMP,然后使用自定义社区字符串监控它。

SNMP 模板将处理以下检查:

  • 主机检查每 5 分钟:用 ping 检查服务器是否处于 UP *检查磁盘空间 *检查负载平均 *检查 CPU 使用率 *检查物理内存和交换使用率 *检查网络接口活动

一旦完成,我们将使用 FTP 和 SSH 包来检查奴隶上的 FTP 和 SSH 状态,作为使用包的例子。

这些包是针对一般或特定服务、应用服务器、操作系统和可监控设备的预定义监控模板. 这些包位于以下目录中 /usr/local/shinken/etc/packs 按类型分类,并且要使用它们,我们只需要在主机定义文件中指定它们的名称。

由于Shinken完全兼容并支持Nagios,Nagios插件可以通过Shinken添加和使用。

在Shinken上定义奴隶

一个监控服务器,让我们在 `/usr/local/shinken/etc/hosts 目录上创建一个与我们的 Linux 设备(Ubuntu 奴隶滴)相匹配的主机文件:

1nano /usr/local/shinken/etc/hosts/shinken_slave.cfg

复制并粘贴以下内容,并将host_nameaddress字段更改为适当的值。

1define host{
2   use linux
3   host_name Shinken_slave
4   address X.X.X.X
5   _SNMPCOMMUNITY DOmonitoring
6}

*使用 linux模板线,这意味着这个主机将使用默认的 linux 模板的属性 *host_name是您的主机的对象名称。它与我们的客户端的主机名称相符,必须是唯一的 *地址是奴隶的 IP 地址或其 FQDN *_SNMPCOMMUNITY是自定义的 SNMP 社区字符串或密码

正如我们之前提到的,我们将使用两个包来监控 FTP 和 SSH 服务. 这些包将检查公共可用的服务,应用程序和协议的状态,而无需任何特殊的访问要求。 为此,我们将将它们添加到主机定义文件中,在使用线上分开,我们可以尽可能地使用,但我们需要记住,我们只需要监控什么是重要的。

之前的 /usr/local/shinken/etc/hosts/shinken_slave.cfg 将看起来如下:

1define host{
2   use linux,ftp,ssh
3   host_name Shinken_slave
4   address X.X.X.X
5   _SNMPCOMMUNITY DOmonitoring
6}

正如我们之前提到的,我们将为我们的客户端使用自定义的SNMP社区字符串(密码)。

现在我们已经宣布了我们的主机,让我们重新启动Shinken来处理更改:

1service shinken restart

配置客户端:

我们将开始在我们的客户端上安装SNMP。

1apt-get install snmpd

然后我们配置社区字符串和倾听界面。

编辑 /etc/snmp/snmpd.conf 并评论行:

1agentAddress udp:127.0.0.1:161

然后,不评论线:

1agentAddress udp:161,udp6:[::1]:161

正如我们之前提到的,我们将通过将默认值公共更改为自定义值来更改客户端的SNMP社区(密码)。

取代:

1rocommunity public

与:

1rocommunity DOmonitoring

重新启动 Snmpd Daemon:

1service snmpd restart

访问 WebUI

目前,我们的监控服务器和客户端已配置,我们需要使用我们的服务器的 IP 地址访问 Shinken Web UI http://X.X.X:7767

一旦验证,我们会看到一个空白页面,说你还没有任何 widget?

我们将用自定义小工具配置它以获取所需的信息,但首先我们需要检查我们的客户端是否已配置并可由服务器访问。

点击所有选项卡,您将看到监控的所有机器的列表,包括服务器(本地主机)。

在相同的列表中,你应该找到 Shinken_slave 如下:

让我们回到仪表板,通过添加三个小工具来创建一个,因为我们只有一个被监控的滴,我们将添加图形,问题和关系小工具。

点击添加插件,然后从面板中选择您想要的插件。默认情况下,插件将收到 localhost(监控服务器)状态和信息。我们可以通过点击并指定元素名称来编辑它们以反映我们想要的主机:

我们的监控服务器将密切关注我们的VPS,并跟踪所有变化.服务器运行的时间越长,图表和统计数据就越有趣。

Article Submitted by: Mouad Zahrane
Published At
Categories with 技术
Tagged with
comments powered by Disqus