阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下Nagios安装配置详解

430次阅读
没有评论

共计 8176 个字符,预计需要花费 21 分钟才能阅读完成。

控对于对于系统管理人员的日常运维工作来说是非常重要的,而比较知名的开源监控软件有 Ganglia、Cacti、Nagios、Zabbix 等等,而本次就简单的说下 Nagios 的安装部署,因为 Nagios 是基于 web 页面查看管理的,那可以选用 lamp 或者是 lnmp 这些比较容易实现的 web 系统框架来实现即可,Nagios 的官网是:https://www.nagios.org/downloads/,当然下载版本建议用最新的稳定版。Nagios 的监控实现是由各个插件来完成的它本身是没有监控功能的,所以 Nagios 使用非常灵活,而在需要监控不同的平台主机、硬件时用不同的插件,下面从网页上找的一张图能很好的说明:

Linux 下 Nagios 安装配置详解

从图中得知 Nagios 监控中的插件 SNMP 在不同平台的主机、硬件上都有用到,而 Linux 中有 send-nsca 和 NRPE 一般我们常用的是 NRPE,监听的是 tcp 的 5666 端口;而在 Windows 主机上使用的是 NSClient++,监听的是 12489 和 5666 端口,这一点很重要做为被监控的主机上一定要开放这些端口。

在安装 Nagios 之前需要先安装 Nagios 的监控主机(server 端),然后再到被监控主机(clinet 端)上安装相应的插件。

1、server 端:
在安装之前先要检查依赖包
[root@localhost ~]# yum -y groupinstall “Development Tools” “Development Libraries”# 在配置好 yum 源的主机上,先检查下开发包组是否安装
[root@localhost ~]# yum -y install httpd php php-mysql gd gd-devel sendmail openssl-devel# 这里是测试就没有用编译包的 php 和 apache,一般来说建议使用编译包

在依赖关系解决后就开始正常的 Nagios 安装,先安装 Nagios 的核心引擎和 web 页面

[root@linuxidc ~]# groupadd -r nagcmd# 添加 nagcmd 组
[root@linuxidc ~]# useradd -M -G nagcmd -r -s /sbin/nologin nagios
[root@linuxidc ~]# passwd nagios
[root@linuxidc ~]# usermod -a -G nagcmd apache# 把 nagcmd 组附属在 apache 组
[root@linuxidc ~]# cd /usr/local/src/nagios-4.3.1
[root@linuxidc nagios-4.3.1]# ./configure –sysconfdir=/etc/nagios –prefix=/usr/local/nagios –with-command-group=nagcmd –enable-event-broker
[root@linuxidc nagios-4.3.1]# make all && make install
[root@linuxidc nagios-4.3.1]# make install-init && make install-commandmode && make install-config# 添加相应的插件
[root@linuxidc nagios-4.3.1]# vim /etc/nagios/objects/contacts.cfg# 修改邮件接收人的配置文件,在此就不做过多的说明,配置文件的注释里都有,主要改的就是邮箱地址
[root@linuxidc nagios-4.3.1]# make install-webconf# 配置 web 配置文件
[root@linuxidc nagios-4.3.1]# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin# 配置 Nagios 的页面密码
New password: 
Re-type new password: 
Adding password for user nagiosadmin

到此 nagios 的核心引擎和基本 web 页面就已经安装完毕,在此直接启动 httpd 后使用浏览器测试下

Linux 下 Nagios 安装配置详解

此时的 Nagios 是不具备任何监控功能,因为这台 Nagios 主机是 Linux 服务器,所以监控插件在这里选比较常用的 nrpe,在安装 nrpe 之前要先安装好 Nagios 的插件 plugins
[root@localhost nagios-4.3.1]# cd ../nagios-plugins-2.1.4
[root@localhost nagios-plugins-2.1.4]# ./configure –with-nagios-user=nagios –with-nagios-group=nagios
[root@localhost nagios-plugins-2.1.4]# make && make install
[root@localhost nagios-plugins-2.1.4]# chkconfig –add nagios# 添加 Nagios 的服务
[root@localhost nagios-plugins-2.1.4]# chkconfig nagios on#Nagios 开机自启动
[root@localhost nagios-plugins-2.1.4]# /etc/init.d/nagios start
[root@localhost nagios-plugins-2.1.4]# getenforce# 此处要注意的是要检查是否服务器上有开启 selinux,如果有开启要选择关闭吧或者在 selinux 中添加 nagios 的相应文件到可以执行的标签中
Enforcing
[root@localhost nagios-plugins-2.1.4]# chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
[root@localhost nagios-plugins-2.1.4]# chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

此时在 server 端上的 Nagios 的插件就已经安装完毕,此时便可以安装 Nagios 的 nrpe 插件
[root@localhost nagios-plugins-2.1.4]# cd ../nrpe-3.0.1/
[root@localhost nrpe-3.0.1]# ./configure –with-nrpe-user=nagios –with-nrpe-group=nagios –with-nagios-user=nagios –with-nagios-group=nagios –enable-command-args –enable-ssl –sysconfdir=/etc/nagios
[root@localhost nrpe-3.0.1]# make all && make install-plugin

这样在 server 端上的 Nagios 就已经安装部署完毕,此时 Nagios 已经可以自行监控本机。

Linux 下 Nagios 安装配置详解

2、clinet 端:
此处的客户端为了快速简单的部署实现,在这里就用另外一台 Linux 服务器来搭建。同理,在 Nagios 的 client 端下也要添加相应的用户。当然,也要先安装好 Nagios 的插件

[root@linuxidc ~]# useradd -M -r -s /sbin/nologin nagios
[root@linuxidc ~]# cd /usr/local/src/
[root@linuxidc src]# cd nagios-plugins-2.1.4
[root@linuxidc nagios-plugins-2.1.4]# ./configure –with-nagios-user=nagios –with-nagios-group=nagios
[root@linuxidc nagios-plugins-2.1.4]# make all && make install

在插件安装完毕后开始安装 nrpe
[root@linuxidc nagios-plugins-2.1.4]# cd ../nrpe-3.0.1/
[root@linuxidc nrpe-3.0.1]# ./configure –with-nrpe-user=nagios –with-nrpe-group=nagios –with-nagios-user=nagios –with-nagios-group=nagios –enable-command-args –enable-ssl –sysconfdir=/etc/nagios
[root@linuxidc nrpe-3.0.1]# make all && make install-plugin
[root@linuxidc nrpe-3.0.1]# make install-daemon && make install-config && make install-init && make install-inetd

到这里 Nagios 的 nrpe 部分就安装结束了,以下做一些基本配置
[root@linuxidc nrpe-3.0.1]# vim /etc/nagios/nrpe.cfg
…略…
allowed_hosts=192.168.218.128
# 在这里的 ip 改成 server 端的 Nagios 的监听 ip
…略…
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
# 此处根据磁盘的实际使用的盘符情况修改
…略…
[root@linuxidc nrpe-3.0.1]# /etc/init.d/nrpe start

在安装好后做一些基本的验证,这里要注意的是这些验证需要在监控 server 主机上做,被监控主机需要开启 5666 端口

[root@linuxidc nrpe-3.0.1]# cd /usr/local/nagios/libexec/
[root@linuxidc libexec]# ./check_nrpe -H 192.168.218.129# 检查被监控主机的 IP,这样有打印出版本号就是正常的
NRPE v3.0.1

这样 Nagios 的安装就完成了,而 Nagios 的家目录或文件的含义也很简单,如下:

目录 解释
binNagios 的二进制文件的目录
sbinNagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录
shareNagios 网页文件所在的目录,建议这里去找一下中文的资料便于查阅
libexecNagios 外部插件所在目录
varNagios 日志文件、lock 等文件所在的目录
var/archivesNagios 日志自动归档目录
var/rw 用来存放外部命令文件的目录

当然我这里是指定 Nagios 的配置文件路径在 /etc/nagios 路径下,如果没有指定的话默认缺省是在 Nagios 的家目录下,而配置的一些文件或目录的含义也很简单,关系如下:

文件名或目录名 用途
cgi.cfg 控制 CGI 访问的配置文件
nagios.cfgNagios 主配置文件
resource.cfg 变量定义文件,又称为资源文件,在些文件中定义变量,以便由其他配置文件引用,如 $USER1$
objectsobjects 是一个目录,在此目录下有很多配置文件模板,用于定义 Nagios 对象
objects/commands.cfg 命令定义配置文件,其中定义的命令可以被其他配置文件引用
objects/contacts.cfg 定义联系人和联系人组的配置文件
objects/localhost.cfg 定义监控本地主机的配置文件
objects/printer.cfg 定义监控打印机的一个配置文件模板,默认没有启用此文件
objects/switch.cfg 定义监控路由器的一个配置文件模板,默认没有启用此文件
objects/templates.cfg 定义主机和服务的一个模板配置文件,可以在其他配置文件中引用
objects/timeperiods.cfg 定义 Nagios 监控时间段的配置文件
objects/windows.cfg 监控 Windows 主机的一个配置文件模板,默认没有启用此文件

在此时 Nagios 还是不能用的还有一些基础配置需要修改才能正常的使用,在 server 端进入 sysconfigdir 目录, 先要根据实际情况修改一下 commandss.cfg 文件, 添加以下内容:

[root@linuxidc nagios]# vim objects/commands.cfg
define command{
        command_name    check_nrpe
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

在 Nagios 的默认配置文件下是没有 Linux 的配置文件所以如果是用于监控 Linux 主机,需要自行定义写配置文件,在此就用简单的写了一个 Linux 下使用的模板:
[root@linuxidc nagios]# vim objects/linux.cfg
define host{
        use            linux-server
        host_name      linuxhost
        alias          My linux Server
        address        192.168.218.129    ; 这里填被监控主机的 IP
        }
 
define service{
        use                    generic-service
        host_name              linuxhost
        service_description    CHECK_USERS
        check_command          check_nrpe!check_users
        }
 
define service{
        use                    generic-service
        host_name              linuxhost
        service_description    CHECK_LOAD
        check_command          check_nrpe!check_load
        }
 
define service{
        use                    generic-service
        host_name              linuxhost
        service_description    CHECK_SDA1
        check_command          check_nrpe!check_sda1
        }
 
define service{
        use                    generic-service
        host_name              linuxhost
        service_description    CHECK_ZOMBIE_PROCS
        check_command          check_nrpe!check_zombie_procs
        }
 
define service{
        use                    generic-service
        host_name              linuxhost
        service_description    CHECK_TOTAL_PROCS
        check_command          check_nrpe!check_total_procs
        }
[root@linuxidc nagios]# chown nagios:nagios linux.cfg# 修改下配置文件的属组

在 linux.cfg 配置文件修改好后还需要 在 nagios.cfg 添加环境变量:
[root@linuxidc nagios]# vim nagios.cfg
…略…
cfg_file=/etc/nagios/objects/linux.cfg
…略…

正在修改后可以用 Nagios 的配置文件验证检查
[root@linuxidc nagios]# /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg
Nagios Core 4.3.1
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 02-23-2017
License: GPL
 
Website: https://www.nagios.org
Reading configuration data…
  Read main config file okay…
  Read object config files okay…
 
Running pre-flight check on configuration data…
 
Checking objects…
        Checked 13 services.
        Checked 2 hosts.
        Checked 1 host groups.
        Checked 0 service groups.
        Checked 1 contacts.
        Checked 1 contact groups.
        Checked 25 commands.
        Checked 5 time periods.
        Checked 0 host escalations.
        Checked 0 service escalations.
Checking for circular paths…
        Checked 2 hosts
        Checked 0 service dependencies
        Checked 0 host dependencies
        Checked 5 timeperiods
Checking global event handlers…
Checking obsessive compulsive processor commands…
Checking misc settings…
 
Total Warnings: 0
Total Errors:  0
 
Things look okay – No serious problems were detected during the pre-flight check
[root@linuxidc nagios]# /etc/init.d/nagios restart

像这样就是没有报错的,再重启下 Nagios 就可以了, 这样基本的 Nagios 的安装就完毕了, 这里需要注意的是在 Nagios 的 server 端需要开启 80、443 端口用于 Web 管理页面的正常浏览, 当然这也是一些基本的配置部署,如果要实现更多的功能还需要进一步的修改配置文件。

CentOS 7 下安装配置 Nagios 监控图文详解  http://www.linuxidc.com/Linux/2017-05/143886.htm

Nagios 邮件报警配置简述  http://www.linuxidc.com/Linux/2017-02/140834.htm

Nagios 本机及其他主机监控安装部署详解  http://www.linuxidc.com/Linux/2017-03/141600.htm

Nagios 系统监控基本安装配置过程详解  http://www.linuxidc.com/Linux/2017-01/139758.htm

Linux 下 Nagios+PNP4Nagios 的安装与配置  http://www.linuxidc.com/Linux/2016-09/135534.htm

CentOS7 安装 Nagios 并配置出图详解  http://www.linuxidc.com/Linux/2015-12/125777.htm

Nagios 的详细介绍 :请点这里
Nagios 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-05/144032.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计8176字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7964462
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...