MySQL性能监控软件Nagios的安装及配置教程

 更新时间:2015年12月09日 15:16:46   作者:I’m Me!  
这篇文章主要介绍了MySQL性能监控软件Nagios的安装及配置教程,这里以CentOS操作系统为环境进行演示,需要的朋友可以参考下

 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
安装相关软件包:

  yum install httpd gcc make perl-ExtUtils-Embed.x86_64 -y
  yum localinstall gd-devel-2.0.35-11.el6.x86_64.rpm  -y

安装nagios:

useradd nagios
usermod -G nagios apache
#编译所需软件包
#运行 nagios 服务的用户
#使 apache 用户对 nagios 目录具有写权限,不然 web 页面操作失败
tar jxf nagios-cn-3.2.3.tar.bz2
#nagios 软件安装
cd nagios-cn-3.2.3
./configure –enable-embedded-perl
make all      //根据提示完成安装
make install
make install-init
make install-commandmode
make install-config
make install-webconf   //在apache下通过这条命令可以快速整合

安装nagios-plugins:

yum install mysql-devel openssl-devel -y
tar zxf nagios-plugins-1.4.15.tar.gz
cd nagios-plugins-1.4.15
./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-extra-opts --enable-libtap --enable-perl-modules
make
make install

配置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
define host{                     //主机的管理
use linux-server                  //使用默认的主机规则
host_name vm2.example.com        //主机名
alias Nagios vm2                  //主机别名
address 127.0.0.1                 //主机ip地址
icon_image switch.gif              //图标
statusmap_image switch.gd2          
2d_coords 100,200                //2D图像坐标
3d_coords 100,200,100             //3D图像坐标
}
define hostgroup{                //主机组的管理
hostgroup_name linux-servers        //主机组名字
alias Linux Servers                //别名
members *                      //*代表上面所有主机

配置mysql
----建立nagdb专用数据库

mysql> create database nagdb default CHARSET=utf8;
Query OK, 1 row affected (0.01 sec)

mysql> grant select on nagdb.* to 'nagios'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> update mysql.user set 'Password' = PASSWORD('nagios') where 'User'='nagios';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Password' = PASSWORD('nagios') where 'User'='nagios'' at line 1
mysql> update mysql.user set Password = PASSWORD('nagios') where user='nagios';
Query OK, 1 row affected (0.03 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

----用以下命令来验证一下:

[root@node2 etc]# /usr/local/nagios/libexec/check_mysql -H 192.168.1.152 -u nagios -d nagdb -p nagios
Uptime: 3374 Threads: 1 Questions: 11 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.003

备注:如果出现:/usr/local/nagios/libexec/check_mysql: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
请查看$MYSQL_HOME/lib   

[root@node2 lib]# ln -s ./libmysqlclient.so.18.0.0 /usr/lib/libmysqlclient.so.18

配置nrpe.cfg

[root@node2 etc]# tail /usr/local/nagios/etc/nrpe.cfg 
command[check_mysql]=/usr/local/nagios/libexec/check_mysql -H 192.168.1.152 -u nagios -d nagdb -p nagios  //加入此行

配置nagios服务端

[root@node1 etc]# cat services.cfg    //加入下面内容
define service{
    use               local-service
    host_name            node2
    service_description       mysql
    check_command          check_nrpe!check_mysql
    notifications_enabled      1
    }

最后重启nrpe和服务端的nagios。

相关文章

  • 使用JS+HTML/CSS实现虚拟滚动和分页加载效果

    使用JS+HTML/CSS实现虚拟滚动和分页加载效果

    虚拟滚动和分页加载是一种优化大型数据集的常见技术,用于在Web应用程序中提高性能和用户体验,在本文中,我将演示如何使用JavaScript和HTML/CSS来实现虚拟滚动和分页加载,同时提供示例代码和详细解释,需要的朋友可以参考下
    2023-10-10
  • mysql 中 replace into 与 insert into on duplicate key update 的用法和不同点实例分析

    mysql 中 replace into 与 insert into on duplicate key update 的

    这篇文章主要介绍了mysql 中 replace into 与 insert into on duplicate key update 的用法和不同点,结合实例形式分析了replace into 与 insert into on duplicate key update的功能、基本用法与操作注意事项,需要的朋友可以参考下
    2020-02-02
  • Win10安装mysql8.0.15 winx64及连接服务器过程中遇到的问题

    Win10安装mysql8.0.15 winx64及连接服务器过程中遇到的问题

    这篇文章主要介绍了Win10安装mysql8.0.15 winx64及连接服务器过程中遇到的问题,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • MAC版修改MySQL初始密码的方法

    MAC版修改MySQL初始密码的方法

    这篇文章主要介绍了MAC版修改MySQL初始密码的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • 一文搞懂mysql如何处理json格式的字段(解析json数据)

    一文搞懂mysql如何处理json格式的字段(解析json数据)

    这篇文章主要给大家介绍了关于mysql如何处理json格式的字段的相关资料,MySQL中的JSON类型是一种数据类型,用于存储和处理JSON(JavaScript Object Notation)格式的数据,需要的朋友可以参考下
    2023-12-12
  • mysql慢查询介绍及开启技巧详解

    mysql慢查询介绍及开启技巧详解

    这篇文章主要为大家介绍了mysql慢查询介绍及开启技巧详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • MySQL中的随机抽取的实现

    MySQL中的随机抽取的实现

    本文主要介绍了MySQL中的随机抽取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • MySQL中INSERT INTO的具体使用

    MySQL中INSERT INTO的具体使用

    INSERT INTO 是 MySQL 数据库中非常重要的一种 SQL 命令,用于将新行插入到表中,本文主要介绍了MySQL中INSERT INTO的具体使用,感兴趣的可以了解一下
    2024-03-03
  • MySQL批量删除海量数据的几种方法总结

    MySQL批量删除海量数据的几种方法总结

    在数据库的日常维护中,我们经常遇到需要删除大量数据的场景,例如,删除过期日志、清理历史数据等,但如果一次性删除大量数据,可能会导致锁表、事务日志暴增、影响数据库性能等问题,本文将介绍几种高效批量删除 MySQL 海量数据的方法,需要的朋友可以参考下
    2024-11-11
  • mysql分组排序如何取第一条数据

    mysql分组排序如何取第一条数据

    这篇文章主要介绍了mysql分组排序如何取第一条数据问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07

最新评论