Nagios添加服务之check_raid(check_megaraid_sas)

简介:

本文主要介绍nagios通过check_megaraid_sas添加对主机raid卡状态的监控。


欢迎转载,请注明作者、出处。

作者:张正
blog:http://space.itpub.net/26355921 
QQ:176036317
如有疑问,欢迎联系。

目录

1.前提说明

2.前提安装

3.脚本安装

4.被监控端配置

5.nagios配置

1.前提说明

对于使用了LSI MegaRAID卡搭建RAID的主机通过LSI公司提供的MegaCli工具就可以实现对RAID卡和硬盘的监控。

2.前提安装

在需要被监控主机上进行以下操作:

         a. 查看服务器类型:dmidecode -s system-product-name

         b. 检查RAID卡信息:dmesg | grep RAID

         c. 确认是否已经安装工具:

[root@localhost ~]# rpm -qa | egrep 'Lib_Utils|MegaCli'

Lib_Utils-1.00-09.noarch

MegaCli-8.02.21-1.noarch

如果还没有安装,建议下载安装使用最新的MegaCli 这样就支持更多的SAS硬盘类型的监控。安装完成后,如何正确安装,执行MegaCli会有如下提示:

[root@localhost ~]# MegaCli

Fatal error - Command Tool invoked with wrong parameters

Exit Code: 0x01

d. 使用MegaCli查看相关信息(not necessary)

# MegaCli -help  (查看命令帮助)

# MegaCli -adpCount  (查看适配器个数)
#MegaCli -LdGetNum -aALL  (
查看逻辑盘个数)
# MegaCli -LdInfo -LALL -aAll  (
显示所有逻辑盘信息)

3.脚本安装

下载check_megaraid_sas脚本,该脚本通过MegaCli命令来获取监控信息的Nagios插件使用perl编写的。

下载地址http://www.techno-obscura.com/~delgado/code/check_megaraid_sas
        
修改该脚本内容:

# vi check_megaraid_sas

a.  查找第35行:

use lib qw(/usr/lib/nagios/plugins /usr/lib64/nagios/plugins); # possible pathes to your Nagios plugins and utils.pm

修改为:
use lib qw(/usr/local/nagios/libexec); # possible pathes to your Nagios plugins and utils.pm

说明:/usr/local/nagios/libexec nrpe 在监控端主机上的路径。 


b.  查找第52-53行:

my $megaclibin = '/usr/sbin/MegaCli';  # the full path to your MegaCli binary

my $megacli = "sudo $megaclibin";      # how we actually call MegaCli

修改为:

my $megaclibin = '/usr/sbin/MegaCli';  # the full path to your MegaCli binary

my $megacli = "$megaclibin";      # how we actually call MegaCli

说明:/usr/sbin/MegaCliMegaCli的绝对路径。


c.  移动脚本位置,增加执行权限:

# cp check_megaraid_sas  /usr/local/nagios/libexec/check_megaraid_sas
# chmod 755  
/usr/local/nagios/libexec/check_megaraid_sas
# /usr/local/nagios/libexec/check_megaraid_sas -h      (
查看使用帮助)

         # /usr/local/nagios/libexec/check_megaraid_sas     (检查状态)

OK: 0:0:RAID-10:4 drives:1.089TB:Optimal Drives:4

4.被监控端配置

         a. 在被监控端主机,修改:/usr/local/nagios/etc/nrpe.cfg,添加以下内容:

command[check_megaraid_sas]=/usr/local/nagios/libexec/check_megaraid_sas

b. 重启被监控端nrpe

# ps -ef|grep nrpe

nagios 10751 1 0 09:17 ? 00:00:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

root  12961 11538  0 10:27 pts/1    00:00:00 grep nrpe

         #kill 10751

# cat /etc/rc.local |grep nrpe

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d

         执行该脚本,启动。

 

         c. 测试nagios监控命令:

#/usr/local/nagios/libexec/check_nrpe -H localhost -c check_megaraid_sas -t 30

正常情况下返回值为:OK: Drives:0 。若提示:command ‘check_megaraid_sas’ not defined. 则说明没有在nrpe.cfg中添加command或者没有重启nrpe进程。

5.nagios配置

进入nagiosql管理界面:

a. 添加命令:命令à定义à添加à输入如下图所示à保存à写入配置文件




b. 添加服务:监督à服务à输入如下配置à保存à写入配置



c. 添加主机:监督àHostà添加à输入所需配置à添加服务à保存à写入配置文件



d. 重启nagios:工具àNagios控制à检查配置文件(无报错后)à重新启动Nagios





最后在nagiosservice中可以看到:


本文转自ITPUB博客84223932的博客,原文链接:Nagios添加服务之check_raid(check_megaraid_sas),如需转载请自行联系原博主。

相关文章
|
缓存 Java 数据库
SpringBoot 接口:响应时间优化9个技巧!
今天聊聊 SpringBoot接口:响应时间优化的9个技巧。在实际开发中,提升接口响应速度是一件挺重要的事,特别是在面临大量用户请求的时候。好了,咱们直接切入正题。
836 0
|
关系型数据库 MySQL 数据库
使用 Docker 安装 MySQL 8
使用 Docker 安装 MySQL 8
3141 4
|
12月前
|
移动开发 前端开发 JavaScript
HTML(HyperText Markup Language,超文本标记语言)
HTML(HyperText Markup Language,超文本标记语言)
360 11
|
算法 调度 UED
深入理解操作系统:进程调度与优先级队列
【10月更文挑战第31天】在计算机科学的广阔天地中,操作系统扮演着枢纽的角色,它不仅管理着硬件资源,还为应用程序提供了运行的环境。本文将深入浅出地探讨操作系统的核心概念之一——进程调度,以及如何通过优先级队列来优化资源分配。我们将从基础理论出发,逐步过渡到实际应用,最终以代码示例巩固知识点,旨在为读者揭开操作系统高效管理的神秘面纱。
|
编译器 C语言
C语言中的goto语句
C语言中的goto语句C语言中的goto语句 goto语句是C语言(及许多其他早期编程语言)中的一个控制流语句,它允许程序无条件地跳转到程序中的另一个位置。goto语句后面跟着一个标签(label),该标签是程序中某个语句之前的一个标识符。当执行到goto语句时,程序会立即跳转到与该标签相关联的语句处继续执行。 1. 基本概念与工作原理 基本概念:goto语句通过标签来指定跳转的目标位置。标签是一个以冒号:结尾的标识符,它可以放在程序中的任何语句之前(除了函数定义和变量声明的开始)。 工作原理:当执行到goto语句时,程序会查找与goto语句中指定的标签相匹配的标识符,并跳转到该标签所在的位置
434 1
|
SQL 运维 监控
MSSQL性能调优实战:索引优化、SQL查询效率提升与并发控制策略
在Microsoft SQL Server(MSSQL)的日常运维与性能优化中,精准的策略与技巧是实现高效数据库管理的关键
|
SQL 安全 前端开发
软件测试指南:从策略到实践
【8月更文第21天】软件测试是为了评估软件的质量并验证其是否符合预期的功能要求而进行的一系列活动。本文将详细介绍软件测试的不同阶段、测试类型、测试策略与计划的制定、以及如何有效地管理与跟踪发现的缺陷。
908 1
|
存储 JSON API
作为开发者,我如何提高任务型大模型应用的响应性能
本文基于实际场景,分享了作为开发者提高大模型响应性能的四个实用方法。
2316 57
|
存储 监控 关系型数据库
如何升级MySQL版本?
如何升级MySQL版本?
827 2
|
存储 关系型数据库 MySQL
深入研究MySQL意向锁
MySQL意向锁是一种特殊的表级锁,由InnoDB存储引擎在操作数据之前自动添加,无需用户干预。它分为意向共享锁(IS)和意向排他锁(IX)两种。意向锁的主要作用是协调行锁和表锁的关系,优化加锁策略,避免全表扫描判断是否存在行锁。意向锁之间不会冲突,但会与表级别的排他锁冲突,从而确保数据库并发访问的一致性和完整性。简而言之,意向锁提高了数据库并发操作的性能和效率。
23199 5