CentOS nagios 中文版最基本的安装

2019年6月28日

在安装Nagios 监控系统之前先装好该装的环境 运行环境  LAMP LNMP  ...
【LAMP 详见 CentOS-安装 apache-php-mysql  LNMP 详见 CentOS6.2 yum安装配置LNMP服务器(Nginx+PHP+MySQL)

yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql openssl openssl-devel

 

1 在线下载nagios程序和插件

wget https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz

wget http://sourceforge.net/projects/nagios-cn/files/sourcecode/zh_CN%203.2.3/nagios-cn-3.2.3.tar.bz2/download

2 用户和组的准备

/usr/sbin/useradd nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagcmd nagios
/usr/sbin/usermod -G nagcmd apache

 

3 安装 Nagios

yum install nagios-common

tar -jxvf nagios-cn-3.2.3.tar.bz2
cd nagios-cn-3.2.3

./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagcmd

make all

【make all 执行完 如果看到如下错误】

先执行make clean操作,然后再执行 ./configure && make all 操作通过(问题分享)接着再执行以下命令即可,没有出现任何状况.
make install
make install-init
make install-commandmode
make install-config
make install-webconf
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin ##创建web登录用户名和密码
chown -R nagios.nagios /usr/local/nagios/etc/htpasswd.users

4 接下来安装插件 

这里不要采用 yum 安装不然当你打开Nagios时所有的服务都将是 Down , 因为yum 安装后缺少文件

 

需要说明一下的是插件在配置过程指定的安装路径是/usr/local/nagios 和上面Nagios的路径是相同的,而不是/usr/local/nagios-plus,安装完成后,将在目录/usr/local/nagios生成目录libexec(里面有很多文件),这正是nagios所需要的。

 

 

tar -zxvf nagios-plugins-1.5.tar.gz

cd nagios-plus-1.5

./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-gourp=nagios

make&&make install

安装完 cd /usr/local/nagios/libexec/ ; 看看是不是有和上图差不多。

5 接下来启动相关服务
 

service  httpd start

service  mysqld start

service nagios start

6 检查配置文件是否正确

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

接下来就可以访问页面了 注意如果设置了 IPtables 记得开启 apache ssh 相应的端口的访问 。

查看下 selinux 是否关闭了

注意:如果你开启了selinux 需要配置如下二步:
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

这里 没做测试 我的 selinux 是关闭的

到此 Nagios 初步 完成了  打开 URL http://IP/nagios/

首先验证 输入安装时 创建web登录用户名和密码

验证成功 进入Nagios 的首页

 

当前状态-> 主机

 

红色框内更改Nagios上显示的主机名 在配置文件里 接下来说的就是添加服务有更改这块的

199.15.116.151 -> 查看主机的详细状态

此时  你就会发现 这里没有 Mysql 需要单独配置的

 

7 Nagios 添加 Mysql  监控

进入mysql 的 shell

[root@domain~]# mysql -uroot -p

 

mysql> create database nagios;
Query OK, 1 row affected (0.00 sec)
mysql> grant select on nagios.* to nagios@"%"identified by"123qweasd";
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
[root@domain~]# /usr/local/nagios/libexec/check_mysql -H 199.15.116.151 -u nagios -d nagios -p 123456
Uptime: 970046 Threads: 1 Questions: 684583 Slow queries: 3 Opens: 672 Flush tables: 1 Open tables:
369 Queries per second avg: 0.705

 

开始设置: #定义用户 #定义组,及隶属用户 #用户增加 在command.cfg里增加插件命令:

vim /usr/local/nagios/etc/objects/command.cfg

添加

# "check_mysql" command definition
define command{
        command_name    check_mysql
        command_line    $USER1$/check_mysql -H $HOSTADDRESS$ -u nagios -d nagios -p 123456
        }

注意 :如果在创建nagios库的用户允许访问的权限 你做了更改 例如localhost  $HOSTADDRESS$ 只可以获取你的IP 那么就把$HOSTADDRESS$ 改成 localhost 。

#定义服务:

vim /usr/local/nagios/etc/objects/localhost.cfg

define service{
        use                             local-service         ; Name of service template to use
        host_name                       199.15.116.151
        service_description             mysql
        check_command                   check_mysql
        #notifications_enabled           0
        }

重启 Nagios 服务

service nagios restart

 

 

没有评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注