一些常见监控服务如Nagios、Cacti和Zabbix的搭建
1,首先需要了解以下它们的概念
1)Nagios:它是一款用来监视系统和网络的开源应用软件,利用其众多的插件实现对本机和远端服务的监控,当被监控对象发生异常时,会及时向管理员告警,提供一批预设好的监控插件,用户可以之间调用,也可以自定义Shell脚本来监控服务,适合各企业的业务监控,可通过Web页面显示对象状态、日志、告警信息。
主有有5种监控状态:WARNING警告、OK正常、PENDING正在获取监控数据、UNKNOW监控配置错误、CRITICAL错误。
监控的服务主要有:cpu负载、登录系统的用户数、网页服务、ping、根分区的空闲空间、ssh服务、交换分区的空闲空间、系统RSZDT状态进程的总数量等
nagios监控服务的工作过程:nagios服务运行时,调用配置文件中定义的监控插件,对目标主机的资源做监控。在调用监控插件时,管理员可以设置监控时的警告值和错误值,nagios服务把监控到的数据和警告值、错误值做比较,按照以下规则显示监控状态:若监控到的数据小于警告值,则显示状态OK;若监控的数据大于警告值但小于错误值,则显示状态WARNING;若监控的数据大于错误值,则显示状态CRITICAL
2)Cacti:它是php语言实现的一款软件,是一套基于LAMP平台展现的网络流量监测及分析工具
工作原理:首先进行数据采集,基于SNMP技术或自定义脚本从目标设备/主机获取监控指标信息;其次进行数据存储,调用模板将数据存到数据库,使用rrdtool存储和更新数据,通过rrdtool绘制结果图形;最后进行数据展现,通过Web方式将监控结果呈现出来
监控结构:1)C/S模式:采集监测数据 2)B/S模式:管理监测平台
3)Zabbix:它是一个高度集成的监控解决方案,可以实现企业级的开源分布式监控,通过C/S模式采集监控数据,再通过B/S模式实现Web管理
监控拓扑:Zabbix监控服务器可以通过SNMP技术或Agent采集数据,数据可以写入MySQL、Oracle等数据库中,服务器使用LAMP实现web前端的管理;被监控的主机需要安装Agent,支持SNMP协议
功能:1)具备常见的商业监控软件所具备的功能:主机性能监控、网络设备监控、数据库监控等;2)支持自动发现网络设备和服务器,可以通过配置自动发现服务器规则来实现;3)支持分布式,能集中展示,管理分布式的监控点;4)编写插件容易,可以自定义监控项,具有实时绘图功能
2,接下来了解它们如何进行安装部署
为方便测试监控服务器的安装部署,以下安装之前我们都直接关闭防火墙和SELinux
1)Nagios安装及插件安装(以下采用红帽7.2系统)
第一步:需要安装网站平台以及一些编译工具 yum -y install httpd php gcc gcc-c++ make
第二步:需要创建nagios运行用户和组,以及将cpache用户添加到nagios组
useradd nagios---->groupadd nagcmd
usermod -G nagcmd nagios------>gpasswd -a apache nagcmd
第三步:编写php文件,启动httpd服务,客户端进行测试
1)编写php文件:echo "<?php phpinfo(); ?>" > /var/www/html/test.php
2)启动httpd服务并设为开机自启动:systemctl start httpd---->systemctl enable httpd
3)客户端进行访问测试:http://服务器IP地址/test.php
第四步:源码包安装步骤安装提供监控服务Nagios监控软件包
1)解压nagios软件包
2)配置
./configure --with-nagios-user=nagios --with-nagios-group=nagcmd --with-command-user=nagios --with-command-group=nagcmd
3)编译及编译安装 make all---->make install
4)编译安装相关参数
安装控制脚本make install-init---->ls /etc/rc.d/init.d/nagios
安装权限make install-commandmode
安装配置make install-config
部署网站配置make install-webconf----->ls /etc/httpd/conf.d/nagios.conf
安装接口模式make install-exfoliation
第五步:源码包安装步骤安装nagios-plugins监控插件
1)解压nagios-plugins软件包 2)进到nagios-plugin目录下 3)配置./configure
4)编译make 5)编译安装make install
第六步:创建登录监控页面管理员用户nagiosadmin使用的密码
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin--->回车输入两次密码
第七步:重启httpd服务和启动nagios服务,并客户端测试访问监控服务器查看监控信息
nagios监控服务器:systemctl restart httpd---->/etc/init.d/nagios start
客户端:http://nagios监控服务器IP地址/nagios----->输入第七步创建的nagiosadmin用户密码
2)Cacti安装
第一步:部署Cacti服务运行环境(LAMP平台、net-snmp、net-snmp-utils、rrdtool)
1)准备运行环境LAMP,装httpd、php、mariadb、mariadb-server、php-mysql包
yum -y install httpd php mariadb mariadb-server php-mysql
2)启动httpd和mariadb服务,查看服务端口状态,并设置为开机自启
systemctl start httpd---->systemctl enable httpd---->netstat -antpul | grep :80
systemctl start mariadb---->systemctl enable mairadb---->netstat -antpul | grep :3306
3)编写php文件,测试连接数据库,vim /var/www/html/linkdb.php,客户端访问连接测试
客户端:http://Cacti服务器IP地址/linkdb.php
第二步:搭建Cacti服务器(部署源码包、建立数据库表、调整配置文件)
1)安装cacti软件,移动到网页目录下,并改名cacti,设置7777权限
tar -zxvf cacti-0.8.8h.tar.gz -C /var/www/html
mv /var/www/html/cacti-0.8.8h /var/www/html/cacti---->chmod -R 7777 /var/www/html/cacti
2)修改cacti监控服务配置文件/var/www/html/cacti/include/config.php,设置存储配置信息使用库
$database_type="mysql";//设置数据库类型 $database_default="cactidb"; //设置存储使用库
$database_hostname="localhost";//cacti服务器主机名 $database_port="3306";//使用的端口
$database_ssl=false;//是否启用ssl安全连接 $database_username="tom";//连接的用户名,自定义
$database_password="123456";连接的密码,自定义
3)根据上面配置文件的配置再数据库服务器上创建授权用户
mysql -uroot -p---->由于是第一次安装,所以回车无密码登录
mysql>create database cactidb; //创建存储使用库
mysql>grant all on cactidb.* to tom@'localhost' identified by '123456'; //授权连接用户
4)使用连接用户恢复备份文件里的数据,并登录数据库查看存储配置信息表
mysql -utom -p123456 cactidb < /var/www/html/cacti/cacti.sql
mysql -utom -p123456 cactidb--->回车登录--->mysql>show tables;//查看存储配置信息表
第三步:完成初始化安装,登录web页面做初始化设置(根据网页安装向导进行)
1)完成依赖的软件包(SNMP简单网络管理协议、rrdtool绘图工具)
yum -y install net-snmp-* rrdtool
2)客户端访问web页面做初始化配置(初始帐号密码均为admin,首次登录强制重设密码,帐号名依然为admin),查看监控模板以及主机
客户端:http://Cacti监控服务器IP地址/cacti/install
3)Zabbix安装
第一步:部署Cacti服务运行环境(LAMP平台、net-snmp、net-snmp-utils、rrdtool)
1)准备运行环境LAMP,装httpd、php、mariadb、mariadb-server、php-mysql包
yum -y install httpd php mariadb mariadb-server php-mysql
2)启动httpd和mariadb服务,查看服务端口状态,并设置为开机自启
systemctl start httpd---->systemctl enable httpd---->netstat -antpul | grep :80
systemctl start mariadb---->systemctl enable mairadb---->netstat -antpul | grep :3306
3)编写php文件,测试连接数据库,vim /var/www/html/linkdb.php,客户端访问连接测试
第二步:创建进程运行执行者,建立存储配置信息数据库,并授权连接服务使用的用户
useradd zabbix--->mysql -uroot -p---->回车无密码登录
mysql>create database zabbixdb;
mysql>grant all on zabbixdb.* to tom@'localhost' identified bu '123456';
第三步:安装zabbix软件(zabbix_server监控服务、zabbix_agent客户端运行的服务)
1)解压zabbix软件包 tar -zxvf zabbix-3.2.3.tar.gz
2)进入zabbix目录 cd zabbix-3.2.3
3)配置 ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql
4)编译安装 make install
第四步:使用授权用户将存储配置信息表导入存储配置信息数据库zabbixdb
mysql -utom -p123456 zabbixdb < zabbix-3.2.3/database/mysql/schema.sql
mysql -utom -p123456 zabbixdb < zabbix-3.2.3/database/mysql/images.sql
mysql -utom -p123456 zabbixdb < zabbix-3.2.3/database/mysql/data.sql
mysql -utom -p123456 zabbixdb---->mysql>show tables;
第五步:登录管理页面做初始化配置
1)修改配置文件/etc/php.ini,调整php进程运行信息
672行:post_max_size=16M //将8M修改为16M
384行:max_execution_time=300 //最大执行时间30改为300
394行:max_input_time=300 //服务器接受数据的时间60改为300
878行:date.timezone=Asia/Shanghai //设置时区
2)安装服务运行依赖的软件包,重启httpd服务
rpm -ivh --nodeps php-bcmath-5.4.45.13.e17.remi.x86_64.rpm
rpm -ivh --nodeps php-mbstring-5.4.45-13.e17.remi.x86_64.rpm
systemctl restart httpd
3)拷贝网页php目录到网页目录/var/www/html下,并改名为zabbix,对conf赋予W权限
cp -rp zabbix-3.2.3/frontend/php /var/www/html/zabbix
chmod o+w /var/www/html/zabbix/conf //为了能正确生成配置文件zabbix.conf.php
第六步:登录管理页面(帐号名admin密码zabbix),查看监控模板,已监控主机,查看监控信息
第七步:修改配置文件/usr/local/zabbix/etc/zabbix_server.conf,指定库表密码
87行:DBName=zabbixdb 103行:DBUser=tom 111行:DBPassword=123456
第八步:将zabbix加入系统服务,修改脚本配置文件指定路径,并启动zabbix_server服务
cp zabbix-3.2.3/misc/init.d/fedora/core/zabbix_server /etc/init.d
vim /etc/init.d/zabbix_server---->22行:BASEDIR=/usr/local/zabbix //修改zabbix路径
chmod +x /etc/init.d/zabbix_server
/etc/init.d/zabbix_server start ---->netstat -antpul | grep :10051
小编这次就分享到这里,适合刚接触linux的新手,看完会有很大的收获噢,加油吧!