MapReduce:计算Job运行时的CPU与内存平均利用率
来源:互联网 发布:dota2淘宝买饰品安全吗 编辑:程序博客网 时间:2024/06/05 10:46
注意:这里默认关闭了Selinux(生产环境也是关的)以及关闭了iptables。如有开启的需要,请根据网络酌情添加相关内容。
遇到问题:公司服务器需实现监控及报警等功能
解决问题:使用nagios+cacti
准备环境:
为以后的配置搭建安装环境
yum install –y http* mysql-devel mysql-server php-*net-snmp-* gd gd-devel perl-libwww-perl
一:Nagios环境的搭建
注:所有的tar包都放置在/soft下。
1.安装nagios
cd /soft
tar zxf nagios-cn-
3.3
.
2
.tar.gz
cd nagios-cn-
3.2
.
3
./configure --prefix=/
var
/www/html/nagios
make all
useradd nagios
make install && make install-init&& make install-commandmode && make install-config &&make install-webconf
2.增加nagios登陆认证文件,
htpasswd -c /var/www/html/nagios/etc/htpasswd.users control
3.安装插件:
cd /soft
tar -zvxf nagios-plugins-
1.4
.
16
.tar.gz
cd nagios-plugins-
1.4
.
16
./configure --prefix=/
var
/www/html/nagios/ make&&makeinstall
make && make install
4.将运行Apache的用户添加到nagios组里,这样Apache才有权限读取文件
usermod -G nagios apache ##将apache用户加到nagios组。
5.阶段测试
chown nagios.nagios /
var
/www/html/nagios/ -R
service httpd start
chkconfig httpd on
/etc/init.d/nagios start
二:cacti环境的搭建
1.rrdtool的安装,这里需要安装的是:rrdtool,rrdtool-devel.rrdtool-perl,rrdtool-php,下载完成后,本地yum安装
yum -y install rrdtool*
yum -y installperl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker(此步骤没有,会导致perl Makefile 无法运行)
service mysqld start
2.配置snmp
vim /etc/snmp/snmpd.conf
# 修改3项 127.0.0.1 、 all、启用项 (下图是修改后的图)
启动snmp服务:
service snmpd start
3.安装cacti
wgethttp://www.cacti.net/downloads
cd /soft
tar zxvf cacti-0.8.7h.tar.gz
mv cacti-0.8.7h /var/www/html/cacti
4.创建cacti数据库
#注意导入cacti.sql时该文件的路径
mysql
mysql> create database cacti;
mysql> grant all privileges on cacti.* to cacti@localhost identified by
'cacti'
with
grant option;
mysql> grant all privileges on cacti.* to cacti@
127.0
.
0.1
identified by
'cacti'
with
grant option;
mysql>
use
cacti;
mysql> source /
var
/www/html/cacti/cacti.sql;
mysql> flush privileges;
mysql> \q 然后回车退出即可
6.配置cacti以连接数据库 ,分别编辑两个.php文件,以适应环境,修改内容相同。
vim /var/www/html/cacti/include/config.php
vim /var/www/html/cacti/include/global.php
$database_default = "cacti"; //默认数据库名
$database_hostname = "localhost"; //主机名
$database_username = "cacti"; //登陆数据库用户名
$database_password = "cacti"; //登陆数据库密码
$database_port = "3306";
修改cacti的系统时间
cacti默认是以美国的时间为准的,监测的时候要纠正到我朝的时区
vi /var/www/html/cacti/include/global.php文件,在里面加入一行
date_default_timezone_set(‘Asia/Chongqing’);
useradd -r -M cacti
chown -R cacti /var/www/html/cacti/poller.php
chown -R cacti /var/www/html/cacti/rra
chown -R cacti /var/www/html/cacti/log
7.在cacti用户下创建计划任务以画图
su cacti
bash-4.1$ crontab –e
*/2 * * * * php /var/www/html/cacti/poller.php> /dev/null 2>&1
exit
解决php的It is not safe to rely on the system’stimezone settings的问题
3Vim /etc/php.ini添加如下信息:
4date.timezone= “Asia/Chongqing”
8.确保服务器的selinux是不不关闭状态,使用setenforce 0关闭,getenforce查看状态,或者修改配置文件/etc/selinux/config中“SELINUX=disable”,然后从web页面启动cacti,安装,并查看图形化界面,cacti界面的初始登录帐号:
在浏览器中输入: http://ip/cacti
User:admin
Passwd:admin
登录后,系统会强制要求修改密码操作的
三:整合Nagios与Cacti
1.下载并安装ndoutils
cd /soft
tar zxvf ndoutils-
1
.4b9.tar.gz
cd ndoutils-
1
.4b9
./configure --prefix=/
var
/www/html/nagios/--enable-mysql --disable-pgsql --
with
-mysql-inc=/usr/
include
/mysql --
with
-mysql-lib=/usr/lib/mysql
make
2.准备配置文件
cp -vsrc/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /
var
/www/html/nagios/bin
cd db
./installdb -ucacti -pcacti -hlocalhost -dcacti
cd ..
cp -vconfig/{ndo2db.cfg-sample,ndomod.cfg-sample} /
var
/www/html/nagios/etc
mv /
var
/www/html/nagios/etc/ndo2db.cfg-sample/
var
/www/html/nagios/etc/ndo2db.cfg
mv /
var
/www/html/nagios/etc/ndomod.cfg-sample/
var
/www/html/nagios/etc/ndomod.cfg
chmod
644
/
var
/www/html/nagios/etc/ndo*
chown nagios:nagios /
var
/www/html/nagios/etc/*
chown nagios:nagios /
var
/www/html/nagios/bin/*
3.修改nagios.cfg配置文件以适应当前环境
vim /var/www/html/nagios/etc/nagios.cfg
# 在文件中添加: 添加以下一行(注意下面只能是一行,否则nagios启动报错)broker_module=/var/www/html/nagios/bin/ndomod-3x.o config_file=/var/www/html/nagios/etc/ndomod.cfg
中间用空格
5#检查
6 event_broker_options=-1 ## 为Nagios开启event broker,默认无需修改
4.修改ndo2db.cfg以适应当前环境
vim /var/www/html/nagios/etc/ndo2db.cfg
7 #确保下列内容为唯一项
socket_type=tcp
db_servertype=mysql
db_host=127.0.0.1
db_port=3306
db_name=cacti
db_prefix=npc_
db_user=cacti
db_pass=cacti
5.修改ndomod.cfg以适应当前环境
vim /var/www/html/nagios/etc/ndomod.cfg
16#确保下列项的唯一内容为
output_type=tcpsocket
output=127.0.0.1
#output=/var/www/html/nagios//var/ndo.sock
buffer_file=/var/www/html/nagios/var/ndomod.tmp
6.为ndo2db添加启动进程
cp /soft/ndoutils-1.4b9/daemon-init /etc/init.d/ndo2db
vim /etc/init.d/ndo2db
19#检查里面的路径确保不会出现“//",并将Ndo2dbBin修改成下面的值:
Ndo2dbBin=/var/www/html/nagios/bin/ndo2db-3x
Ndo2dbCfgFile=/var/www/html/nagios/etc/ndo2db.cfg
Ndo2dbVarDir=/var/www/html/nagios/var
chmod +x /etc/init.d/ndo2db
7.启动守护进程与nagios
/var/www/html/nagios/bin/ndo2db-3x -c/var/www/html/nagios/etc/ndo2db.cfg
【注意这里如果启动报错,则是因为未安装mysql-devel导致,故提前安装】
tail -20 /var/log/messages ##查看其中是否有错误出现。如无报错请继续
service nagios start
四:安装npc,以在Cacti中展现Nagios
1.先安装cacti扩展模块
wge thttp:
//www.cacti.net/downloads/pia/cacti-plugin-0.8.7h-PA-v3.0.tar.gz
cd /soft
tar xvf cacti-plugin-
0.8
.7h-PA-v3.
0
.tar.gz
cp -R cacti-plugin-arch/* /
var
/www/html/cacti/
cd /
var
/www/html/cacti/
mysql -ucacti -pcacti cacti < pa.sql
patch -p1 -N <cacti-plugin-
0.8
.7h-PA-v3.
0
.diff
patch成功后的界面如下图
## 为cacti配置文件打补丁的时候注意在为include/config.php打补丁的时候有可能它将include/config.php.dist给打补丁了,我们只需要手动加入下面的内容即可。
vim include/config.php
# 修改(或新加入)为
$url_path ="/cacti/";
如有错误,请查看apache日志 /var/log/httpd/error_log
从web进入cacti,启用cactiplugin扩展
打开插件管理功能:
打开“Console----> User Management----> admin”然后在“Realm Permissions”选
项卡中勾选“Plugin Management”,然后点击Save进行保存!
此时我们会在控制台---> Configuration 选项卡下多了一个Plugin Management选项卡,到此cacti架构扩展完成!!
2.安装npc
cd /soft
tar zxvf npc-
2.0
.
4
.tar.gz
mv npc /
var
/www/html/cacti/plugins/
vim /
var
/www/html/cacti/
include
/config.php
加入:
$plugins[] = 'npc';
3.修改配置文件以让npc读取到新的数据。
vim /var/www/html/nagios/etc/ndo2db.cfg
db_prefix=npc_
4写一个php的测试页面
vi /var/www/html/test.php
完成之后,在网页测试http://ip/test.php
从Web进入Cacti,确保正确使用npc选项。(一定记得要启用npc,否则下面更新mysql的表结构,会报没有表)
5. 修改mysql中的表结构:
mysql
use
cacti;
alter table npc_eventhandlers add long_outputTEXT NOT NULL
default
''
after output;
alter table npc_hostchecks add long_outputTEXT NOT NULL
default
''
after output;
alter table npc_hoststatus add long_outputTEXT NOT NULL
default
''
after output;
alter table npc_notifications add long_outputTEXT NOT NULL
default
''
after output;
alter table npc_servicechecks add long_outputTEXT NOT NULL
default
''
after output;
alter table npc_servicestatus add long_outputTEXT NOT NULL
default
''
after output;
alter table npc_statehistory add long_outputTEXT NOT NULL
default
''
after output;
alter table npc_systemcommands addlong_output TEXT NOT NULL
default
''
after output;
6.重启ndo2db进程,重新加载配置文件重启nagios服务。
service ndo2db restart
service nagios restart
7.在Web上配置NPC以使之正常读取工作。
在Settings->npc中 ,勾上Remote Commands
然后在console----settings-----NPC填入以下
Nagios Command File Path= /var/www/html/nagios/var/rw/nagiosNaNd
Nagios URL=你的地址(http://localhost/nagios/)
接下来刷新npc就可以看到数据啦:
由于之前新建了htpasswd的用户,需给该用户查查nagios的一些状态信息
/var/www/html/nagios/etc/cgi.cfg所有nagiosadmin后面都加上你添加的新用户,如:
错误汇集:
1. 启动ndo2db报错
解决: yum -y install mysql-devel
2. 报错, perl Makefile.pl
解决:yum -y install perl-ExtUtils-CBuilderperl-ExtUtils-MakeMaker
3. mail 命令没有,无法使用mail命令发送邮件
yum -y install mailx
完成之后的效果:http://ip/nagios 可以访问到nagios
http://ip/cacti/ 访问到cacti ,也可以从cacti界面的npc点到nagios
本文出自 “濛sir的积累” 博客,谢绝转载!
文章评论
已经找到原因了,原来是php-mysql没装。
ok
Failed to obtain lock on file /var/www/html/nagios/--enable-mysql/var/ndo2db.lock: No such file or directory
: No such file or directory
请问这个怎么解决呢
- 昵 称:
- 登录 快速注册
- 验证码:
-
点击图片可刷新验证码请点击后输入验证码博客过2级,无需填写验证码
- 内 容:
同时赞一个
- MapReduce:计算Job运行时的CPU与内存平均利用率
- MapReduce:计算Job运行时的CPU与内存平均利用率
- MapReduce:计算Job运行时的CPU与内存平均利用率
- MapReduc:1-3:计算Job运行时的CPU与内存平均利用率
- 计算cpu利用率和内存利用率
- cpu利用率的计算
- CPU利用率的计算
- 系统平均负载(Load average)与CPU利用率
- 系统平均负载(Load average)与CPU利用率
- 系统平均负载(Load average)与CPU利用率
- CPU的利用率是怎么计算的
- CPU的利用率是怎么计算的
- CPU的利用率是怎么计算的
- 操作系统实验二——内存平均利用率与分配策略的研究
- linux环境下cpu利用率的计算
- VxWorks平台下计算cpu的利用率
- VxWorks平台下计算cpu的利用率
- Linux下的CPU利用率计算原理
- jzoj 4986. 【GDOI2017模拟2.25】神秘物质 可持久化treap
- 并发编程实战学习笔记(一)——线程安全性问题的本质以及理论概述
- 文章标题
- .Net小白的第一篇博客
- Unicode 和 UTF-8 有何区别?
- MapReduce:计算Job运行时的CPU与内存平均利用率
- linux初学者的每周感悟 ——1
- mathtype安装以及office2016兼容问题
- LeetCode 2.Add Two Numbers
- cordova-plugin-file 文件操作整理(三)
- c# 链表(泛型)
- Linux学习之——历史命令和输出重定向
- 通过Unity实现 AOP
- CCTV下载