freebsd 上的nagios配置的过程还是比较简单的,来和我学习下!
相信大多数运维人员知道。服务器出了问题后很久才知道,是非常不好的事的,有什么办法能够监控到服务器问题,并及时通知你呢
下面介绍一款大家耳熟能详的软件nagios。
Nagios是运行在unix/linux平台的监控运行程序和应用程序的一款开源软件。可以监控你所指定的服务,并在你的指定时间内通知你
先介绍点nagios的特点吧
Nagios主要由两个部分构成的,nagios的主程序和nagios的插件。Nagios的主程序只要是一个平台,本身没有什么监控的功能,监控功能是由nagios插件来完成的。
要监测其他服务器的信息需要安装nrpe这个代理程序,他的工作流程是,他们之间的数据传输是通过ssl通道的
下面介绍下它的主要的功能
监控网络服务——http,pop3,smtp,ping等
监控主机资源——负载,磁盘情况(这个需要安装nrpe)
以邮件或者短信的形式告知你服务器问题,当然还有web界面
需要的包nagios-vesion(主程序),nagios-plugins-vesion(插件),nrpe-vesion(代理检测程序),这些包你可以上官网上或者这个网上找,我的意见是不要去下载一写个人上传的资源
Nagios是要安装在有php环境下的,因为nagios是基于php开发的
#p#
下面开始安装
1.安装主程序之前,首先你要先建立nagios用户
# groupadd nagios
# useradd -g nagios nagios
# mkdir /usr/local/nagios
# chown -R nagios.nagios (我用的组也是nagios把web服务器的用户加进去,你也可以指定成web服务器的组,因为要写东西进去)
cd /nagios-vesion/
./configure –prefix=/usr/local/nagios with-command-group=nagios –with-nagios-user=nagios
make all
make install ##安装主程序,CGI和HTML文件
make install-init ##生成init启动脚本
make install-config ##生成一些模板配置文件
make install-commandmode ##设置相应的权限
make install-webconf ##生成Apache配置文件nagios.conf
验证是否安装成功在nagios下有以下目录的。var/archives
/var/rw
var
share
sbin
etc
bin
2.安装成功的话就安装nagios插件吧
cd nagios-plugins-vesion
./configure –prefix=/usr/local/nagios/
make
make install
查看naigios下是不是多了个libexec文件夹?下面有些插件check_*
如果没有的话需要用下面的命令把插件复制过来
修改apache的配置,使自己能通过web平台查看服务器状态,可以加点验证用户的
vi /usr/local/apache2/conf/httpd.conf
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName “Nagios Access”
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
Alias /nagios /usr/local/nagios/share
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName “Nagios Access”
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
/usr/local/nagios/etc/htpasswd这个文件是验证用户的文件随便用什么名字
用/usr/local/sbin/htpasswd生成
/usr/local/sbin/htpasswd –c /usr/local/nagios/etc/htpasswd user ##user是用户名然后输入密码。-c参数是第一次加用户的时候使用的。意思是创建
好了,现在一些基本的东西都已经安装完毕了
#p#
可以测试下了输入http://127.0.0.1/nagios,输入用户密码就可以了。可以看到一些基本的页面。
接下来要配置一些泥要监控的东西了,首先介绍下各个配置文件的作用。
你的配置文件都是在etc/nagios.cfg上定义的
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/contactgroups.cfg
这个可能和linux的配置文档的定义有稍许不同,但这个没什么关系的
commands.cfg是定义你以后要用到的命令的文件
contacts.cfg是定义联系人的文件,里面的名字可以随便取,但邮箱或者手机号要写正确
timeperiods.cfg是定义时间段的,不过它里面定义的大都符合要求的
templates.cfg这个是定义一些服务或者主机的模板文件,如果写不出可以参考这里
services.cfg 定义你要监控的服务,在主机上定义了主机名,然后再服务上应用你在hostscfg上定义的主机名
hosts.cfg定义你要监控的主机
contactgroups.cfg联系人组,可以定义多个联系人在一起,方便管理
这些配置文件熟悉之后就配置几个全局的配置文件吧
nagios.cfg文件中
command_check_interval 说实话我看了很多资料,这个到底是什么意思还不太清楚,可能和services.cfg上的normal_check_interval有点关系,现在我的理解是command_check_interval是全局定义的检查时间,services.cfg上的是定义单个的,两者冲突已具体的为准
cgi.cfg
use_authentication=1 我看过很过资料,有些有错误的时候都赖在用户认证上,我觉得这个一定要配置为需要用户认证,不然的话难道你搭建个nagios给别人看?
authorized_for_all_services=user
authorized_for_all_hosts=user
authorized_for_system_commands=user
这些用户就是你之前在htpasswd上定义的用户名了
通过文章的详细的描述,我们都能掌握了freebsd 上的nagios配置,学会的朋友快跟朋友分享吧!
【编辑推荐】
- nagios分布式配置
- RHEL安装nagios
- Nagios :扩展提示信息发送方式(smtp, msn, fetion)
- nagios 安装过程
- 启动nagios服务
- 如何编写 Nagios 插件
- 配置 新的Nagios