ndoutils 插件
版本 2.x
NDOMOD
- 接收 Program Logic、Frogram Data 数据, 或者监控信息,输出到: 标准文件、Unix 域套接字或者 TCP 套接字
NDO2DB
- NDO2DB 进程将创建一个 TCP 套接字 或 Unix 域套接字以监听客户端, 接收来自 NDOMOD、LOG2NDO 的数据源,并保存到数据库中
LOG2NDO
- 用来将 Nagios 的历史日志通过 NDO2DB 进程输出至数据库, 通讯方式是: 标准文件、Unix 域套接字或者 TCP 套接字
FILE2SOCK
- 标准文件或标准输入 读取数据, 并输出至 Unix 域套接字或 TCP 套接字
- 当 NDOMOD 或 LOG2NDO 将数据输出至标准文件时, 此工具则可用来将这些标准文件中数据读出并发送给 NDO2DB 进程监听的 TCP 套接字或 Unix 域套接字
1. 安装依赖yum install -y mysql-devel perl-DBD-MySQL2. 下载安装1) 下载cd /usr/local/srcwget https://downloads.sourceforge.net/project/nagios/ndoutils-2.x/ndoutils-2.1.3/ndoutils-2.1.3.tar.gz?r=&ts=1497433073&use_mirror=jaisttar -zxvf ndoutils-2.1.3.tar.gz2) 安装cd /usr/local/src./configure --prefix=/usr/local/nagios --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios LDFLAGS=-L/usr/lib64/mysqlmakemake all3. 配置模块 ndomod 代理模块(转发数据)1) 复制 ndomod 模块, 4x.0 表示 nagios-core 是 4.x 版本, 具体根据 core 定义cp -v src/ndomod-4x.o /usr/local/nagios/bin/chown nagios:nagios /usr/local/nagios/bin/ndomod-4x.o2) 复制 ndomod 配置文件mkdir -p /usr/local/nagios/etc/ndoutilscp -v config/ndomod.cfg-sample /usr/local/nagios/etc/ndoutils/ndomod.cfgchown nagios:nagios /usr/local/nagios/etc/ndoutils/ndomod.cfg4. 配置 ndo2db 模块(接收数据保存到 MySQL)1) 复制 ndo2db 模块, 4x 表示 nagios-core 是 4.x 版本cp -v src/ndo2db-4x /usr/local/nagios/bin/chown nagios:nagios /usr/local/nagios/bin/ndo2db-4x2) 复制 ndo2db 配置文件mkdir -p /usr/local/nagios/etc/ndoutilscp -v config/ndo2db.cfg-sample /usr/local/nagios/etc/ndoutils/ndo2db.cfgchown nagios:nagios /usr/local/nagios/etc/ndoutils/ndo2db.cfg3) 配置 ndo2db.cfg 数据库vim /usr/local/nagios/etc/ndoutils/ndo2db.cfg# db 配置socket_type=tcpdb_servertype=mysqldb_host=nagios_dbdb_port=3306db_name=nagiosdb_prefix=nagios_db_user=nagiosdb_pass=nagios5. 安装数据库1) 登录 MySQL 创建数据库CREATE DATABASE nagios /*!40100 DEFAULT CHARACTER SET utf8 */;GRANT ALL PRIVILEGES ON nagios.* TO 'nagios'@'%' IDENTIFIED BY 'nagios' WITH GRANT OPTION;2) 安装数据库cd src/db./installdb -h dw0 -u nagios -p nagios -d nagios6. 配置 nagios.cfg 加载 ndomod 模块vim /usr/local/nagios/etc/nagios.cfg# ndoutils ndomod 模块, 设置同一行broker_module=/usr/local/nagios/bin/ndomod-4x.o config_file=/usr/local/nagios/etc/ndoutils/ndomod.cfg# 开启代理event_broker_options=-17. 复制 file2sock,log2ndo 依赖cp -v src/{file2sock,log2ndo} /usr/local/nagios/binchown nagios:nagios /usr/local/nagios/bin/{file2sock,log2ndo}8. 配置 ndomod -> ndo2db, ndomod 发送数据到的地址和端口 ndo2db1) ndomod 发送数据地址vim /usr/local/nagios/etc/ndoutils/ndomod.cfg# 发送到 ndo2db 的地址output_type=tcpsocketoutput=127.0.0.1tcp_port=56682)ndo2db 监听接收数据地址vim /usr/local/nagios/etc/ndoutils/ndo2db.cfg# 监听设置socket_type=tcptcp_port=56687. 启动 ndo2db, 监听在端口 5668, 接收 ndomod 发来的数据# 启动 ndo2db-4x 服务/usr/local/nagios/bin/ndo2db-4x -c /usr/local/nagios/etc/ndoutils/ndo2db.cfgtail -f /var/log/messagesnetstat -tnulp | grep 5668# 重启 nagios 服务service nagios restarttail -f /usr/local/nagios/var/nagios.log8. 实例 ndomod 实例默认和更改vim /usr/local/nagios/etc/ndoutils/ndomod.cfg# 默认组是 default, 大型应用中可能存在多个独立的或分布式布置的 Nagios 服务器.# 这种环境中的每个 Nagios 服务器通常被称为一个 Nagios 实例。# 在多 Nagios 实例的环境中,既可以把所有实例的数据存入到一个数据库,也可以将各实例的数据分别存储。instance_name=dw_groups
