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 ...
随机推荐
- Python学习之赋值列表
# the program aim to differentiate the defference of a=b or a=b[:] my_fruits=["apple",&quo ...
- jQuery基础语法知识梳理
一.attr() attr()方法设置或返回元素的属性. attr(属性名):获取元素属性名的值. attr(属性名,属性值):设置元素属性名的值. 例子: <a href=”http://12 ...
- 通过设置线程池的最小线程数来提高task的效率,SetMinThreads。
http://www.cnblogs.com/Charltsing/p/taskpoolthread.html task默认对线程的调度是逐步增加的,连续多次运行并发线程,会提高占用的线程数,而等若干 ...
- openstack-KVM安装与使用
一.KVM安装 1.安装条件 VT-x BIOS Intel9R) Virtualization Tech [Enabled] cat /proc/cpuinfo | grep -e vmx -e n ...
- Django之Django终端打印SQL语句
Django之Django终端打印SQL语句 在Django项目中,settings.py文件中,在最后添加如下代码即可实现在Django终端打印SQL语句. LOGGING = { 'version ...
- Python_匿名函数
匿名函数:为了解决那些功能很简单的需求而设计的一句话函数. 代码如下: 1 正常函数: 2 3 def calc(n): 4 5 return n ** n 6 7 print(calc(10)) 8 ...
- http1.0 1.1 与2.0
长连接 HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接. HTTP是基于TCP/IP协议的,创建一个TCP连接是需要经过三次握手的,有一 ...
- python 编码格式
1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有 ...
- How to split DMG on macOS
hdiutil segment /users/test/test1.dmg -segmentsize 4000m -o /users/test/test2.dmg
- H5(仅仅是个地址)
http://www.w3school.com.cn/html5/html_5_intro.asp (▼ヘ▼#) 怕你不看,我特地给你记个地址,应该不能再故意不看了吧 (▼ヘ▼#)