介绍
如果您是系统管理员,您应该了解您的基础架构和服务的当前状态。 没有什么比注意到太晚,你的磁盘失败,或者被告知用户的服务停机时间,而不是在他们之前注意到。
这就是监控发挥作用。 软件跟踪您的服务器的硬件,正常运行时间和服务状态,并发生错误时提醒,可以节省许多头痛。 在一个非常基本的情况下,监控系统会提醒你,如果任何服务下降。 在更健壮的一个中,通知将在任何可疑的标志出现后不久发生,例如增加的内存使用或异常量的TCP连接。
有许多可用的不同程度的复杂性和不同的功能集,免费和商业的监控解决方案。 在许多情况下,这些工具的安装,配置和管理是困难和耗时的。 今天,我们将专注于一个设置简单的解决方案。
开放式监控分布 (OMD)是一个独立的包,其中包括Nagios的加载项进行收集,监控和图形数据一起。 它捆绑了Check_MK多站点 ,全面的工具,解决了许多的Nagios的缺点。 它提供了一个用于轻松管理和配置的Web界面,一个用户友好的仪表板,一个强大的通知系统,以及易于安装的监视代理程序,适用于许多Linux发行版。 如果不是因为Check_MK多站点 ,我们将不得不使用不同的任务不同的看法,这将是不可能的,而不诉诸使用配置文件配置的所有设置。
与Check_MK 开放式监控分布很容易和方便为大家建立了自己的监控系统。 在本文中,我们将展示如何安装和配置必要的工具来监视两个Droplet。 以下是您的先决条件:
- 一Droplet与Ubuntu 14.04
- 一Droplet在CentOS 7
- root访问您的Droplets
在整篇文章中,我们将假设您对命令行有基本的了解,但是没有进一步的先决条件来遵循本教程。
在Ubuntu Droplet上设置OMD实例
要开始使用的OMD安装,我们将需要一个工作的Ubuntu 14.04Droplet具有root权限。 所有的指令下面一直在使用Ubuntu的清洁Droplet14.04,无需额外的软件编写的。 还可以使用例如已在运行的Web服务器向Droplet添加监视。
在安装新软件之前,最好将系统软件包更新到最新版本。 为此,请运行:
apt-get update
apt-get upgrade
该OMD项目提供了项目网站上为Ubuntu准备使用的软件包。
要浏览的包,我们可以去包装上市的网站 。 为Ubuntu 14.04 64位 ,在写这篇文字时的最新版本,正确的包是omd-1.20.trusty.amd64.deb
。
要下载软件包,请执行:
wget http://files.omdistro.org/releases/debian_ubuntu/omd-1.20.trusty.amd64.deb
由于文件相当大,下载可能需要一些时间。 下载完成后,您应该会看到类似下面的消息:
100%[=================================================================>] 78,969,558 24.6MB/s in 3.1s
2014-08-30 06:23:21 (24.6 MB/s) - "omd-1.20.trusty.amd64.deb" saved [78969558/78969558]
要安装新下载的软件包,请键入:
dpkg -i omd-1.20.trusty.amd64.deb
这将无法在第一次尝试,因为OMD包有多个依赖。 没关系。 尝试安装软件包后,我们将看到一条错误消息:
root@omdmaster:~# dpkg -i omd-1.20.trusty.amd64.deb
Selecting previously unselected package omd-1.20.
(Reading database ... 86590 files and directories currently installed.)
Preparing to unpack omd-1.20.trusty.amd64.deb ...
Unpacking omd-1.20 (0.trusty) ...
dpkg: dependency problems prevent configuration of omd-1.20:
omd-1.20 depends on libsnmp-python; however:
Package libsnmp-python is not installed.
omd-1.20 depends on dialog; however:
Package dialog is not installed.
omd-1.20 depends on fping; however:
Package fping is not installed.
omd-1.20 depends on graphviz; however:
Package graphviz is not installed.
omd-1.20 depends on libapache2-mod-fcgid; however:
Package libapache2-mod-fcgid is not installed.
omd-1.20 depends on libapache2-mod-proxy-html; however:
Package libapache2-mod-proxy-html is not installed.
omd-1.20 depends on apache2-mpm-prefork; however:
Package apache2-mpm-prefork is not installed.
omd-1.20 depends on apache2-utils; however:
Package apache2-utils is not installed.
omd-1.20 depends on libboost-program-options1.54.0; however:
Package libboost-program-options1.54.0 is not installed.
omd-1.20 depends on libboost-system1.54.0; however:
Package libboost-system1.54.0 is not installed.
omd-1.20 depends on libdbi1; howeve
dpkg: error processing package omd-1.20 (--install):
dependency problems - leaving unconfigured
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for man-db (2.6.7.1-1) ...
Errors were encountered while processing:
omd-1.20
失败的安装会自动通知软件包管理器缺少依赖关系,这使我们可以轻松解决问题,而无需借助手动安装。
要解决丢失的依赖关系,我们必须执行:
apt-get -f install
我们将看到, apt-get
要安装许多新的软件包,包括apache2
和mysql
。 这是意料之中的,因为OMD在MySQL数据库使用网络访问的用户界面和存储一些数据。
运行此命令:
apt-get -f install
现在安装应该成功完成:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
apache2 apache2-bin apache2-data (...)
0 upgraded, 147 newly installed, 0 to remove and 3 not upgraded.
1 not fully installed or removed.
Need to get 53.9 MB of archives.
After this operation, 275 MB of additional disk space will be used.
Do you want to continue? [Y/n]
同意安装所有的依赖关系(按Y)后,我们会提示设置MySQL数据库根密码。
出于安全原因,最好使用在其他地方不使用的强密码。 OMD安装期间将不再需要这个密码,但将有可能访问所有数据库,包括OMD数据库,用此密码。
输入密码后,安装将继续,不再有提示。 我们试图预先安装OMD包也将在此过程中自动安装。 安装完成后,应该可以访问omd
这样的命令:
omd
输出:
Usage (called as root):
omd help Show general help
(...)
General Options:
-V <version> set specific version, useful in combination with update/create
omd COMMAND -h, --help show available options of COMMAND
该omd
命令用于管理服务器上的OMD实例的主要命令。 它是用来启动和立即停止所有监控服务,我们将用它来创建第一个OMD实例。
现在我们要创建的第一个OMD实例。 在大多数情况下,第一个实例是服务器上的唯一一个,这就是我们将在这里做的。
之前,我们创建OMD例如,我们将不得不选择通过该实例将被识别的名称。 它在配置期间进一步使用,但也定义了可访问监视站点的Web地址。 为简单起见,我们将使用monitoring
整个文本。 要创建实例,请键入:
omd create monitoring
该omd
工具会自动建立家居我们。 命令输出应类似于以下内容:
Adding /omd/sites/monitoring/tmp to /etc/fstab.
Restarting Apache...AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
OK
Creating temporary filesystem /omd/sites/monitoring/tmp...OK
Created new site monitoring with version 1.20.
The site can be started with omd start monitoring.
The default web UI is available at http://omdmaster/monitoring/
The admin user for the web applications is omdadmin with password omd.
Please do a su - monitoring for administration of this site.
实例现在已创建,但仍需要启动。 要启动实例,请键入:
omd start monitoring
所有必要的工具和服务将立即启动。 最后,我们应该看到所有服务已成功启动,如下所示:
Starting rrdcached...OK
Starting npcd...OK
Starting nagios...OK
Starting dedicated Apache for site monitoring...OK
Initializing Crontab...OK
现在该实例已启动并正在运行,我们可以通过Web浏览器访问它。
要访问OMD实例,请打开HTTP://你的Droplet IP /监视/在Web浏览器。 我们将提示输入密码。 默认的一个omdadmin
用户名和omd
密码,我们将在稍后更改这些默认值。
登录后,我们应该看到如下所示的网页:
这是默认OMD网页,使访问所有安装的工具和应用程序。 我们将使用唯一的一个,然而,这是Check_MK多站点的工具。 这是一个奇妙的工具,不仅给我们配置OMD及其工具的几乎每一个方面的用户友好的方式,而且还收集图表,警报,并设置成一个仪表板。 我们将把Check_MK多站点一样简单Check_MK从现在开始。
该Check_MK屏幕,在默认情况下仪表板,显示在列表中的所有服务和服务器状态和实际使用类似的图形地球打开。 直接安装后它是空的,但我们将使其显示我们的服务和系统的状态不久。
更改管理密码
默认omdadmin/omd
用户名和密码很容易记住,但并不安全可言,特别是因为它提供了与每一个OMD安装在默认情况下。 幸运的是很容易改变。
首先,打开用户从左边的WATO配置菜单窗格中。 该列表将显示,目前访问该网站OMD只列出的所有用户,在默认情况下omdadmin
。
点击铅笔图标旁边omdadmin
用户更改其详细信息,包括密码。
更新密码,添加管理员电子邮件,并进行任何其他所需的更改。
在保存更改后,我们会立即使用我们的新凭据重新登录。 这里使用您的新密码 。
现在我们需要保存对配置文件的更改。 这是由橙色按钮1的变化 ,它告诉我们,我们已经做了一些改动Check_MK的需要被保存并激活配置表示。 这将在每次我们更改监视系统的配置时发生,而不仅仅是在编辑用户凭据之后。 要保存和激活挂起的更改,我们必须单击此按钮并同意激活列出的更改。
激活新用户的数据被写入到配置文件,并将由该系统的所有组件中使用的变化之后。Check_MK自动负责通知个人监测系统部件,必要时重新加载它们,并管理所有的所需的配置文件。
监控第一台主机
与OMD安装的组件是负责收集,存储和显示监控信息。 他们不提供信息本身。
为了收集实际的数据,我们将使用Check_MK剂 ,工具专为Check_MK设计,能够同时监控所有重要系统组件。
安装代理
我们重点监测的第一个主机将是OMDDroplet本身。
要开始监控,我们必须先安装Check_MK代理 。 所有主要发行版,包括Ubuntu的软件包,可在Check_MK项目现场 。 要下载需要我们的Ubuntu 14.04Droplet类型的包:
wget http://mathias-kettner.de/download/check-mk-agent_1.2.4p5-2_all.deb
下载后,使用以下命令安装软件包:
dpkg -i check-mk-agent_1.2.4p5-2_all.deb
这次安装不应该失败,因为所有的依赖都应该已经满足。 我们可以通过运行以下命令验证代理是否已成功安装:
check_mk_agent
命令应该输出非常长的文本,看起来像乱码,但在一个地方收集有关系统的所有重要信息。 它是从Check_MK用来收集监测数据该命令的输出。
限制对监控数据的访问
默认情况下从数据check_mk_agent
用服xinetd
,即在访问它一定的网络端口上的数据输出的机制。 这意味着,我们可以访问check_mk_agent
通过使用telnet端口6556(用于Check_MK默认端口)从互联网上的任何其它计算机。 这里是证明(从本地计算机或不同的远程主机运行这些命令,并用您的Droplet的IP地址替换以下IP地址):
[root@otherhost ~]$ telnet 12.34.56.78 6556
输出:
Trying 178.62.42.115...
Connected to 178.62.42.115.
Escape character is '^]'.
<<<check_mk>>>
Version: 1.2.4p5
AgentOS: linux
PluginsDirectory: /usr/lib/check_mk_agent/plugins
LocalDirectory: /usr/lib/check_mk_agent/local
SpoolDirectory: /etc/check_mk/spool
AgentDirectory: /etc/check_mk
(...)
将关于服务器的重要信息发布给在互联网上感兴趣的任何人都不是一个好的安全策略。 我们应该只允许运行OMD,是我们的监督来访问数据下,所以我们的监控系统可以收集它的主机,但没有其他人。
要限制访问代理数据,我们要编辑的配置文件/etc/xinetd.d/check_mk
。 类型:
nano /etc/xinetd.d/check_mk
查找此部分:
# configure the IP address(es) of your Nagios server here:
#only_from = 127.0.0.1 10.0.20.1 10.0.20.2
该only_from
设置负责限制访问某些IP地址。 因为我们现在正在监测Droplet的同时即OMD是,它是确定仅允许本地主机连接。 取消注释并将配置设置更新为:
# configure the IP address(es) of your Nagios server here:
only_from = 127.0.0.1
保存并退出文件。
该xinetd
服务必须重新启动以使更改生效。 为此,我们必须执行:
service xinetd restart
现在代理已启动并正在运行,并限制为仅接受本地连接。 为了测试这一点,请尝试telnet
从远程位置再次命令:
telnet 12.34.56.78 6556
现在,我们可以继续使用Check_MK该主机配置监视。
在Check_MK中配置主机
要添加新的主机监控,我们必须去到左边WATO管理菜单主机菜单,然后单击创建新的主机 。 我们将被要求一些关于主机的信息。
主机名是将用于监测熟悉的名字。 它可能是一个完全限定的域名,但没有必要。 在这个例子中,我们将其命名为主机监控 ,就像OMD实例本身的名称。 因为监控是不是解析为IP地址,我们还必须为我们的Droplet的IP地址。 由于我们正在监视本地主机时,IP将仅仅是127.0.0.1。 选中该框以启用IP设置。
默认的代理类型已被设置为代理Check_MK,这是罚款。 网络段设置用于表示远程网络上,其特征在于较高的预期等待时间不是故障标志的主机。 由于它是本地主机,默认设置也很好。
为了节省主机和配置哪些服务将被监控,单击Save&去服务按钮。
Check_MK会做一个自动库存。 这意味着它将收集代理的输出并解密它,以知道它可以监视什么类型的服务。 所有可用的监视服务将在列表中,包括CPU负载,内存使用情况和磁盘上的可用空间。 为了节省可用的检查,我们要点击保存手动检查配置按钮。 这将把我们重定向到屏幕,其中添加了我们的主机的可用主机列表。
与更改用户密码一样,更改必须保存并激活,然后才能完全考虑。 我们必须按2更改按钮,并接受更改。 之后,主机监视将启动并运行。
使用监控数据
现在,让我们通过仪表盘上的左/概述主菜单一看在主仪表板。
地球球体现在将是完全绿色的,表会说一个主机没有问题。 我们可以看到完整的主机列表,现在由一个单一的主机,在主机/所有主机查看(使用左侧的菜单)。
我们将看到有多少服务处于良好的健康状态(以绿色显示),有多少服务失败,以及有多少服务正在等待检查。 点击主机名后,我们将能看到所有的服务列表与充分的状态和他们的逆足-O-米 。 逆足-O-仪表显示单一的服务相对于到什么Check_MK认为是身体健康的表现。
返回可在图表上表示的数据的所有服务都在其名称旁边有一个图表图标。 我们可以使用该图标访问与服务关联的图形。 由于主机监控是新鲜的,图表上几乎没有任何东西 - 但在一段时间后,图表将提供关于服务性能如何随时间变化的有价值的信息。
当任何服务失败或恢复时,信息将显示在仪表板上。 对于发生故障的服务,将显示一个红色错误,并且该问题也将显示在地球图上。
恢复后,所有内容将以绿色显示为正常工作,但右侧的事件日志将包含有关过去故障的信息。
监视第二个CentOS主机
当您有多个主机时,监控功能非常有用。 我们将第二Droplet添加到我们的OMD例如,运行CentOS 7.0 x64的 。
安装代理
就像我们的Ubuntu的Droplet,安装Check_MK代理是必要收集的监测数据。 这一次,我们需要一个rpm
从包Check_MK项目现场 。 要下载需要我们的CentOS的Droplet,类型的包:
wget http://mathias-kettner.de/download/check_mk-agent-1.2.4p5-1.noarch.rpm
下载后,使用以下命令安装软件包:
yum install check_mk-agent-1.2.4p5-1.noarch.rpm
在CentOS xinetd
不是默认安装的,所以yum
会要求安装的依赖。 同意,包将被安装。 和以前一样,我们可以验证该代理通过执行正常check_mk_agent
-输出将是从第一Droplet类似。
限制访问
这一次,我们不会被监视本地主机,所以xinetd
必须允许与OMDDroplet收集数据。 要允许,请使用以下命令开始编辑配置文件:
nano /etc/xinetd.d/check_mk
并更换
# configure the IP address(es) of your Nagios server here:
#only_from = 127.0.0.1 10.0.20.1 10.0.20.2
与
# configure the IP address(es) of your Nagios server here:
only_from = your-omd-droplet-ip
保存并退出文件。 重新启动xinetd
使用服务:
service xinetd restart
我们现在可以继续配置Check_MK监督我们的CentOS 7主机。
在Check_MK中配置新主机
要添加其他主机Check_MK,我们使用的主机菜单只是像以前一样。 这一次,我们将其命名为主机centos
,配置IP地址,并选择WAN(高延迟),因为主机是另一个网络上。 使用复选框启用IP和网络设置。 如果我们忽略这一点,并把它作为地方,Check_MK很快就会提醒我们,主机关闭,因为它希望它来代理响应查询快得多比在互联网上是可能的。
单击保存到服务 ,它会显示可用于在CentOS的Droplet监控服务。 该列表将非常类似于来自第一主机的列表。 这一次,我们也不得不省去手动检查配置和激活使用在左上角的橙色按钮的变化。
激活更改后,我们可以验证主机通过进入所有主机页面监控。 两台主机, monitoring
和centos
,现在应该是可见的。
服务失败和恢复的警报将继续显示在两个主机的主仪表板上。
添加更多主机
有可能添加多个主机中Check_MK监测。 除了服务器性能之外没有上限,这不应该是一个问题,直到我们谈论数百。 该过程对于任何其他主机一样的。在Check_MK代理deb
和rpm
包,不仅在Ubuntu和CentOS也能在其他Linux发行工作。
摘要和进一步阅读
开放式监控分布允许基于Check_MK监控系统,包所有的辛勤工作到一个易于使用的Web界面全面的配置选项和功能,易于安装。 使用这些工具,可以监视多个主机,设置电子邮件通知问题,设置额外的检查更多的服务,监视辅助功能和性能,以及更多。
在为Check_MK文档提供英语,是Check_MK用户和管理员的综合资源。