Nagios企业监控讲解 一、关于Nagios
Nagioss 是经典老牌子监控,伴随着一代运维工程师们路路成长,即便到了现在也广泛在企业中使用。Nagios有三个特点决定了它屹立不倒的优势:
第一: Nagios跟其他监控产品比起来是部署和配置最便便捷,没有之一,且最容易易入门的开源监控产品. 企业的老总们最喜欢的就是省时快速的完成工作
第二:Nagios对于各种基础服务层面的监控就是两个字"完善"这得益于Nagios的很多对于监控项目的基本计算方式都十分的直接有效,且非常符合一般人们对于"监控"的实现理理念.
第三:新的监控产品虽然很多,但是这里有一个奇怪现象:一般企业中面试运维工程师/架构师,到了监控这里不问别的就爱问Nagios相关的问题。对于各个企业来说,已经是用来考核一个合格的运维工程师的基本素养的指标了了。 二、Nagios的两种核心工作模式
1、nagios的第一种工作模式:远程直连采集
远程直连采集工作模式是什么意思呢?Nagios的监控服务器端需要采集被监控机器器的数据,而被监控机器器上的一些数据例如:
IP地址通不通
端口通不通
2、Nagios第二种工作模式:桥接间接采集
CPU负载,硬盘剩余,进程存在等等,类似这样的数据本身并不不是一个"服务"好比硬盘剩余多少,这是一项客户端Linux系统上的自身的状态本身不像SSH服务一样可以被外界直接访问到,如果nagios服务端想获取客户端硬盘状况没有办法直接从网络连上去获取,那怎么办呢?这就要提到 Nagios的一个扩展功能,NRPE组件。 三:开始安装Nagios服务端和NRPE组件
首先做linux服务器时间同步
时间服务器可以从http://www.pool.ntp.org/zh/这里查看
[root@elk ~]# ntpdate 1.cn.pool.ntp.org
由于我们的yum源不包含nagios包,所以要先安装一下epel-release。
[root@Cent65 ~]# yum -y install epel-release
nagios本身不不带web server,但是需要以web的形式体现出来,所以需要先安装httpd(apache) 1、安装http
[root@Cent65 ~]# yum install httpd
安装完成后启动服务,检查是否安装成功。
root@Cent65 ~]# service httpd restart
[root@Cent65 ~]# netstat -anptu | grep 80
查看一下网站信息
[root@Cent65 ~]# curl -I 192.168.1.65 2、安装nagios*、nrpe
[root@Cent65 ~]# yum install nagios* nrpe
安装完之后启动
[root@Cent65 ~]# service nagios start
启动之后我们来设置⼀下nagios的初始登录密码:
这里我们默认用nagiosadmin作为登录名,密码为123456
(注:如果web管理理员不是使用默认的nagiosadmin, 需要修改cgi.cfg
# vim /usr/local/nagios/etc/cgi.cfg
//把所有的nagiosadmin改为自定义的用户名)
[root@Cent65 ~]# htpasswd -c /etc/nagios/passwd nagiosadmin 接下来在我们的浏览器输入:
http://192.168.1.65/nagios 四、Nagios如何设置配置文件(一):节点定义.
配置文件路径
[root@Cent65 ~]# cd /etc/nagios/objects
如下便是我们要找到的配置路路径可以看到已经有好多以cfg结尾的默认配置文件了,不过这些其实都是一些自带的模板我们当前用不上,我们先关注 localhost.cfg文件。
1、 定义节点
[root@Cent65 objects]# vim localhost.cfg
内容如下:
define host{
use linux-server ; Name of host template to use
; This host definition will inherit all variables that are defined
; in (or inherited by) the linux-server host template definition.
host_name Centos_67
alias localhost
address 192.168.1.67
} 我们可以通过复制这段文件把要被监控的机器加进来。
需要修改的地方: host_name:Centos_67(注:Centos_67这是自己取的名字是唯一标识符号,不可以重复,后面会被反复的调用,名字可以随便取,建议FQDN)。 alias:别名,任意取名。 address:被监控节点的 IP地址。
添加完节点之后重启nginx
[root@Cent65 objects]# service nagios restart
接下来回到我们的浏览器http://192.168.1.65/nagios/
点击左侧的host按钮,在我们的监控列表中会出现Centos_67主机。 五、Nagios如何设置配置文件(二):组定义和Service定义
在Nagios中各个节点的定义毕竟是分散的,我们可以将属于一类的'节点' 统一成一个'组'。接下来我们来看下配置文件的定义:
define hostgroup{
hostgroup_name ceshi ; The name of the hostgroup
alias Linux Servers ; Long name of the group
members localhost,Centos_67 ; Comma separated list of hosts that belong to this group
} 如上这一段添加到localhost.cfg,就是把之前的节点(包括本机)都加入到一个host_group组当中。