MySQL性能监控软件Nagios的安装及配置教程
Nagios是一款Linux上成熟的监视系统运行状态和网络信息的开原IT基础设施监视系统,Nagios能监视所指定的本地或远程主机及服务,例如HTTP服务、FTP服务等,同时提供异常通知、事件处理等功能,当主机或服务出现故障时,Nagios还可以通过邮件、手机短信等形式在第一时间进行通知。Nagios可运行在Linux和Unix平台上,同时提供一个可选的基于浏览器的Web界面,方便系统管理员查看系统的运行状态、网络状态、各种系统问题及日志异常等。
环境:192.168.0.201 mysql主机 rhel6.4
192.186.0.202 nagios主机 rhel6.4
安装相关软件包:
yuminstallhttpdgccmakeperl-ExtUtils-Embed.x86_64-y yumlocalinstallgd-devel-2.0.35-11.el6.x86_64.rpm-y
安装nagios:
useraddnagios usermod-Gnagiosapache #编译所需软件包 #运行nagios服务的用户 #使apache用户对nagios目录具有写权限,不然web页面操作失败 tarjxfnagios-cn-3.2.3.tar.bz2 #nagios软件安装 cdnagios-cn-3.2.3 ./configure–enable-embedded-perl makeall//根据提示完成安装 makeinstall makeinstall-init makeinstall-commandmode makeinstall-config makeinstall-webconf//在apache下通过这条命令可以快速整合
安装nagios-plugins:
yuminstallmysql-developenssl-devel-y tarzxfnagios-plugins-1.4.15.tar.gz cdnagios-plugins-1.4.15 ./configure--with-nagios-user=nagios--with-nagios-group=nagios--enable-extra-opts--enable-libtap--enable-perl-modules make makeinstall
配置nagios:
vi/usr/local/nagios/etc/nagios.cfg
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg#注释掉localhost.cfg文件 cfg_file=/usr/local/nagios/etc/objects/services.cfg#新建services.cfg文件,存放服务与服务组定义 cfg_file=/usr/local/nagios/etc/objects/hosts.cfg#新建hosts.cfg文件,存放主机与主机组定义
配置hosts.cfg:
vi/usr/local/nagios/etc/objects/hosts.cfg
definehost{//主机的管理 uselinux-server//使用默认的主机规则 host_namevm2.example.com//主机名 aliasNagiosvm2//主机别名 address127.0.0.1//主机ip地址 icon_imageswitch.gif//图标 statusmap_imageswitch.gd2 2d_coords100,200//2D图像坐标 3d_coords100,200,100//3D图像坐标 } definehostgroup{//主机组的管理 hostgroup_namelinux-servers//主机组名字 aliasLinuxServers//别名 members*//*代表上面所有主机
配置mysql
----建立nagdb专用数据库
mysql>createdatabasenagdbdefaultCHARSET=utf8;
QueryOK,1rowaffected(0.01sec)
mysql>grantselectonnagdb.*to'nagios'@'%';
QueryOK,0rowsaffected(0.00sec)
mysql>updatemysql.userset'Password'=PASSWORD('nagios')where'User'='nagios';
ERROR1064(42000):YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear''Password'=PASSWORD('nagios')where'User'='nagios''atline1 mysql>updatemysql.usersetPassword=PASSWORD('nagios')whereuser='nagios'; QueryOK,1rowaffected(0.03sec) Rowsmatched:1Changed:1Warnings:0
mysql>flushprivileges;
QueryOK,0rowsaffected(0.00sec)
----用以下命令来验证一下:
[root@node2etc]#/usr/local/nagios/libexec/check_mysql-H192.168.1.152-unagios-dnagdb-pnagios
Uptime:3374Threads:1Questions:11Slowqueries:0Opens:33Flushtables:1Opentables:26Queriespersecondavg:0.003
备注:如果出现:/usr/local/nagios/libexec/check_mysql:errorwhileloadingsharedlibraries:libmysqlclient.so.18:cannotopensharedobjectfile:Nosuchfileordirectory
请查看$MYSQL_HOME/lib
[root@node2lib]#ln-s./libmysqlclient.so.18.0.0/usr/lib/libmysqlclient.so.18
配置nrpe.cfg
[root@node2etc]#tail/usr/local/nagios/etc/nrpe.cfg
command[check_mysql]=/usr/local/nagios/libexec/check_mysql-H192.168.1.152-unagios-dnagdb-pnagios//加入此行
配置nagios服务端
[root@node1etc]#catservices.cfg//加入下面内容
defineservice{ uselocal-service host_namenode2 service_descriptionmysql check_commandcheck_nrpe!check_mysql notifications_enabled1 }
最后重启nrpe和服务端的nagios。