centos服务器下配置nagios自动化运维工具

Nagios是一款Linux上成熟的监视系统运行状态和网络信息的开源IT基础设施监视系统。Nagios能监视所指定的本地或远程主机服务,同时提供异常通知、事件处理等功能。与商业IT管理系统,如IBM Tivoli、HP OpenView/Operations等相比,Nagios具有成本低廉、结构简单、可维护性强等诸多优点,越来越受IT运维人员和系统管理员的青睐。
本博客是基于Centos、apache环境搭建Nagios的。

一、安装Nagios

1.安装前的准备
(1)创建Nagios用户和用户组

useradd -s /sbin/nologin nagios
mkdir /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios

(2)开启系统的sendmail服务
在Nagios监控服务器上开启sendmail服务的作用是让Nagios在检测到故障时可以发送报警邮件。
可以按如下需求配置sendmail服务

vim /etc/mail.rc
set from=fromUser smtp=smtp服务器 smtp-auth-user=用户名 smtp-auth-password=密码 smtp-auth=login

2.安装Nagios

tar xvzf nagios-4.1.1.tar.gz
cd nagios
./configure --prefix=/usr/local/nagios
make all
make install
make install-init
make install-commandmode
make install-config
chkconfig --add nagios
chkconfig --level 35 nagios on
chkconfig --list nagios

3.安装Nagios插件
Nagios提供的各种功能基本上是通过插件来完成的,而Nagios核心只提供了很少的监控功能。Nagios插件可以在www.nagios.org下载。

tar xvzf nagios-plugins-2.1.1.tar.gz
cd nagios-plugins-2.1.1
./configure --prefix=/usr/local/nagios
make
make install

4.配置apache

vim /etc/httpd/conf/httpd.conf

修改用户和用户组

User nagios
Group nagios

找到
DirectoryIndex index.html
修改为

DirectoryIndex index.html index.php
AddType application/x-httpd-php .php

增加验证配置

#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目录验证文件

htpasswd -c /usr/local/nagios/etc/htpasswd 用户名
New password:(输入密码)
Re-type new password:(确认密码)

重启Apache服务

二、配置Nagios

(1)hosts.cfg文件
此文件在默认情况下不存在,需要手动创建。hosts.cfg主要用来指定被监控的主机地址及相关属性信息。

define host {

        use     linux-server

        host_name       web
        alias           turtletl-web
        address         115.29.39.145
}
define host {

        use     linux-server

        host_name       turtletl
        alias           turtletl.com
        address         www.turtletl.com
}


define hostgroup {
        hostgroup_name  sa-server
        alias           sa server
        members         web,turtletl
}

此文件创建了115.29.39.145和turtletl.com两个远程主机和一个主机组。
(2)services.cfg文件
此文件在默认情况下也不存在,需要创建。services.cfg文件主要用于定义监控服务和主机资源。

########################### web #################################

define service {

        use     local-service
        host_name       web
        service_description     PING
        check_command           check_ping!100.0,20%!500.0,60%
}

define service {

        use     local-service
        host_name       web
        service_description     SSH
        check_command           check_ssh
}

define service {

        use     local-service
        host_name       web
        service_description     SSHD
        check_command           check_tcp!22
}

define service {

        use     local-service
        host_name       web
        service_description     http
        check_command           check_http
}
########################### turtletl ############################

define service {

        use     local-service
        host_name       turtletl
        service_description     PING
        check_command           check_ping!100.0,20%!500.0,60%
}

define service {

        use     local-service
        host_name       turtletl
        service_description     SSH
        check_command           check_ssh
}

define service {

        use     local-service
        host_name       turtletl
        service_description     SSHD
        check_command           check_tcp!22
}

define service {

        use     local-service
        host_name       turtletl
        service_description     http
        check_command           check_http
}

这里对这两个主机设置了4个监控服务。
(3)contacts.cfg文件
contacts.cfg是一个定义联系人和联系人组的配置文件,当监护的主机或服务出现故障时,Nagios会通过指定的通知将信息发送给指定的联系人或使用者。

define contact{
        contact_name  turtle ; Short name of user
        use    generic-contact ; Inherit default values from generic-contact template (defined above)
        alias  turtle Admin; Full name of user

        email  邮箱   ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******>>
}

# CONTACT GROUPS
# We only have one contact in this simple configuration file, so there is
# no need to create more than one contact group.

define contactgroup{
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 turtle
}

(4)cgi.cfg文件
在cgi.cfg文件中添加此用户的执行权限就可以。

default_user_name=turtle
authorized_for_system_information=turtle
authorized_for_configuration_information=turtle
authorized_for_system_commands=turtle
authorized_for_all_services=turtle
authorized_for_all_hosts=turtle
authorized_for_all_service_commands=turtle
authorized_for_all_host_commands=turtle

(6)nagios.cfg文件
将上面添加的文件在nagios.cfg文件中配置

cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services.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

三、Nagios的运行和维护

1.验证Nagios配置文件的正确性

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

2.启动与停止Nagios
(1)启动Nagios
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
(2)关闭nagios

kill <nagios_pid>

(3)重启nagios

kill -HUP <nagios_pid>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值