Nagios安装与部署
Nagios概述:
Nagios是一款开源免费(也有收费版的Nagios XI)的监控工具,可以用以监控Windows、Linux、Unix、Router、Switch,可以监控指定主机的物理基础资源或服务,当被监控对象健康状态“变好”或者“变坏”的时候,可以通过邮件、短信等方式通知到相关管理人员或运维人员。
官方介绍:
官方下载地址:
https://www.nagios.org/downloads/nagios-core/thanks/?skip=1&product_download=nagioscore-source
相关网址:
https://www.nagios.org/downloads/nagios-core-frontends/ //如果嫌弃Nagios的web界面不够美观,可以去这里找些主题换上
https://exchange.nagios.org/#_ga=2.236442180.491245866.1535507044-125128113.1535507044 //nagios的一些拓展插件,可以在这里下载
https://exchange.nagios.org/directory/Addons //各类插件,包括一些监控脚本
https://www.nagios.org/downloads/nagios-core-addons/ //nagios的一些项目
Nagios的运行模式:
Nagios服务以C/S模式收集数据,用户以B/S模式查看
Nagios的运行原理:
上图的过程可以概括为Nagios Server从客户端采集过来数据加以分析,然后以网页形式呈现给用户。
附上另外两张网上找的Nagios的运行原理图帮助理解:
部署Nagios所需的软件:
LAP(Linux + Apache + PHP)
nagios-3.5.1.tar //Nagios的核心文件,Nagios服务文件,选择稳定版就好,最新版的很多插件用不了
nagios-plugins-2.1.1.tar //Nagios插件,用于各种脚本和命令
nrpe-2.15.tar //代理服务,用户监控非Nagios服务器的服务器本地私有信息代理
NSCP-0.4.3.143-x64 //Nsclient++,用于监控Windows,分32位和64位
pnp4nagios-0.6.25.tar //非必需,用于结合nagios出图
vautour_style //nagios主题
开始部署
首先解决依赖
[root@xueji ~]# yum install -y gcc gcc-c++ glibc glibc-common php gd gd-devel libpng libmng libjpeg zlib
这里注意:如果提示那个依赖库安装失败,建议配置下网络YUM源,USTC、Tsinghua或者ali的开源镜像站都可以;也可以直接去网上下载。
采用YUM方式安装apache和php:
[root@xueji ~]# yum install -y httpd php
启动httpd服务并测试PHP是否可用
[root@xueji ~]# service httpd start
[root@xueji ~]# elinks 192.168.159.130 --dump >> php_out.txt
[root@xueji ~]# echo $? [root@xueji ~]# less php_out.txt
[]PHP Logo PHP Version 5.3. System Linux xueji 2.6.-.el6.x86_64 # SMP Fri Nov
:: UTC x86_64
Build Date Mar ::
'./configure' '--build=x86_64-redhat-linux-gnu'......
显示出PHP的相关信息,即说明PHP正常
添加nagios运行用户并准备软件包
[root@xueji ~]# groupadd nagcmd
[root@xueji ~]# usermod -G nagcmd apache
[root@xueji ~]# useradd nagios -G nagcmd
[root@xueji ~]# mkdir Nagios
[root@xueji Nagios]# ls
nagios-3.5..tar.gz pnp4nagios-0.6..tar.gz
nagios-plugins-2.1..tar.gz vautour_style.zip
nrpe-2.15.tar.gz
开始安装nagios
[root@xueji Nagios]# tar -xf nagios-3.5..tar.gz
[root@xueji Nagios]# tar -xf nagios-plugins-2.1..tar.gz
[root@xueji Nagios]# tar -xf nrpe-2.15.tar.gz
[root@xueji Nagios]# tar -xf pnp4nagios-0.6..tar.gz
[root@xueji Nagios]# unzip vautour_style.zip
[root@xueji Nagios]# cd nagios
[root@xueji nagios]# ./configure --with-command-group=nagcmd && echo $? && sleep && make all && echo $? && sleep && make install && make install-init && make install-commandmode && make install-config && make install-webconf
//make install安装生成/usr/local/nagios/,其中/usr/local/nagios/share即nagiosWEB访问界面的站点目录
//make install-init 安装生成/etc/rc.d/init.d/nagios 启动脚本
//make install-config 安装生成/usr/local/nagios/etc下的nagios相关配置文件
//make install-commandmode 设定相应nagios工作目录的权限
//make install-webconf 安装Nagios的WEB配置文件到Apache的conf.d目录下
到此时,安装过程就结束了
Nagios安装完成后,相关文件目录说明
[root@xueji nagios]# ls /usr/local/nagios/
bin etc libexec sbin share var
[root@xueji nagios]# ls /usr/local/nagios/share/ #执行过make install 后生成了/usr/local/nagios/share这个目录
config.inc.php includes media side.php
contexthelp index.php robots.txt ssi
docs js rss-corefeed.php stylesheets
images main.php rss-newsfeed.php
##执行了make install-init 后,生成了/etc/init.d/nagios,即nagios的启动文件
[root@xueji nagios]# ls /etc/init.d/nagios
/etc/init.d/nagios
##执行make install-config后,生成了nagios的配置文件
[root@xueji nagios]# ls /usr/local/nagios/etc/
cgi.cfg nagios.cfg objects resource.cfg
##执行make install-webconf后,会在/etc/httpd/conf.d/下生成nagios的配置文件
[root@xueji nagios]# ls /etc/httpd/conf.d/ | grep nagios
nagios.conf
Nagios安装完成后的主目录
[root@xueji nagios]# ls /usr/local/nagios/
bin //nagios执行程序所在的目录
etc //nagios配置文件所在目录,初始安装完成后,只有几个.cfg文件,
libexec //监控所用命令,需要安装nagios-plugins插件才会有,检测命令,不装是空的
sbin //Nagios的cgi文件所在目录,外部命令所需的文件存放目录
share //nagiosde 前端页面
var //日志文件,pid(进程)文件等等。
使用客户端访问测试nagios的前端
此时还不能登录,需要建立登录用户
[root@xueji ~]# htpasswd -c /usr/local/nagios/etc/htpasswd
.users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin
##htpasswd.users这个文件是htpasswd 命令通过-c参数创建出来的,之后再添加nagios用户的话,就不需要-c参数了
[root@xueji ~]# cat /usr/local/nagios/etc/htpasswd.users
nagiosadmin:6WusQf7QgCtw6
[root@xueji ~]# service httpd restart //重启httpd服务测试刚才创建的nagios用户是否可以登录。
登录测试
现在可以登录,但仅限于可以登录,因为没有做其他配置。
开始安装nagios-plugins插件
[root@xueji Nagios]# cd nagios-plugins-2.1.
[root@xueji nagios-plugins-2.1.]# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd && echo $? &&sleep && make && echo $? && sleep && make install && echo $?
安装完成后,生成的相关文件
[root@xueji nagios-plugins-2.1.]# cd /usr/local/nagios/
[root@xueji nagios]# ls
bin etc include libexec sbin share var
[root@xueji nagios]# ls libexec/
check_apt check_ldap check_procs
check_breeze check_ldaps check_real
check_by_ssh check_load check_rpc
check_clamd check_log check_sensors
check_cluster check_mailq check_simap
check_dhcp check_mrtg check_smtp
check_dig check_mrtgtraf check_spop
check_disk check_mysql check_ssh
check_disk_smb check_mysql_query check_ssmtp
check_dns check_nagios check_swap
check_dummy check_nntp check_tcp
check_file_age check_nntps check_time
check_flexlm check_nt check_udp
check_ftp check_ntp check_ups
check_http check_ntp_peer check_uptime
check_icmp check_ntp_time check_users
check_ide_smart check_nwstat check_wave
check_ifoperstatus check_oracle negate
check_ifstatus check_overcr urlize
check_imap check_pgsql utils.pm
check_ircd check_ping utils.sh
check_jabber check_pop
启动nagios服务
[root@xueji ~]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
[root@xueji ~]# service nagios restart
Running configuration check...done.
Stopping nagios: No lock file found in /usr/local/nagios/var/nagios.lock
Starting nagios: done.
再次登录测试
现在就有机器信息了。
配置监控之前,需要做一系列的准备工作(指定主配置文件需要加载的配置文件—定义主机—定义服务 –定义监控命令—检查配置文件—启动Nagios)
[root@xueji ~]# vim /usr/local/nagios/etc/nagios.cfg
log_file=/var/log/nagios/nagios.log #日志位置
cfg_file=/etc/nagios/objects/commands.cfg #这个文件定义了很多命令
cfg_file=/etc/nagios/objects/contacts.cfg #定义联系人,怎么联系
cfg_file=/etc/nagios/objects/timeperiods.cfg #定义了时间段
cfg_file=/etc/nagios/objects/templates.cfg #模板(联系人,主机,时间)
cfg_file=/etc/nagios/objects/localhost.cfg #监控本机相关配置文件
#cfg_file=/etc/nagios/objects/windows.cfg #windows,默认不监控
#cfg_file=/etc/nagios/objects/switch.cfg #交换机路由器监控,默认不监控
#cfg_file=/etc/nagios/objects/printer.cfg #打印机监控,默认不监控 #cfg_dir=/etc/nagios/servers #定义了服务合集(多个使用)
#cfg_dir=/etc/nagios/printers #定义了打印机合集(多个使用)
#cfg_dir=/etc/nagios/switches #定义了交换合集(多个使用)
#cfg_dir=/etc/nagios/routers #定义了路由合集(多个使用)
cfg_dir=/etc/nagios/conf.d #配置文件目录(下面的cfg文件一样有效) resource_file=/etc/nagios/private/resource.cfg 资源变量配置文件,包括$USER1$变量(一个路径)等
status_update_interval= #状态更新时间,单位s
log_rotation_method=d #日志滚动,默认天
service_check_timeout= #服务检查超时时间
host_check_timeout= #主机检查超时时间
event_handler_timeout=
notification_timeout=
ocsp_timeout=
perfdata_timeout=
[root@xueji ~]# vim /usr/local/nagios/etc/cgi.cfg //比nagios.cfg文件的优先级高
main_config_file=/etc/nagios/nagios.cfg #主配置文件
physical_html_path=/usr/share/nagios/html #物理路径
url_html_path=/nagios #在URL后面加上/nagios才能访问
use_authentication= #使用认证
use_ssl_authentication= #不使用ssl
authorized_for_system_information=nagiosadmin #认证用户
配置nagios实现对本地NFS服务的监控
[root@xueji ~]# cd /usr/local/nagios/etc/objects/
[root@xueji objects]# ls
commands.cfg printer.cfg timeperiods.cfg
contacts.cfg switch.cfg windows.cfg
localhost.cfg templates.cfg
[root@xueji objects]# cp localhost.cfg{,.bak}
[root@xueji objects]# vim localhost.cfg
define service{
use local-service ; Name of service template to use
host_name localhost
service_description NFS check_command check_tcp!
} @
/define service
##创建一个共享
[root@xueji objects]# vim /etc/exports
/tmp *{rw}
[root@xueji objects]# /etc/init.d/nfs start
Starting NFS services: exportfs: No options for /tmp *{rw}: suggest *{rw}(sync) to avoid warning
[ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
[root@xueji objects]# showmount -e 192.168.159.130
Export list for 192.168.159.130:
/tmp *{rw}
检查localhost是否启用
[root@xueji objects]# grep localhost /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg //默认已经启用
检查配置文件是否有误
[root@xueji objects]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg | grep ^Total
Total Warnings:
Total Errors:
都是0表明配置文件没有问题。
[root@xueji objects]# /etc/init.d/nagios restart
Running configuration check...done.
Stopping nagios: done.
Starting nagios: done.
再次登录nagios查看
手动停掉NFS服务,强制刷新,再次查看,在上图界面,鼠标单击NFS会出现如下所示
点击右侧Re-schedule the next check of this service,然后在弹出的窗口点击commit,一次不行,多试两次,然后就会看到如下所示
nagios的告警颜色含义
Nagios安装与部署的更多相关文章
- nagios的安装与部署
参考文献: https://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html https://www.jianshu.com/p/3476d ...
- Nagios安装部署和介绍(一)
一.软件版本下载 Nagios版本下载地址: http://prdownloads.sourceforge.net/sourceforge/nagios/ http://sourceforge.net ...
- linux下nagios的安装与部署
一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...
- Nagios安装部署
p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; line-height: 150%; fon ...
- nagios安装部署及详细配置说明(转)
一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...
- nagios安装全过程
Nagios是一个用来监控主机.服务和网络的开放源码软件,可以在发生故障时发送报警短信和邮件,只要Nagios监控的对象发生故障,系统就会自动发送短信到手机上.所以应用十分广泛. Nagios is ...
- Nagios安装与配置
安装包获取 Nagios https://sourceforge.net/projects/nagios/files/ Nagios Plugins https://www.nagios.org/do ...
- Nagios监控系统部署(源码)
1. 概述2. 部署Nagios2.1 创建Nagios用户组2.2 下载Nagios和Nagios-plugin源码2.3 编译安装3. 部署Nagios-plugin3.1 编译安装nagios- ...
- CentOS下nagios报警飞信部署四步走
CentOS下nagios报警飞信部署四步走 今天 帮群里一兄弟配了下nagios上的飞信,这个东西 我个人感觉还是很实用的,不过好久没配了,今天配置了一遍,顺便 就把过程记录下来了,供大家学习! ...
随机推荐
- 6.游戏特别离不开脚本(3)-JS脚本操作java(3)(直接操作JS文件或者调用函数)
java直接运行JS脚本文件的语句,游戏开发时,策划的配置文件什么的就可以分开管理了,游戏逻辑也是一样,比如:一个功能一个脚本或者一个系统一个脚本. import java.io.FileNotFou ...
- Oracle Exception
Oracle存储过程的异常处理 1.为了提高存储过程的健壮性,避免运行错误,当建立存储过程时应包含异常处理部分.2.异常(EXCEPTION)是一种PL/SQL标识符,包括预定义异常.非预定义异常和自 ...
- [翻译]理解Unity的自动内存管理
当创建对象.字符串或数组时,存储它所需的内存将从称为堆的中央池中分配.当项目不再使用时,它曾经占用的内存可以被回收并用于别的东西.在过去,通常由程序员通过适当的函数调用明确地分配和释放这些堆内存块.如 ...
- (linux)schedule_delayed_work()
原文地址:schedule_delayed_work()用法作者:Valley 第一篇 工作队列 在Linux内核中,对下半部(或者说推后执行的工作)的处理方式有好几种,包括BH( ...
- ADB运行框架原理解析【转】
本文转载自:http://blog.csdn.net/wlwl0071986/article/details/50935496 一.adb守护进程的初始化 源码路径:~/system/core/adb ...
- java邮件发送(含附件)
1. [代码]java邮件发送(含附件)疯狂的IT人站长整理的:利用Java发送邮件(含附件)的例子:1.邮件发送的配置propertity文件内容如下:(utils.properties文件放在sr ...
- codeforces 451C. Predict Outcome of the Game 解题报告
题目链接:http://codeforces.com/problemset/problem/451/C 题目意思:有3支球队(假设编号为1.2.3),总共要打 n 场比赛,已知已经错过这n场比赛中的 ...
- codeforces 445B. DZY Loves Chemistry 解题报告
题目链接:http://codeforces.com/problemset/problem/445/B 题目意思:给出 n 种chemicals,当中有 m 对可以发生反应.我们用danger来评估这 ...
- 一步一步学Silverlight 2系列(12):数据与通信之WebClient
概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...
- Windows下如何生成数字证书
1.Makecert.exe<证书创建工具>使用说明:http://msdn.microsoft.com/zh-cn/library/bfsktky3.aspx 2.SignTool.ex ...