金钱(警告)
** 状态:** 被贬值
如果您目前正在运行运行 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:7767
和admin/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_name
和address
字段更改为适当的值。
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,并跟踪所有变化.服务器运行的时间越长,图表和统计数据就越有趣。