Debian 系统安装 Nagios 服务器监控端
安装
apt-get update
apt-get install nagios* perl
apt-get install --no-install-recommends pnp4nagios
apt-get install apache2 apache2-utils php5 php-pear修改npcd设置
# vim /etc/default/npcd
Run="yes"
# service npcd start- 添加process_perfdata.pl执行权限
chmod +x /usr/lib/pnp4nagios/libexec/process_perfdata.pl - 修改commands.cfg设置(注释旧命令)
vi /etc/nagios3/commands.cfg# 'process-host-perfdata' command definition
define command{
command_name process-host-perfdata
#command_line /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /var/lib/nagios3/host-perfdata.out
command_line /usr/bin/perl /usr/lib/pnp4nagios/libexec/process_perfdata.pl
} # 'process-service-perfdata' command definition
define command{
command_name process-service-perfdata
#command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /var/lib/nagios3/service-perfdata.out
command_line /usr/bin/perl /usr/lib/pnp4nagios/libexec/process_perfdata.pl
}commands.cfg Code
- 修改nagios.cfg配置
vi /etc/nagios3/nagios.cfg 修改以下3行配置
process_performance_data=1
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata
修改check_external_commands=1 (未修改可能导致web网站无法Re-schedule监控项)
修改enable_flap_detection=0 (虽然文档里说默认是0,但实际为1.改为0之后就解决了flapping state) - 修改services_nagios2.cfg配置
vi /etc/nagios3/conf.d/services_nagios2.cfg
notification_interval 1
vi /etc/nagios3/conf.d/generic-service_nagios2.cfg
notification_interval 1 删除install.php
# cd /usr/share/pnp4nagios/html
# mv install.php install.php.bak- Nagios插件目录: /usr/lib/nagios/plugins/
- 添加pnp4nagios插件
vi /etc/nagios3/conf.d/pnp4nagos.cfg 追加如下配置define host {
name host-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$'class='tips'rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
register
process_perf_data
} define service {
name srv-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$'class='tips'rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
register
process_perf_data
}Code
- 默认是没有监控内存的,若需要监控复制check_mem.sh文件到插件目录,再添加相关配置文件
添加自定义执行命令
vi /etc/nagios3/conf.d/custom_commond.cfgdefine command{
command_name check_mem
command_line $USER1$/check_mem.sh -w $ARG1$ -c $ARG2$
}Code
添加本机的check_mem服务
vi /etc/nagios3/conf.d/localhost_nagios2.cfg 添加如下配置define service{
use local-service,srv-pnp
host_name localhost
service_description check_mem
check_command check_mem!!
}Code
- 监控服务器网卡流量
apt-get install snmpd snmp-mibs-downloader
vi /etc/snmp/snmpd.conf(可备份snmpd.conf,修改下面的localhost-IP为服务器IP,保存此文件即可)com2sec notConfigUser 127.0.0.1 public
com2sec notConfigUser localhost-IP public group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser view systemview included .1.3.6.1.2.1.
view systemview included .1.3.6.1.2.1.
view systemview included .1.3.6.1.2.1.25.1.
view all included . access notConfigGroup "" any noauth exact all none noneCode
重启snmpd服务
下载check_traffic.sh到插件目录
cd /usr/lib/nagios/plugins/
测试执行
./check_traffic.sh -V 2c -C public -H your_ip -I 2 -w 1200,1500 -c 1700,1800 -K -B
# vi /etc/nagios3/conf.d/custom_commond.cfg 追加define command{
command_name check_traffic
command_line $USER1$/check_traffic.sh -V 2c -C public -H $HOSTADDRESS$ -I $ARG1$ -w $ARG2$ -c $ARG3$ -M -b
}Code
当服务停止时重新监控失败,运行以下2行命令
# dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
# dpkg-statoverride --update --add nagios www-data 751 /var/lib/nagios3- 配置发送邮件功能
apt-get install ssmtp (备用:apt-get install sendmail-bin sendmail)
修改ssmpt.conf文件配置
# vi /etc/ssmtp/ssmtp.conf 追加Google邮箱配置方式(勿开启2步验证)AuthUser=NagiosAdmin
AuthPass=PassWord
FromLineOverride=YES
mailhub=smtp.gmail.com:
UseSTARTTLS=YESCode
service sendmail stop
chkconfig sendmail off
cd /usr/sbin
mv sendmail sendmail.bak
ln -s /usr/sbin/ssmtp /usr/sbin/sendmail
测试发邮件即可 - 添加被监控机需要注意
监控其他主机,需要添加check_nrpe命令,但在Debian系统中,添加check_nrpe命令会提示重复,但是却找不到其他地方有配置。
所以需要将check_nrpe改成其他名define command{
command_name custom_check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}Code
举例监控客户机的CPU情况
先添加主机
# vi /etc/nagios3/conf.d/hosts.cfgdefine host{
use generic-host ; Inherit default values from a template
host_name Dow1_Server ; The name we're giving to this server
alias DriverServer ; A longer name for the server
address 10.10.0.32 ; IP address of Remote Linux host
}Code
添加监控服务项,注意使用的命令是自定义的nrpe
# vi /etc/nagios3/conf.d/custom_services.cfgdefine service{
use generic-service
host_name Dow1_Server_198.27.75.
service_description CPU Load
check_command custom_check_nrpe!check_load
}Code
iptables -A INPUT -p tcp -m tcp --dport 5666 -j ACCEPT
service iptables save
service iptables restart
Debian 系统安装 Nagios 服务器监控端的更多相关文章
- Nagios+pnp4nagios+rrdtool 安装配置nagios被监控端NRPE配置(二)
NRPE监控插件基础 NRPE总共由两部分组成: (1).check_nrpe插件,运行在监控主机上. (2).NRPE daemon,运行在远程的linux主机上(通常就是被监控机) 整个的监控过程 ...
- abbix通过JMX监控Tomcat(被监控端安装Tomat的服务器防火墙策略iptables配置)
原文地址:http://jaychang.iteye.com/blog/2214830 一.目前的环境 被监控端192.168.153.191 /usr/local/tomcat 下载了catalin ...
- nagios 配置 check_traffic 流量监控模块(被监控端)
安装软件包yum -y install net-snmp*chkconfig nrpe onchkconfig snmpd on 使用SCP命令拷贝 check_traffic.sh 到 / usr/ ...
- 搭建基于Nagios的监控系统——之监控远程Windows服务器
分享了如何监控Linux服务器,我们来看看使用Nagios如何监控Windows服务器. 第一部分:配置被监控的Windows服务器 首先,访问 http://sourceforge.net/pr ...
- zabbix服务器监控suse系统教程
zabbix服务器监控suse系统教程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 花了近一个星期才学会了如何监控window和linux主机的基本信息以及报价情况(我已经把笔记 ...
- 1. SQL Server服务器监控实现方法
对于服务器的监控,和对数据库的监控,很少有合二为一的工具,如果有的话,一般是付费软件,或者自行开发的工具.所以如果不想购买软件,也不想花精力去开发的话,可以结合一些免费/开源的工具.自定义脚本,来完成 ...
- Nagios 系统监控
Nagios 系统监控 Nagios 是一款免费的开源 IT 基础设施监控系统,功能强大,灵活性强,能有效监控 Windows.Linux.VMware 和 Unix 主机状态,交换机.路由器等网络设 ...
- Cacti+nagios 整合监控部署文档
目录 Cacti+nagios监控部署步骤... 2 一.Cacti安装... 2 1需要安装的依赖软件包:... 2 2安装rrdtool 2 3启动数据库和httpd服务... 3 4将serve ...
- 监控之--Nagios如何监控本地主机及本地服务
上一节内容介绍了Nagios监控服务在linux环境下的安装过程,本节内容将详细介绍如何使用已经安装的Nagios服务的一些配置文件的使用以及如何监控本地相关服务,如要完成对一台主机的监控Nagios ...
随机推荐
- c++入门之命名空间存在的意义
看过鸡啄米的C++编程入门系列教程的朋友,应该能注意到,在其中的很多实例中,都有这么一条语句:using namespace std;,即使用命名空间std,其作用就是规定该文件中使用的标准库函数都是 ...
- Largest Rectangle in a Histogram HDU - 1506 (单调栈)
A histogram is a polygon composed of a sequence of rectangles aligned at a common base line. The rec ...
- Leaf——美团点评分布式ID生成系统 UUID & 类snowflake
Leaf——美团点评分布式ID生成系统 https://tech.meituan.com/MT_Leaf.html
- CentOS7 修改MAC地址
CentOS7 修改MAC地址 - mixboot - CSDN博客https://blog.csdn.net/u010953692/article/details/79650522
- HTML中的几种空格
HTML提供了5种空格实体(space entity),它们拥有不同的宽度,非断行空格( )是常规空格的宽度,可运行于所有主流浏览器.其他几种空格( )在不同浏览器中宽度各异. ...
- [转帖]Gartner预测:2019年全球公有云规模达2143亿美元
Gartner预测:2019年全球公有云规模达2143亿美元 https://news.cnblogs.com/n/623341/ 近日,全球领先的信息技术研究和顾问公司 Gartner 发布的最新数 ...
- 用stringstream可以用来分割空格、tab、回车换行隔开的字符串:
#include <iostream> #include <sstream> #include <vector> using namespace std; int ...
- jQuery EasyUI 折叠面板accordion的使用实例
1.对折叠面板区域 div 设置 class=”easyui-accordion” 2.在区域添加多个 div, 每个 div 就是一个面板 (每个面板一定要设置 title 属性). 3.设置面板属 ...
- Day1 基础知识
数据类型,字符编码 二进制: 定义:二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”.当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是 ...
- python之路-列表、元组、range
一 . 列表 # 列表的定义 列表就是能装对象的对象 在python中用[ ]来描述列表,内部元素用逗号隔开,对数据类型没有要求 索引和切片 lst = ["天龙八部", &quo ...