你的位置:首页 > 操作系统

[操作系统]一些常见监控服务如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)客户端进行访问测试 --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

客户端 -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,客户端访问连接测试

客户端 -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),查看监控模板以及主机

客户端 -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

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的新手,看完会有很大的收获噢,加油吧!