如何在 Ubuntu 14.04 上使用带有 Check_MK 的开放式监控发行版

介绍

如果你是系统管理员,你应该知道你的基础设施和服务的当前状态. 没有什么比太晚注意到你的驱动器故障更糟糕,或者被你的用户通知服务中断,而不是在他们之前注意到。

这就是监控进入的场景。跟踪服务器的硬件、工作时间和服务状态的软件,并在发生错误时发出警报,可以节省很多头痛。在一个非常基本的场景中,监控系统会提醒您,如果任何服务失效。

有许多可用的监控解决方案,具有不同程度的复杂性和不同功能集,无论是免费的还是商业的。在许多情况下,这些工具的安装,配置和管理都很困难,需要时间。

Open Monitoring Distribution(OMD)是一个自有包,包括 Nagios以及用于收集、监控和图形数据的插件。它配备了 Check_MK Multisite,一个全面的工具,解决了许多 Nagios的缺点。它提供了一个易于管理和配置的Web界面,一个用户友好的仪表板,一个强大的通知系统,以及许多Linux发行版的易于安装的监控代理。

** Open Monitoring Distribution** with Check_MK 使每个人都能够轻松、易于使用地设置自己的监控系统. 在本文中,我们将展示如何安装和配置必要的工具来监控两个Dropplets。

  • 一个 Droplet 与 Ubuntu 14.04 一个 Droplet 与 CentOS 7
  • root 访问您的 Droplets

在整个文章中,我们将假设您对命令行有基本的理解,但没有进一步的先决条件来遵循本教程。

在 Ubuntu Droplet 上设置 OMD 实例

要开始使用 OMD安装,我们需要一个运行 Ubuntu 14.04 Droplet 具有 root 特权。下面的所有指示都是使用一个干净的 Ubuntu 14.04 Droplet 没有额外的软件编写的。

在安装新软件之前,将系统包更新到最新版本是很好的做法。

1apt-get update 
2apt-get upgrade

项目 OMD在项目网站上为 Ubuntu提供可用包。

要浏览包,我们可以去 包列表网站。 对于 Ubuntu 14.04 x64,在写本文时的最新版本,正确的包是 omd-1.20.trusty.amd64.deb

要下载包,执行:

1wget http://files.omdistro.org/releases/debian_ubuntu/omd-1.20.trusty.amd64.deb

由于文件相当大,下载可能需要一段时间。下载完成后,您应该看到一个类似于下面的消息:

1100%[=================================================================>] 78,969,558 24.6MB/s in 3.1s
2
32014-08-30 06:23:21 (24.6 MB/s) - "omd-1.20.trusty.amd64.deb" saved [78969558/78969558]

要安装新下载的软件包,键入:

1dpkg -i omd-1.20.trusty.amd64.deb

在第一次尝试时,这将失败,因为包 OMD具有多个依赖性。这很好。在尝试安装包后,我们会看到一个错误消息:

 1root@omdmaster:~# dpkg -i omd-1.20.trusty.amd64.deb
 2Selecting previously unselected package omd-1.20.
 3(Reading database ... 86590 files and directories currently installed.)
 4Preparing to unpack omd-1.20.trusty.amd64.deb ...
 5Unpacking omd-1.20 (0.trusty) ...
 6dpkg: dependency problems prevent configuration of omd-1.20:
 7 omd-1.20 depends on libsnmp-python; however:
 8  Package libsnmp-python is not installed.
 9 omd-1.20 depends on dialog; however:
10  Package dialog is not installed.
11 omd-1.20 depends on fping; however:
12  Package fping is not installed.
13 omd-1.20 depends on graphviz; however:
14  Package graphviz is not installed.
15 omd-1.20 depends on libapache2-mod-fcgid; however:
16  Package libapache2-mod-fcgid is not installed.
17 omd-1.20 depends on libapache2-mod-proxy-html; however:
18  Package libapache2-mod-proxy-html is not installed.
19 omd-1.20 depends on apache2-mpm-prefork; however:
20  Package apache2-mpm-prefork is not installed.
21 omd-1.20 depends on apache2-utils; however:
22  Package apache2-utils is not installed.
23 omd-1.20 depends on libboost-program-options1.54.0; however:
24  Package libboost-program-options1.54.0 is not installed.
25 omd-1.20 depends on libboost-system1.54.0; however:
26  Package libboost-system1.54.0 is not installed.
27 omd-1.20 depends on libdbi1; howeve
28dpkg: error processing package omd-1.20 (--install):
29 dependency problems - leaving unconfigured
30Processing triggers for ureadahead (0.100.0-16) ...
31Processing triggers for man-db (2.6.7.1-1) ...
32Errors were encountered while processing:
33 omd-1.20

这种失败的安装会自动通知包管理器缺失的依赖性,这使我们能够轻松地解决问题,而无需手动安装。

要解决缺失的依赖,我们必须执行:

1apt-get -f install

我們會看到「apt-get」想要安裝許多新套件,包括「apache2」和「mysql」。

运行此命令:

1apt-get -f install

现在安装应该成功完成:

 1Reading package lists... Done
 2Building dependency tree
 3Reading state information... Done
 4Correcting dependencies... Done
 5The following extra packages will be installed:
 6  apache2 apache2-bin apache2-data (...)  
 70 upgraded, 147 newly installed, 0 to remove and 3 not upgraded.
 81 not fully installed or removed.
 9Need to get 53.9 MB of archives.
10After this operation, 275 MB of additional disk space will be used.
11Do you want to continue? [Y/n]

在同意安装所有依赖(按 y)后,我们将被要求为 _MySQL 数据库设置一个 root 密码。

MySQL root password

出于安全原因,最好使用其他地方未使用的强有力的密码,在设置 OMD时不需要此密码,但可以使用此密码访问所有数据库,包括 OMD数据库。

输入密码后,安装将继续,不再有提示。我们先前试图安装的 OMD包也将在过程中自动安装。

1omd

输出:

使用(称为 root):

1omd help Show general help
2 (...)
3
4General Options:
5 -V <version>                    set specific version, useful in combination with update/create
6 omd COMMAND -h, --help show available options of COMMAND

omd命令是用于管理服务器上的 OMD实例的主要命令,用于同时启动和停止所有监控服务,我们将使用它来创建第一个 OMD实例。

现在我们必须创建第一个 OMD实例,在大多数情况下,第一个实例是服务器上的唯一一个,这就是我们在这里做的。

在我们创建 OMD实例之前,我们将不得不选择该实例将被识别的名称。它在配置过程中进一步使用,但也定义了监控网站将可访问的网址。

1omd create monitoring

omd工具将自动为我们设置一切,命令输出应该与下面的命令类似:

 1Adding /omd/sites/monitoring/tmp to /etc/fstab.
 2Restarting 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
 3OK
 4Creating temporary filesystem /omd/sites/monitoring/tmp...OK
 5Created new site monitoring with version 1.20.
 6
 7  The site can be started with omd start monitoring.
 8  The default web UI is available at http://omdmaster/monitoring/
 9  The admin user for the web applications is omdadmin with password omd.
10  Please do a su - monitoring for administration of this site.

该实例现在已创建,但仍需要启动。

1omd start monitoring

所有必要的工具和服务将立即启动,最后我们应该看到所有服务都成功启动如下:

1Starting rrdcached...OK
2Starting npcd...OK
3Starting nagios...OK
4Starting dedicated Apache for site monitoring...OK
5Initializing Crontab...OK

现在该实例正在运行,我们可以通过Web浏览器访问它。

若要访问 OMD实例,请在 Web 浏览器中打开 http://your_droplet_ip/monitoring/,我们将被要求提供密码。默认的omdadmin为用户名和omd为密码,我们将稍后更改这些默认。

在登录时,我们应该看到一个像下面的网页:

OMD default home page

这是默认的 OMD网页,允许访问所有安装的工具和应用程序,但我们将使用的唯一一个是 Check_MK Multisite工具,它是一个很棒的工具,不仅为我们提供了一个用户友好的方式来配置 OMD及其工具的几乎每一个方面,而且还将图表,警报和设置汇集到一个仪表板中。

Check_MK屏幕以默认方式打开仪表板,显示列表中的所有服务和服务器状态,并使用类似地球的实用图表。

Blank Check_MK dashboard

更改行政密码

默认的omdadmin/omd用户名和密码很容易记住,但并不安全,特别是因为它默认提供每个 OMD安装。

首先,从左侧的 WATO Configuration 菜单中打开 Users 窗口. 列表将显示目前可以访问 OMD 网站的所有用户,默认情况下仅列出omdadmin

OMD

点击omdadmin用户旁边的铅笔图标,以更改其详细信息,包括密码。

更新密码,添加管理员电子邮件,并进行任何其他所需的更改。

在保存更改后,我们将被要求使用我们的新身份证再次登录。

现在我们需要将更改保存到配置文件中。这被橙色按钮 1 更改标记,这告诉我们我们已经对 Check_MK的配置进行了一些更改,需要保存和激活。这将发生每次我们更改监控系统的配置,而不仅仅是在编辑用户的身份证之后。

激活更改后,新用户的数据将被写入配置文件,并被系统的所有组件使用。 Check_MK自动负责通知单个监控系统组件,必要时重新加载它们,并管理所有必要的配置文件。

监控第一位客人

OMD安装的组件负责收集、存储和呈现监控信息,它们本身不提供信息。

为了收集实际数据,我们将使用 Check_MK Agent,该工具专为 Check_MK设计,能够同时监控所有关键系统组件。

安装代理

我们监控的第一个主机将是 OMD Droplet本身。

要开始监控,我们必须先安装 Check_MK Agent。 所有主要发行版的包,包括 Ubuntu,可在 Check_MK 项目网站下载。

1wget http://mathias-kettner.de/download/check-mk-agent_1.2.4p5-2_all.deb

下载后,安装使用:

1dpkg -i check-mk-agent_1.2.4p5-2_all.deb

这一次安装不应该失败,因为所有依赖性都应该已经满足了,我们可以通过运行来验证该代理已成功安装:

1check_mk_agent

该命令应该输出一个看起来很长的文本,但在一个地方收集有关系统的所有重要信息。

限制访问监控数据

默认情况下,check_mk_agent的数据是使用xinetd提供的,这是一种在访问它时输出某个网络端口上的数据的机制,这意味着我们可以通过使用telnet 到端口 6556(默认端口为 Check_MK)从互联网上的任何其他计算机访问check_mk_agent这个系统,这就是证据(从本地计算机或不同的远程主机运行这些命令,并用您的Droplet的IP地址替换下面的IP地址):

1[root@otherhost ~]$ telnet 12.34.56.78 6556

此分類上一篇:

对任何对互联网感兴趣的人发布有关服务器的关键信息并不是一个好的安全政策,我们只应该允许运行 OMD并在我们监督下的主机访问数据,因此我们的监控系统可以收集它,但没有其他人。

为了限制访问代理数据,我们必须在 /etc/xinetd.d/check_mk 编辑配置文件。

1nano /etc/xinetd.d/check_mk

查找此部分:

1# configure the IP address(es) of your Nagios server here:
2#only_from      = 127.0.0.1 10.0.20.1 10.0.20.2

「only_from」设置负责限制访问某些 IP 地址,因为我们现在正在监控同一个 Droplet,即 OMD,所以只允许 localhost 连接是正常的。

1# configure the IP address(es) of your Nagios server here:
2only_from      = 127.0.0.1

保存和退出文件。

xinetd服务必须重新启动,以便发生更改. 要做到这一点,我们必须执行:

1service xinetd restart

现在该代理已启动并运行,并受限于仅接受本地连接。 要测试这一点,请从远程位置再次尝试telnet命令:

1telnet 12.34.56.78 6556

现在我们可以使用 Check_MK来配置该主机的监控。

在 Check_MK 中配置主机

要添加一个新的主机来监控,我们必须进入左侧的 WATO Administration 菜单中的 **Hosts ** 菜单,然后点击 Create new host. 我们将被要求提供一些关于主机的信息。

Hostname是用于监控的已知名称。 它可能是一个完全合格的域名,但并不必要。 在本例中,我们将命名主机 monitoring,就像 OMD实例本身的名称一样。 由于 monitoring 无法解决 IP 地址,我们还必须提供我们的 Droplet 的 IP 地址。 由于我们正在监控 localhost, IP 将简单地为 127.0.0.1。 请检查框以启用 IP 设置。

默认代理类型已经设置为 Check_MK agent,这很好。 使用 networking segment 设置来表示远程网络上的主机,这些主机具有较高的预期延迟,而不是故障的迹象。

要保存主机并配置哪些服务将被监控,请单击 ** 保存 & 转到服务 ** 按钮。

Check_MK会自动进行库存,这意味着它会从代理人那里收集输出,并解密它,以便知道它可以监控哪些类型的服务。所有可用的监控服务将列在列表中,包括CPU负载,内存使用和磁盘上空的空间。为了保存可用的检查,我们必须点击 Save manual check configuration按钮。

就像更改用户密码一样,必须保存和激活更改,然后将其完全考虑到。

与监控数据合作

现在让我们使用左侧的 Dashboards/Main Overview菜单项来查看主仪表板。

地球球现在将完全绿色,表格将表示一个主机没有问题,我们可以看到完整的主机列表,现在由一个主机组成,在 Hosts/All hosts视图中(使用左侧菜单)。

在那里,我们将看到有多少服务处于良好的健康状态(显示在绿色),有多少服务失败,还有多少服务尚未进行检查。点击主机名称后,我们将能够看到所有服务的完整状态和 Perf-O-Meter的列表。

所有返回可在图表上表示的数据的服务都有图表图标在其名称旁边。我们可以使用该图标访问与服务相关的图表。由于主机监控新鲜,图表上几乎没有任何东西 - 但是一段时间后图表将提供有关服务性能如何随着时间的推移而改变的有价值的信息。

当任何服务失败或恢复时,信息将显示在仪表板上. 对于失败的服务,将显示红色错误,问题也将显示在地球图表上。

恢复后,一切都将以绿色显示为正常工作,但右侧的事件日志将包含有关过去失败的信息。

监控 Second CentOS 主机

当您有多个主机时,监控非常有用,我们将向我们的 OMD实例添加第二个Droplet,运行 CentOS 7.0 x64

安装代理

就像我们的 Ubuntu Droplet一样,安装 Check_MK Agent是必要的,以收集监控数据。这次我们需要从 Check_MK 项目网站rpm 包。

1wget http://mathias-kettner.de/download/check_mk-agent-1.2.4p5-1.noarch.rpm

下载后,安装使用:

1yum install check_mk-agent-1.2.4p5-1.noarch.rpm

CentOSxinetd默认不安装,所以yum将要求安装依赖性。同意,然后包将被安装。就像以前一样,我们可以通过执行check_mk_agent来验证代理是否正常工作 - 输出将与第一个Dropplet相似。

限制访问

这一次我们不会监控本地主机,所以xinetd必须允许带有 OMD的 Droplet 收集数据。

1nano /etc/xinetd.d/check_mk

取代

1# configure the IP address(es) of your Nagios server here:
2    #only_from      = 127.0.0.1 10.0.20.1 10.0.20.2

1# configure the IP address(es) of your Nagios server here:
2    only_from      = your-omd-droplet-ip

保存和退出文件. 使用以下方式重新启动xinetd服务:

1service xinetd restart

我们现在可以继续配置 Check_MK来监控我们的CentOS 7主机。

在 Check_MK 中配置新主机

要将额外的主机添加到 Check_MK,我们会像以前一样使用 Hosts菜单。这次我们将主机命名为centos,配置其IP地址,并选择 WAN(高延迟),因为主机是在另一个网络上。使用检查框来启用IP和网络设置。

点击 保存并转到服务,这将显示在 CentOS Droplet上可用于监控的服务. 列表将非常类似于第一个主机的列表。

激活更改后,我们可以通过访问 All hosts页面来验证主机是否被监控,现在应该看到两个主机,即监控centos

服务失败和恢复的警告将继续在两个主机主仪表板上显示。

添加更多客人

Check_MK中可以添加多个主机进行监控。除了服务器性能之外,没有上限,这不应该是一个问题,直到我们谈论数百个主机。

摘要及进一步阅读

** Open Monitoring Distribution**允许基于 Check_MK的轻松设置监控系统,将所有艰苦的工作包装成一个易于使用的网页界面,充满了配置选项和功能。

Check_MK 的文档(http://mathias-kettner.de/checkmk.html)以英语提供,是 Check_MK 用户和管理员的全面资源。

Published At
Categories with 技术
comments powered by Disqus