Centos部署nagios+apache实现服务器监控
1.Nagios介绍
nagios是 一款功能强大的网络监视工具,它可以有效的监控windows、linux、unix主机状态以及路由器交换机的网络设置,打印机工作状态等,并将状态出 现异常的服务及时以邮件、msn短信等形式第一时间通告管理员。由于它是一款遵循GPLv2的开源网络监控软件,以其出色的性能低廉的使用成本,深受广大 用户的好评。
2.安装前提
2. 1确定是否有以下组件:
gcc glibc glibc-common gd gd-devel xinetd openssl-devel
proc-devel pcre-devel perl libxml2-devel
直接通过yum安装:
yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel proc-devel pcre-devel perl libxml2-devel
3.安装nagios,nagios-plugin
创建nagios用户
# adduser nagios
安装nagios
# tar xvf nagios-cn-3.2.0.tar
# cd nagios-cn-3.2.0
# ./configure –prefix=/usr/local/nagios
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
安装nagios-plugin
# tar xvf nagios-plugins-2.0.tar.gz
# cd nagios-plugins-2.0
# ./configure –prefix=/usr/local/nagios
# make && make install
4.安装apache
# tar xvf httpd-2.4.9.tar.gz
#cd httpd-2.4.9
#./configure --prefix=/usr/local/apache2
# make && make install
如果安装提示缺少apr和apr-util包
#tar xvf apr-1.5.0.tar.gz
#cd apr-1.5.0
#./configure –prefix=/usr/local/apr
#make && make install
#tar xvf apr-1.5.0.tar.gz
#cd apr-1.5.0
#./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr
#make && make install
安装好了之后在安装apache
#./configure --prefix=/usr/local/apache2 –with-apr-util=/usr/local/apr-util
#make && make install
5.安装php
#tar xvf php-5.4.10.tar.gz
#cd php-5.4.10
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs
#make && make install
6.配置apahe
找到apache 的配置文件/usr/local/apache2/conf/httpd.conf
找到:
User daemon
Group daemon
修改为
User nagios
Group nagios
然后找到
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
修改为
<IfModule dir_module>
DirectoryIndex index.html index.php
AddType application/x-httpd-php .php
</IfModule>
为了安全起见,一般情况下要让nagios 的web 监控页面必须经过授权才能访问,这需要增加验证配置,即在httpd.conf 文件最后添加如下信息:
#setting for nagios
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
创建apache目录验证文件
# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd ssap
7.启动apache和nagios
启动apache
# /usr/local/apache2/bin/apachectl start
启动nagios
Service nagios start

nagios登录

nagios首页
8.配置nagios
Nagios安装完毕后,需要配置nagios,配置文件在/usr/local/nagios/etc目录下。
|
文件名或目录名 |
用途 |
|
cgi.cfg |
控制CGI访问的配置文件 |
|
nagios.cfg |
Nagios 主配置文件 |
|
resource.cfg |
变量定义文件,又称为资源文件,在些文件中定义变量,以便由其他配置文件引用,如$USER1$ |
|
objects |
objects 是一个目录,在此目录下有很多配置文件模板,用于定义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安装在IP为192.168.195.136的服务器上,需要监控192.168.195.136服务器,将对配置文件做以下修改:
修改localhost.cfg
define host{
use linux-server
host_name Nagios-Server
alias Nagios-Server
address 127.0.0.1
}
define hostgroup{
hostgroup_name linux-servers
alias Linux Servers
members Nagios-Server
}
define service{
use local-service
host_name Nagios-Server
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
define service{
use local-service
host_name Nagios-Server
service_description Root Partition
check_command check_local_disk!20%!10%!/
}
define service{
use local-service
host_name Nagios-Server
service_description Current Users
check_command check_local_users!20!50
}
define service{
use local-service
host_name Nagios-Server
service_description Total Processes
check_command check_local_procs!250!400!RSZDT
}
define service{
use local-service,srv-pnp
host_name Nagios-Server
service_description Current Load
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
}
define service{
use local-service
host_name Nagios-Server
service_description Swap Usage
check_command check_local_swap!20!10
}
define service{
use local-service
host_name Nagios-Server
service_description SSH
check_command check_ssh
notifications_enabled 0
}
define service{
use local-service
host_name Nagios-Server
service_description HTTP
check_command check_http
notifications_enabled 0
}
新增hosts.cfg
define host{
use linux-server
host_name test-Linux
alias test-Linux
address 192.168.195.137
}
新增service.cfg
define service{
use local-service
host_name test-Linux
service_description check-host-alive
check_command check-host-alive
}
修改nagios.cfg
添加配置文件hosts.cfg,service.cfg
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/service.cfg
检测修改的配置
/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
检测无误后,重新启动nagios服务
Service nagios restart

nagios监控页
注意事项:
1) 如果设置的用户名不是nagiosadmin,会存在权限问题,不能访问监控页面,需要修改cgi.cfg,在nagiosadmin后追加自己设置的用户名。

nagios登录用户权限配置
2)Nagios乱码问题
主要是apache没有开启cgi脚本的缘故,进入apache的主配置文件httpd.conf;
#LoadModule cgid_module modules/mod_cgid.so;
#LoadModule actions_module modules/mod_actions.so;
将上面2行的#去掉,重启apache就OK了。
Centos部署nagios+apache实现服务器监控的更多相关文章
- Vue Cli 3 打包上线 部署到Apache Tomcat服务器
使用 npm run build 打包项目 在根目录中有一个dist文件夹 我使用的服务器是 Apache Tomcat 把项目放进tomcat /webapps 中 启动服务器 <mac O ...
- CentOS 7.4 下安装部署Nagios监控系统详细攻略(三)
Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户.它是基于GPLv2开发的开源软件,可免费获得及使用. nagios工作原理 nagios的功能是监控服务 ...
- 使用saltstack批量部署服务器运行环境事例——批量部署nagios客户端
之前关于搭建web服务器集群实验的这篇文章http://www.cnblogs.com/cjyfff/p/3553579.html中,关于如何用saltstack批量部署服务器这一点当时没有记录到文章 ...
- Ubuntu Server 安装部署 Cacti 服务器监控
本文的英文版本链接是 http://xuri.me/2013/10/20/install-the-cacti-server-monitor-on-ubuntu-server.html Cacti是一套 ...
- (转)CentOS搭建Nagios监控
A.Nagios服务端1.安装软件包 yum install -y httpd 2.下载nagios wget http://syslab.comsenz.com/downloads/linux/na ...
- Django项目部署到Apache服务器
本文讲述的是在阿里云服务器(ECS)上部署Django项目于Apache,服务器操作系统为ubuntu,公网Ip地址为123.56.30.151. 将Django部署到Apache服务器的原因 Dja ...
- 为什么使用centos部署服务器
这个是实验室同学面试的时候,面试官问的一个问题? 为什么选择centos系统,为什么centos系统用的比较多呢? 首先我们说下redhat红帽公司,它是全球最大的linux服务提供商,它的服务是最好 ...
- django项目部署在Apache服务器中,静态文件路径的注意点
django Apache部署静态文件的路径注意点 静态文件放在对应的 app 下的 static 文件夹中 或者 STATICFILES_DIRS 中的文件夹中. 当 DEBUG = True 时, ...
- 部署Django到云服务器(centos+nginx+mysql+uwsgi+python3)【操作篇(1)】
开篇 笛卡尔说:"你不能教会一个人任何东西,你只能帮助他发现他自己内心本来就有的东西!" jacky能教你的,只能是经验和建议,要逆袭还得通过自己对数据的不断领悟,数据领域的技能都 ...
随机推荐
- 数据结构———KMP
今天照着课本敲了一下KMP.. 以OJ上的一个题为例敲了一下.. 题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem& ...
- storm - 使用过程中的一点思考
引子 这几天为了优化原有的数据处理框架,比较系统的学习了storm的一些内容,整理一下心得 1. storm提供的是一种数据处理思想,它不提供具体的解决方案 storm的核心是topo的定义,而top ...
- Sencha touch Panel之间的跳转(如不使用TabPanel或者Carousel控件而产生跳转的动画效果)
常规的Sencha touch 应用都是"header content footer"结构,这样的结构无疑将使用TabPanel来实现,而且TabPanel肯定是card布局,这样 ...
- 剑指Offer:连续子数组的最大和
题目: 输入一个整型数组, 数组里有正数也有负数. 数组中的一个或连续的多个整数组成一个子数组. 求所有子数组的和的最大值. 要求时间复杂度为O(n) #include <stdio.h> ...
- Entity Framework中的Migration问题
1.自从用上了Entity Framework(简称EF),妈妈再也不用担心我要写那么复杂的SQL语句了! 这是微软新一代的ORM工具,它能够将数据库的表中的记录映射成为程序中的一个对象,当然也能够将 ...
- opencv linux
This link which you also mentioned describes the necessary steps to compile OpenCV on your machine. ...
- vi常用命令与设置(不断修改中)
注:前缀':'表示vim命令(命令模式),前缀'$'表示为shell命令,表示Ctrl + W,表示Ctrl + Shift+ 6,无前缀者均为普通模式下的键盘按键.基本的插入与修改: ...
- bzoj 2815 [ZJOI2012]灾难(构造,树形DP)
[题意] 求把每个点删除后,不可达点的数目. [思路] 构造一棵“灭绝树”,要求这棵树满足如果删除根节点后则该子树内的所有结点都不可达.则答案为子树大小-1. 如何构造这棵“灭绝树”? 将原图拓扑排序 ...
- nyoj 8 一种排序
一种排序 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长.宽都是整数 ...
- 转载 在.net中使用GAC
转载出处 https://blog.log4d.com/2011/01/gac/ GAC GAC是什么?是用来干嘛的?GAC的全称叫做全局程序集缓存,通俗的理解就是存放各种.net平台下面需要使用的d ...