编译安装Nagios

监控系统(nagios[报警]+cacti[监控]) | zabbix (zabbix-proxy)

1> 监控系统资源(私有资源 cpu|内存|磁盘)

(公共资源 服务 ssh|ftp|httpd)

(网络资源 交换机|路由器)

2> 报警(商业短信|邮件|微信API)

本章目录:

1、Nagios的概述

2、Nagios的部署

3、讲解Nagios配置文件之间的关系(重点)

4、配置Nagios监控本机的私有服务和公共服务

5、使用NRPE配置Nagios监控远程主机的私有服务和公共服务

6、为Nagios增加短信报警功能

1、Nagios的概述

Nagios是一款用于系统和网络监控的应用程序。它可以在你设定的条件下对主机和服务进行监控,在状态变差和变好的时候给出告警信息。

Nagios最初被设计为在Linux系统之上运行,然而它同样可以在类Unix的系统之上运行。

Nagios更进一步的特征包括:

监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);     --公共服务

监控主机资源(处理器负荷、磁盘利用率等);                  --私有服务

简单地插件设计使得用户可以方便地扩展自己服务的检测方法;

并行服务检查机制;

当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式);

具备定义事件句柄功能,它可以在主机或服务的事件发生时获取更多问题定位;

可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等;

nagios的组成:

1、nagios的核心组件

2、nagios监控插件

3、nagios web页面(html/cgi/php)

4、nrpe远程主机私有服务的监控组件

---------------------------------------------------------------------

nagios部署

参看官方安装手册

ftp://192.168.0.254/notes/weekend/project/software/nagios/docs_INSTALL/toc.html

1) 下载软件

[[email protected] ~]# lftp 192.168.0.254

lftp 192.168.0.254:~> cd notes/weekend/project/software/

lftp 192.168.0.254:/notes/weekend/project/software> mirror nagios/

lftp 192.168.0.254:/notes/weekend/project/software> exit

2)  软件依赖包

Apache

PHP

GCC compiler

GD development libraries

[[email protected] ~]# yum install httpd php

[[email protected] ~]# yum install gcc glibc glibc-common

[[email protected] ~]# yum install gd

--iso 没有gd-devle包

[[email protected] ~]# yum -y localinstall /root/nagios/gd-devel-2.0.35-10.el6.x86_64.rpm

3) 新建用户与组

[[email protected] ~]# /usr/sbin/useradd -m nagios

[[email protected] ~]# echo 123 | passwd --stdin nagios

[[email protected] ~]# /usr/sbin/groupadd nagcmd

[[email protected] ~]# /usr/sbin/usermod -a -G nagcmd nagios

[[email protected] ~]# /usr/sbin/usermod -a -G nagcmd apache

4) 解压与编译nagios核心软件

(1) 解压

[[email protected] ~]# tar xf /root/nagios/nagios-cn-3.2.0.tar.bz2 -C/usr/local/src/

(2) 编译

[[email protected] ~]# cd /usr/local/src/nagios-cn-3.2.0/

[[email protected] nagios-cn-3.2.0]# ./configure --with-command-group=nagcmd

[[email protected] nagios-cn-3.2.0]# make all

make install        --安装软件

make install-init   --安装启动脚本

make install-config --安装配置文件

make install-commandmode  --安装命令模式

(3)安装与配置

[[email protected] nagios-cn-3.2.0]# make install

[[email protected] nagios-cn-3.2.0]# make install-init

[[email protected] nagios-cn-3.2.0]# make install-config

[[email protected] nagios-cn-3.2.0]# make install-commandmode

(4) 定义web配置文件

[[email protected] nagios-cn-3.2.0]# make install-webconf

/usr/bin/install -c -m 644 sample-config/httpd.conf/etc/httpd/conf.d/nagios.conf

--设置登录密码  帐号nagiosadmin密码123

[[email protected] nagios-cn-3.2.0]# htpasswd -c/usr/local/nagios/etc/htpasswd.users nagiosadmin

New password:

Re-type new password:

Adding password for user nagiosadmin

[[email protected] nagios-cn-3.2.0]# service httpd restart

5) 安装nagios的插件

(1) 解压

[[email protected] ~]# tar xf /root/nagios/nagios-plugins-1.4.14.tar.gz -C/usr/local/src/

(2) 编译

[[email protected] ~]# cd /usr/local/src/nagios-plugins-1.4.14/

[[email protected] nagios-plugins-1.4.14]# ./configure --with-nagios-user=nagios--with-nagios-group=nagios

[[email protected] nagios-plugins-1.4.14]# make && make install

6) 启动nagios

--定义启动脚本

[[email protected] ~]# chkconfig --add nagios

[[email protected] ~]# chkconfig nagios on

--检测配置文件语法

[[email protected] ~]# /usr/local/nagios/bin/nagios -v/usr/local/nagios/etc/nagios.cfg  |grepTotal

Total Warnings: 0

Total Errors:   0

--启动

[[email protected] ~]# service nagios start

--关闭selinux

[[email protected] ~]# getenforce

Permissive

7) 访问nagios

http://localhost/nagios

+++++++++++++++++讲解Nagios配置文件之间的关系(重点)+++++++++++++

监控一台主机包括的内容:主机是否活着/公共服务/私有服务

配置文件的组成:        --全局变量(变量的调用使用use命令)

/usr/local/nagios/etc/nagios.cfg   --主配置文件,实现配置文件总调度

/usr/local/nagios/etc/resource.cfg     --资源

/usr/local/nagios/etc/objects/commands.cfg --监控使用的命令(通知的命令|监控私有服务的命令|监控公共服务的命令)

/usr/local/nagios/etc/objects/contacts.cfg  --联系人(nagiosadmin-->[email protected])

/usr/local/nagios/etc/objects/timeperiods.cfg   --监控周期(7x24 5x8(1-5))

/usr/local/nagios/etc/objects/templates.cfg --模板(通知|genric-host| linux-server| local-server)

**********监控命令 commands.cfg*************** 24个命令模板

# 'notify-host-by-email' command definition   ---使用邮件通知主机(私有服务)

define command{

command_name    notify-host-by-email

command_line    /usr/bin/printf "%b" "*****Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState:$HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time:$LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert:$HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$

}

邮件内容(通知宏|主机宏|日期/时间宏|...)

***** Nagios *****

Notification Type: $NOTIFICATIONTYPE$ (PROBLEM)

Host: $HOSTNAME$ (nagios.uplooking.com)

State: $HOSTSTATE$ (宕机)

Address: $HOSTADDRESS$ (192.168.0.1)

Info: $HOSTOUTPUT$ (TTP WARNING: HTTP/1.1 403 Forbidden)

Date/Time: $LONGDATETIME$  (Tue Apr26 15:22:03 CST 2016)

邮件主题

/bin/mail -s "** PROBLEM Host Alert: nagios.uplooking.com is 宕机"

# 'notify-service-by-email' command definition   ---使用邮件通知服务 (公共服务)

# 'check-host-alive' command definition --检测主机是否存活

# 'check_local_disk' command definition --磁盘使用率

# 'check_local_load' command definition  --cpu负载

# 'check_local_users' command definition --用户登录数

# 'check_local_swap' command definition  --swap分区

....

####################################################################################

**********联系人 contacts.cfg*************** 1个联系人 1个联系组

define contact {

contact_name                   HugoBoss    ---联系人的名称

use                           generic-contact  --使用那个模板

alias                          康康  --别名

email                          [email protected]  --邮件地址

}

define contactgroup{

contactgroup_name       admins

alias                   Nagios Administrators

members                 nagiosadmin, HugoBoss  --组的成员

}

####################################################################################

****************监控周期 timeperiods.cfg*********************************   5个模板

[[email protected] ~]# grep timeperiod_name/usr/local/nagios/etc/objects/timeperiods.cfg

timeperiod_name 24x7  --全年

timeperiod_name workhours ---工作日

timeperiod_name none  ---全年不通知

timeperiod_nameus-holidays  ---美国节假日

timeperiod_name24x7_sans_holidays --除了美国节假日以外的全年

####################################################################################

****************监控模板 templates.cfg*********************************  8个模板

# CONTACT TEMPLATES --联系人模板

define contact{

name                           generic-contact  --模板名称

service_notification_period    24x7  ---服务的通知周期

host_notification_period        24x7 ---主机的通知周期

service_notification_options   w,u,c,r,f,s --通知服务的类型

host_notification_options      d,u,r,f,s   --通知主机的类型

service_notification_commands  notify-service-by-email  ---通知服务的邮件方式

host_notification_commands      notify-host-by-email     ---通知主机的邮件方式

register                        0   ---只是一个模板 不能当成监控对象使用

}

# HOST TEMPLATES  --主机模板

define host{

name                            generic-host

define host{

name                            linux-server     模板名称

use                             generic-host     调用那个模板

check_period                    24x7             监控周期

check_interval                  5                检测时间 5分钟

retry_interval                  1                失败重试 1分钟

max_check_attempts              10               最大尝试次数 10次

check_command                   check-host-alive  检测主机命令

notification_period             workhours         通知周期

notification_interval           120          通知间隔 120分钟

notification_options            d,u,r         通知类型 d:宕机 u:主机不能到达 r:恢复

contact_groups                  admins        通知组

register                        0

}

name windows-server

name generic-printer

name generic-switch

# SERVICE TEMPLATES

define service{

name                            generic-service

define service{

name                            local-service

use                             generic-service

[[email protected] ~]# grep name /usr/local/nagios/etc/objects/templates.cfg

name                           generic-contact     ; The name of this contact template

name                            generic-host    ; The name of this host template

name                linux-server    ;The name of this host template

name            windows-server  ;The name of this host template

name            generic-printer ;The name of this host template

name            generic-switch  ;The name of this host template

name                            generic-service     ; The 'name' of this service template

name                local-service       ;The name of this service template

原文地址:http://blog.51cto.com/wangqh/2090275

时间: 2024-10-20 04:52:09

编译安装Nagios的相关文章

Nagios 编译安装配置

安装配置Nagios 监控端 1.安装前的准备工作 (1)解决安装Nagios的依赖关系: Nagios基本组件的运行依赖于httpd.gcc和gd.可以通过以下命令来检查nagios所依赖的rpm包是否已经完全安装: # yum -y install httpd gcc glibc glibc-common gd gd-devel php php-mysql mysql mysql-devel mysql-server (2)添加nagios运行所需要的用户和组: # groupadd  na

CentOS 6.5下编译安装httpd+mysql+php+phpMyAdmin

CentOS 6.5下编译安装httpd+mysql+php+phpMyAdmin+cacti+nagios 一.安装环境 Linux系统:CentOS 6.5 Apache版本:http-2.4.12 MySQL版本:MySQL 5.6.24 PHP版本:PHP-5.6.8 基本的安装顺序为:先安装httpd,然后安装mysql,最后安装PHP. 软件包: [[email protected] httpdbao]# ll total 334908 -rwxrw-rw-. 1 root root

CentOS下配置安装Nagios

CentOS下配置安装Nagios 一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios Ain't GonnaInsist On Sainthood"

运维监控利器Nagios之:安装nagios

一.安装前准备 (1)创建nagios用户和用户组 [[email protected] ~]#useradd -s /sbin/nologin nagios [[email protected] ~]#mkdir /usr/local/nagios [[email protected] ~]#chown –R  nagios.nagios /usr/local/nagios (2)开启系统sendmail服务 在nagios监控服务器上开启sendmail服务的主要作用是让nagios在检测到

CentOS7安装Nagios

一.nagios简介 Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios 可以监控的功能有: 1.监控网络服务(SMTP.POP3.HTTP.NNTP.PING等): 2.监控主机资源(处理器负荷.磁盘利用率等): 3.简单地插件设计使得用户可以方便地扩展自己服务的检测方法: 4.并行服务检查机制

apache 编译安装与做nagios前端展示

apache编译安装篇 安装apache需安装以下的几个包,apr apr-util,pcre等,当然这几个包也可以使用由系统本身自带的包,但是这里我们编译安装这几个包. 2.下载安装apr, 把文件放到/usr/local/src目录下, tar -zxvf  apr-1.5.2.tar.gz cd  apr-1.5.2 ./configure --prefix=/usr/local/apr/ make make install 3.下载安装 apr-utils tar -zxvf apr-u

CentOS7安装nagios并配置出图详解

目录 开始之前 系统环境 监控内容 所需软件包 Centos7重要变化 配置开发环境 同步时间 关闭Selinux 使用CRT上传软件包 安装邮件服务 监控主机安装 常用到的命令 安装nagios所需要的运行环境 增加用户 安装nagios 配置权限 安装插件 安装nrpe 远程主机安装 常用到的命令 配置运行环境 安装nagios-plugin 安装nrpe 启动nrpe. 监控主机安装PNP 配置开发环境 安装php4nagios (版本号为0.6) 配置pnp4nagios 图表展示 问题

linux下安装nagios

本篇介绍在linux主机上安装nagios,监控本机. 实验环境:rhel5.6.nagios-3.2.3.tar.gz.nagios-plugins-1.4.15.tar.gz 实验过程: 本实验有个小捷径,就是先安装apache,然后解压nagios,将解压出的dosc文档拷贝到/var/www/html下,然后通过linux浏览器访问http://localhost/docs,查看nagios安装说明文档,对照着官方安装文档可以事半功倍. 安装nagios前要先把selinux关掉(roo

Centos 6 编译安装LNMP

搭建环境:Centos 6.8,nginx 1.9.14,mysql 5.6.23,php 5.6.17 目的:LNMP如今已成为主流的web服务器搭建方案,如公司内部的ECstore,Discuz,计划用来替代nagios+check_mk监控平台的Zabbix.均可以基于LNMP.本次单机LNMP搭建为熟悉电商集群做准备,顺便记录下搭建过程,省的每次搭建完后,下回搭建又得重头再来. LNMP安装环境准备: yum -y install gcc gcc-c++ autoconf libjpeg