使用Opsview监控Linux和Unix服务器温度

使用Opsview监控Linux和Unix服务器温度

monitor server temperature with Opsview

管理数据中心的功耗是帮助保持整体业务能耗降低并确保服务器运行最佳性能的关键因素。 过热可能导致冷却成本增加,同时也会导致服务器崩溃。

Opsview 服务器监控软件可用于检查和警报服务器温度以及服务器(内存,CPU和硬盘驱动器)中各个组件的温度。 当超过临界温度时,可以设置阈值和警报,有助于保持热启动的服务器。

本博客文章详细介绍了如何配置Opsview来监控Linux和Unix服务器的温度。

脚步:

[ 注意 :本指南假设我们希望监控的系统已经安装了Opsview代理 ]

1 。 作为root用户 ,我们需要安装“lm_sensors”和“hddtemp”(Linux发行版可能有所不同); 在CentOS / RHEL上,它们通过“ yum install lm_sensors hddtemp ”获取。

2 。 一旦安装了这些项目,我们将需要以root身份运行“sensors-detect”来检测我们要监视温度的项目。 一旦完成,我们将需要保存(只需按ENTER键),并且传感器检测完成。

3 。 现在安装了lm_sensors和hddtemp,我们可以在本地测试它们,如下所示:

硬盘温度:

[root@rhelserver ~]# hddtemp /dev/sda
/dev/sda: ST3120811AS: 31°C

lm_sensors:

[root@rhelserver ~]# sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +38.0°C  (high = +84.0°C, crit = +100.0°C)
Core 1:      +39.0°C  (high = +84.0°C, crit = +100.0°C)
Core 2:      +37.0°C  (high = +84.0°C, crit = +100.0°C)
Core 3:      +38.0°C  (high = +84.0°C, crit = +100.0°C)

 
i5k_amb-isa-0000
Adapter: ISA adapter
Ch. 0 DIMM 0: +67.0°C  (low  = +110.5°C, high = +124.0°C)

Ch。 1 DIMM 0:+ 62.0°C(低= + 110.5°C,高= + 124.0°C)

我们可以看到,根据上面的输出,我们的传感器和它们的温度读数可以根据需要进行检测和运行,现在我们需要添加插件,以“每个传感器”的形式获取输出,以便我们将其添加到服务检查监控服务器温度。

4 。 从这里链接下载“check_lm_sensors”插件并复制到/ usr / local / nagios / libexec。 一旦完成,通过提取它

tar -zxvf check_lm_sensors-3.1.1.tar.gz

5 。 我们可以通过运行以root身份测试我们的新插件:

/usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors –list

应再次列出传感器及其温度。 如果这不工作或给出Perl错误 ,那么使用nano / vim编辑check_lm_sensors文件,并在脚本的顶部添加以下内容:

use lib "/usr/local/nagios/perl/lib/";

6 。 为了使我们能够以“nagios”用户(check_nrpe服务检查所需)运行此命令,我们需要:

chmod +x /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors
chown –R nagios:nagios /usr/local/nagios/libexec/check_lm_sensors-3.1.1/

7 。 我们还需要在/ etc / sudoers文件中添加一行。 作为root用户,请将以下行添加到/ etc / sudoers的底部:

nagios ALL=(root) NOPASSWD:/usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors

这允许nagios用户以root身份运行check_lm_sensors,而无需通过密码进行身份验证。

8 。 我们现在必须向我们的代理添加我们的检查命令,因为我们将在服务器上本地执行它们,并通过check_nrpe命令(NRPE为N agios R emote P lugin E xecutor)将输出传回给Opsview服务器。 要做到这一点,我们需要概述我们的命令是什么,我们将它们称为。 为此,我们需要编辑位于/usr/local/nagios/etc/nrpe_local/override.cfg的“overrides.cfg”文件

9 。 我们需要使用文本编辑器(如vim或nano)来编辑此文件,即

nano /usr/local/nagios/etc/nrpe_local/override.cfg

并添加类似于以下内容的行:

check_command[core0_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core0=45,55

check_command[core1_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core1=45,55

check_command[core2_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core2=45,55

check_command[core3_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core3=45,55

check_command[dimm0_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Ch.0DIMM0=60,75

check_command[dimm1_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Ch.1DIMM0=60,75

check_command[sda_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high sdaTemp=60,75

这将创建7个新命令,例如“core0_temp”,它们执行“=”右侧指定的完整路径。

10 。 接下来,我们需要通过运行重新加载Opsview代理

service opsview-agent restart

例如。

11 。 我们现在可以通过导航到/ usr / local / nagios / libexec并运行如下命令来测试这些新命令作为nagios用户:

./check_nrpe –H localhost –c dimm0_temp

这将输出结果,如下所示,如果它成功完成:

[nagios@rhelserver libexec]$ ./check_nrpe -H localhost -c dimm0_temp
LM_SENSORS WARNING - Ch.0DIMM0=67.0|Ch.0DIMM0=67.0;60;75;;

12 。 现在所有的事情都被确认为工作,我们现在只需要在Opsview中创建我们的服务检查,并将它们添加到主机中。 为此,只需登录到Opsview,然后导航到“ 设置>服务检查 ”,然后单击绿色的“加号”符号。 这将加载一个新的页面,您将需要填充各种设置,如名称,服务组等。

这个例子的重要部分是插件参数 ; 在“插件”中,我们必须选择check_nrpe和参数,我们必须输入类似于“ -H $ HOSTADDRESS $ -c dimm0_temp ”的内容。 其中“dimm0_temp”是我们之前运行的命令,并添加到我们的overrides.cfg文件中。

13 。 一旦我们为我们的服务器上的“overrides.cfg”添加了我们所有添加的所有行的服务检查,我们可以导航到“ SETTINGS> HOSTS” ,点击相应的主机(*或添加它,如果它当前不在Opsview * ),并导航到MONITORS选项卡,您可以在其中选择新的服务检查如下:

14 。 一旦添加,我们终于需要重新加载Opsview来应用我们的更改,通过“ SETTINGS> APPLY CHANGES ”和“reload configuration”。 一旦重新加载,我们可以导航到我们的主机,并查看我们的新的服务器温度监视器如下:

15.我们现在可以根据温度开始创建通知配置文件,例如“在这些时间内,如果温度对我的数据中心的任何服务器”XYZ“都有重要的影响,通知我”。 这样,我们可以通过短信/电子邮件/ iOS推送通知立即查看服务器温度变得至关重要,并立即进行调查。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏