使用mysql建立nagios数据库
# yum install mysql mysql-devel mysql-server gcc-c++
# service mysqld start
# chkconfig mysqld on
为root账号登陆数据库添加密码
# /usr/bin/mysqladmin -u root password xxxxxxxx
# mysql –p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.0.77 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database nagios;
Query OK, 1 row affected (0.03 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| nagios |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql> GRANT ALL ON nagios.* TO nagios@localhost IDENTIFIED BY "nagios";
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
为方便管理数据库,安装phpMyAdmin
# cd /opt/nagios
安装php组件
# yum install php-mysql php-mbstring
从
www.phpmyadmin.net/home_page/downloads.php
上下载符合系统组件的安装包
# tar zxf phpMyAdmin-2.11.10-all-languages.tar.gz
# mv phpMyAdmin-2.11.10-all-languages pma
# cp -a config.sample.inc.php config.inc.php
# vi config.inc.php
给blowfish_secret添加任意一串字符
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$cfg['blowfish_secret'] = 'nws'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
并修改mysql访问的账户和密码
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'xxxxxxxx';
保存退出
# cd ..
# cp -r pma/ /usr/local/nagios/share
打开IE输入http://nagios_ip/pma正确登陆到phpmyadmin中,但页面提示"无法载入 mcrypt 扩展,
请检查 PHP 配置".网上查了下,mcrypt是加密用的,这个错误不影响phpmyadmin的使用.
http://www.9enjoy.com/post/339/
http://www.diybl.com/course/6_sy ... 0090307/159507.html
使用NDOUtils将Nagios监控信息存入数据库
从nagios站点下载最新的ndoutils
# cd /opt/nagios
# tar zxf ndoutils-1.4b9.tar.gz
# cd ndoutils-1.4b9
# cd db
# ./installdb -u nagios -p nagios -h localhost -d nagios
DBD::mysql::db do failed: Table 'nagios.nagios_dbversion' doesn't exist at ./installdb line 51.
** Creating tables for version 1.4b9
Using mysql.sql for installation...
** Updating table nagios_dbversion
Done!
# cd /opt/nagios/ndoutils-1.4b9
编译启动mysql
# ./configure --enable-mysql
执行完成后,注意向上看看打印出的信息,看看是否找到了MySQL的库文件和include文件.
MySQL library and include file(s) were found!
# make
# cd src/
安装的Nagios版本为3.2.0,所以拷贝的是ndomod-3x.o、ndo2db-3x,如果是2.x.x需拷贝ndomod-2x.o、ndo2db-2x
# cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/local/nagios/bin
拷贝配置文件
# cd ../config
# cp ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
# cp ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
# cd /usr/local/nagios/etc/
# chmod 644 ndo*
# vi /usr/local/nagios/etc/ndo2db.cfg
db_user=ndouser
db_pass=ndopassword
修改为
db_user=nagios
db_pass=nagios
(因为之前在mysql中建立时使用命令mysql> GRANT ALL ON nagios.* TO nagios@localhost IDENTIFIED BY "nagios";)
# vi /usr/local/nagios/etc/nagios.cfg
复制broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg到
#broker_module=/somewhere/module2.o arg1 arg2=3 debug=0的下面
修改/usr/local/nagios/etc/nagios.cfg配置文件下面参数的值为-1(一般默认如此).
event_broker_options=-1
启动ndo2db
# /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
重启Nagios
# service nagios restart
查看Nagios日志,看是否正常启动。
# tail -20 /usr/local/nagios/var/nagios.log
[1265163252] Nagios 3.2.0 starting... (PID=16042)
[1265163252] Local time is Wed Feb 03 10:14:12 CST 2010
[1265163252] LOG VERSION: 2.0
[1265163252] ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors
[1265163252] ndomod: Successfully connected to data sink. 0 queued items to flush.
[1265163252] Event broker module '/usr/local/nagios/bin/ndomod-3x.o' initialized successfully.
[1265163252] Finished daemonizing... (New PID=16044)
安装使用nagvis插件
安装php相关软件包php-mysql php-xml php-mbstring
# yum install php-mysql php-xml php-mbstring
# service httpd restart
从Nagios站点上下载Nagvis并导入到相关目录中
# cd /opt/nagios
# tar zxf nagvis-1.3.2.tar.gz
# cp -r nagvis-1.3.2 /usr/local/nagios/share/ nagvis
# cd /usr/local/nagios/share/
# cd nagivs/etc/
# cp -a nagvis.ini.php-sample nagvis.ini.php
# vi nagvis.ini.php
在[paths]模块修改URL path
; path options
[paths]
; absolute physical NagVis path
base="/usr/local/nagios/share/nagvis/" ###取消注释
; absolute html NagVis path
htmlbase="/nagios/nagvis" ###取消注释
; absolute html NagVis cgi path
htmlcgi="/nagios/cgi-bin" ###取消注释
在[backend_ndomy_1]模块修改连接数据库的一下信息(dbuser和dbpass改为nagios,原因同上)
; options for the NDO-Backend
; in this example the ID of the Backend is "ndomy_1" you can define another ID.
[backend_ndomy_1]
; type of backend - MUST be set
;backendtype="ndomy" ###取消注释
; hostname for NDO-db
;dbhost="localhost" ###取消注释
; portname for NDO-db
;dbport=3306 ###取消注释
; database-name for NDO-db
;dbname="nagios" ###取消注释
; username for NDO-db
;dbuser="root" ###取消注释,并修改用户为nagios
; password for NDO-db
;dbpass="" ###取消注释,并添加密码为nagios
; prefix for tables in NDO-db
;dbprefix="nagios_" ###取消注释
; instace-name for tables in NDO-db
;dbinstancename="default" ###取消注释
; maximum delay of the NDO Database in Seconds
;maxtimewithoutupdate=180 ###取消注释
; path to the cgi-bin of this backend
;htmlcgi="/nagios/cgi-bin" ###取消注释
修改nagvis文件权限
# chown apache:apache /usr/local/nagios/share/nagvis/ -R
# chmod 664 /usr/local/nagios/share/nagvis/etc/nagvis.ini.php
# chmod 775 /usr/local/nagios/share/nagvis/nagvis/images/maps
# chmod 664 /usr/local/nagios/share/nagvis/nagvis/images/maps/*
# chmod 775 /usr/local/nagios/share/nagvis/etc/maps
# chmod 664 /usr/local/nagios/share/nagvis/etc/maps/*
# chmod 775 /usr/local/nagios/share/nagvis/var
# chmod 664 /usr/local/nagios/share/nagvis/var/*(这条命令会提示报个错,因为暂时这个目录下还没有文件)
如果需要使用nagvis的Automap功能,需要安装graphviz组件.
下载
http://www.graphviz.org/graphviz-rhel.repo
文件放到/etc/yum.repos.d/目录下
# yum install graphviz graphviz-devel graphviz-doc graphviz-gd graphviz-graphs graphviz-guile graphviz-java graphviz-perl graphviz-python graphviz-ruby graphviz-tcl
安装完成重启Nagios和Ndoutils
重启ndo的方法
# rm /usr/local/nagios/var/ndo.sock
# /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
The process will start normally.
使用http://nagios_ip/nagios/nagvis/nagvis/index.php即可登陆,使用方法很简单,点击页面上部的“Edit current map”即可进入配置界面,在页面上右键可以调出控制菜单,多尝试几次就会用了。使用nagvis还有点好处,可以将自己制作的图片作为背景图片,这样也方便查看。自己制作的图片像素控制为760*530左右,放到目录/usr/local/nagios/share/nagvis/nagvis/images/maps中,权限分配apache:apache 664即可,这样在新建监控图时就可以拿自己的图片做背景了。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/249/showart_2185663.html
分享到:
相关推荐
### MySQL 性能监控:守护数据库健康的哨兵 在当今高度数字化的世界中,数据库系统扮演着至关重要的角色,尤其对于那些依赖于实时数据处理和...遵循本文提供的指南,您将能够建立起符合自己需求的MySQL性能监控方案。
以上命令安装了Apache Web服务器、GCC编译器、MySQL数据库等必需的软件包。 #### 三、安装与配置Nagios监控主程序 1. **建立用户和组** ```bash groupadd nagcmd useradd -m nagios usermod -a -G nagcmd ...
例如,可以使用Python的os模块来获取系统负载信息,使用sys模块处理命令行参数,使用smtplib和email模块发送邮件,以及使用pymysql或者mysql-connector-python库与MySQL数据库进行交互。 系统负载通常由平均负载...
确保系统已经安装了必要的软件包,例如GCC编译器、Apache或Nginx web服务器、MySQL或PostgreSQL数据库等。 1.2 安装Nagios:通过包管理器(如yum或apt-get)安装Nagios的核心组件,包括nagios、nagios-plugins等。 ...
- **备份与恢复**:定期备份Nagios的配置文件和数据库,以便在必要时进行恢复操作。 #### 六、Nagios 2.0的最佳实践 - **标准化配置**:采用标准化的方法来编写配置文件,便于管理和维护。 - **分层监控**:将监控...
例如,结合Nagios或Icinga等监控系统,可以实时获取MySQL的性能指标,为运维人员提供决策支持。 总的来说,alignak_checks_mysql-0.3.0是一个强大且实用的Python库,它简化了与MySQL数据库的交互,增强了对数据库的...
- **推荐使用现代浏览器**:确保使用兼容Nagios Web界面的现代浏览器,如Chrome、Firefox等。 #### 11. Nagios3.1.2的安装 - **安装步骤**与早期版本类似,但需注意版本差异导致的配置变化。 #### 12. Nagios的...
- 使用`yum install`命令快速安装Apache、PHP和MySQL,以及必要的库文件,建立Linux、Apache、MySQL和PHP的环境。 3. **安装Nagios及其组件**: - 创建名为nagios的系统用户和组,分配适当的权限。 - 解压Nagios...
而了解Linux或CentOS的基础命令是进行MySQL配置和管理的前提,例如使用`mysql -u root -p"password"`这样的命令登录MySQL数据库。 最后,文档提到了一些MySQL配置过程中的常见操作和命令,这些操作和命令对于初学者...
- MySQL或SQLite数据库:用于存储监控数据。 - Perl:用于执行监控插件。 #### 许可证 Nagios遵循GPLv2许可证,这意味着它是免费的开源软件。用户可以自由地使用、修改和分发该软件,但必须遵守GPLv2的相关条款。 ...
- 安装NDOUTils,这是一个Nagios插件,用于收集Nagios的事件数据并将其存储到MySQL数据库中。 - 安装php-json,以支持JSON数据格式处理,对于现代Web应用至关重要。 - 安装NPC(Nagios Plugins Collector),用于...
这个过程旨在建立一个全面的监控系统,通过Nagios实时监控网络和应用状态,利用MySQL存储历史数据,sendEmail发送警报通知,Cacti提供可视化图表,ndoutils负责数据的存取。理解并掌握这些步骤,对于提升系统的可靠...
它可以监控包括Apache、MySQL、FTP、DNS和sshd等在内的多种服务,同时还能监控服务器的系统资源,如CPU使用率、内存占用、磁盘空间等。Nagios系统由主程序、插件程序以及四个可选的ADDON组成,即NRPE、NSCA、...
在MySQL数据库系统中,高可用性是确保服务不间断运行的关键因素,MHA通过监控主库的状态并自动化故障转移过程来实现这一目标。下面将详细介绍MHA 0.58版本及其相关组件。 MHA(MySQL High Availability)主要由两个...
- **Nagios** 和 **Zabbix**:通用系统监控软件,可扩展监控MySQL。 - **Grafana + Prometheus**:流行的数据可视化组合,支持自定义仪表板。 4. **日志分析** - **错误日志**:记录MySQL运行中的错误和异常。 ...
5. **Mtop**: 类似于MySQL的监控工具,用于监控MySQL数据库的性能。 6. **MRTG (Multi Router Traffic Grapher)**: 专门用于绘制网络流量图表的工具。 7. **Monit**: 可以监控进程、文件、目录和网络服务等,当检测...
安装完成后,DBI就可以被NDOUtils或其他需要数据库连接的Perl程序使用,以实现与MySQL数据库的通信。在Nagios环境中,NDOUtils通过DBI与MySQL交互,存储和分析监控数据,为用户提供丰富的报告和故障警报功能。
不过,为避免类似问题再次发生,我们应该建立定期清理和监控磁盘空间的机制,例如设置自动清理旧日志、备份文件的脚本,或者使用系统监控工具(如Nagios、Zabbix)实时监测磁盘使用情况。 此外,优化数据库配置也能...