三种监控服务器的搭建(Cacti,Nagios,Zabbix)

三种监控服务器的搭建

一.引子:

笔者关于网络服务的整理也差不多了,开始进入收尾环节,说实话,在我们的生产环境中,在服务搭建完成之后,更重要的是怎么在它发生错误之前将及时发现,及时解决。这时候我们的监控服务器就派上用场了。真是很棒棒有没有。以下三种监控服务器,是我们生产环境中大概率会遇到的。当然这三款服务器最常见的还是Zabbix,功能最强大,最优异的也是Zabbix.

二.监控服务器的种类

1.Cacti(流量和性能监测为主)
LAMP (底层环境)
数据收集:SNMP(j简单网络管理协议)
数据展示:B/S RRDTOOL(图片展示)

2.Nagios(服务和性能监控为主)
数据收集:C/S
数据展示:B/S

3.Zabbix(全新型的监控软件)可以分布式运行
数据收集:C/S
数据展示:B/S

4.promethus(云原生,贴近容器)

三.Cacti监控服务器的的搭建

1.服务器端:

公网同步时间ntpdate -u ntpl.aliyun.com
rz -e
a,安装基础环境
$yum -y install snmp snmp-util(199端口)
$ yum -y install httpd mysql mysql-server mysql-devel libxml2-devel mysql-connector-odbc perl-DBD-MySQL unixODBC php php-mysql php-pdo

$ service httpd start
$ service mysqld start

$ yum -y install net-snmp net-snmp-utils net-snmp-libs lm_sensors

b.安装RRDTOOL
$ tar -zxf rrdtool-1.4.5.tar.gz
$ cd rrdtool
$ ./configure --prefix=/usr/local
$ make && make install

如出错,按以下步骤解决
$ tar zxvf cgilib-0.5.tar.gz
$ cd cgilib-0.5
$ make
$ cp libcgi.a /usr/local/lib
$ cp cgi.h /usr/include

$ yum -y install libart_lgpl-devel

$ yum -y install pango-devel* cairo-devel*

c.部署cacti,设置数据库连接
$ tar -zxf cacti-0.8.7g.tar.gz
$ mv cacti-0.8.7g/ /var/www/html/cacti
$ cd !$
$ patch -p1 -N <~/data_source_deactivate.patch
$ patch -p1 -N <~/graph_list_view.patch
$ patch -p1 -N <~/html_output.patch
$ patch -p1 -N <~/ldap_group_authenication.patch
$ patch -p1 -N <~/script_server_command_line_parse.patch
$ patch -p1 -N <~/ping.patch
$ patch -p1 -N <~/poller_interval.patch

d.添加检测数据的用户账户,更改权限保证读写数据正常
$ useradd runct
$ chown -R root.root ./
$ chown -R runct.runct rra/ log/

e.授权数据库用户,导入初始化数据
$ mysql -u root -p
$ create database cactidb default character set utf8;
$ grant all on cactidb.* to ‘cactiuser’@‘localhost’ identified by ‘pwd@123’;
$ quit
$ mysql -u cactiuser -p cactidb < cacti.sql
f.修改cacti配置文件
$ vim include/config.php
mysql
cactidb
localhost
cactiuser
pwd@123
3306
g.调整http配置
$ vim /etc/httpd/conf/httpd.conf

    Listen 80
1.    DocumentRoot "/var/www/html/cacti"
2.    <Directory "/var/www/html/cacti">
         options None
         AllowOverride None 
         Order allow,deny
         Allow from all
    </Directory>
3.    DirectoryIndex index.php index.html
4.    AddDefaultCharset utf-8

$ service httpd restart

$ http://192.168.66.11/install
h.打开snmp文件
$ yum -y install net-snmp net-snmp-utils lm_sensors

$ vim /etc/snmp/snmpd.conf
41 服务器地址 默认为default 共同体名称 默认为public
62 开放所有的SNMP查询权限 all 默认为SystemView
85 支持各种查询与访问 取消注释符号
i.收集数据
$ su - runct
php /var/www/html/cacti/poller.php(让RRPTOOL工作)

$ crontab -e (自动工作)
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php &>/dev/null(五分钟一次)

$ service crond start
j.安装插件(图形界面勾选)
$ tar -zxf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
$ mysql -u cactiuser -p cactidb < cacti-plugin-arch/pa.sql(还原数据)
$ cd /var/www/html/cacti
$ patch -p1 -N < ~/cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diff

$ cd /var/www/html/cacti/plugins

$ tar -zxf ~/monitor-0.8.2.tar.gz(进入解压目录还原SQL文件)

2.客户端配置

公网同步时间:ntpdate -u ntpl.aliyun.com
a.安装基础软件包
$ yum -y install net-snmp net-snmp-utils lm_sensors

$ vim /etc/snmp/snmpd.conf
41 服务器地址 默认为default 共同体名称 默认为public
62 开放所有的SNMP查询权限 all 默认为SystemView
85 支持各种查询与访问 取消注释符号

四.Nagios监控服务器的的搭建

1.服务器端配置

公网同步时间ntpdate -u ntpl.aliyun.com

a.解决安装 Nagios 的依赖关系
$ yum -y install httpd gcc glibc glibc-common php php-mysql openssl openssl-devel
$cd /mnt/cdrom/Package/
$yum -y gd

b.创建运行身份
$ groupadd nagcmd
$ useradd -m nagios
$ usermod -a -G nagcmd nagios
$ usermod -a -G nagcmd apache

c.编译安装 nagios
mkdir /mnt/iso
mount -o loop nagios.iso /mnt/iso/
$ tar zxf nagios-3.1.2.tar.gz
$ cd nagios-3.1.2
$ ./configure --with-command-group=nagcmd --enable-event-broker
$ make all
$ make install
$ make install-init
$ make install-config
$ make install-commandmode

$ vi /usr/local/nagios/etc/objects/contacts.cfg
email nagios@localhost #这个是默认设置

$ make install-webconf
$ htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
$ service httpd restart

d.编译、安装 nagios-plugins
$ tar zxf nagios-plugins-1.4.15.tar.gz
$ cd nagios-plugins-1.4.15
$ ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-mysql --enable-perl-modules
$ make
$ make install

e.配置并启动 Nagios
$ chkconfig --add nagios
$ chkconfig nagios on
$ /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
$ service nagios start
http://your_nagios_IP/nagios

2.监控端配置

a.创建用户
useradd nagios

b.为了安装 nrpe,先安装 nagios-plugins-1.4.15.tar.gz 插件

正式步骤
$ tar zxf nagios-plugins-1.4.15.tar.gz
$ cd nagios-plugins-1.4.15
$ ./configure --with-nagios-user=nagios --with-nagios-group=nagios
$ make all
$ make install

c.安装 nrpe
$ tar -zxvf nrpe-2.12.tar.gz
$ cd nrpe-2.12.tar.gz
$ ./configure --enable-ssl --with-ssl-lib=/usr/lib64/
$ make all
$ make install-plugin
$ make install-daemon
$ make install-daemon-config

d.配置 nrpe 信息
$ vim /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=192.168.216.251,127.0.0.1
$ /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

e.服务器端安装nrpe插件
$ cd nagios-nrpe_2.8.1
$ ./configure --enable-ssl --with-ssl-lib=/usr/lib64/
$ make all
$ make install-plugin

f.commands.cfg 定义外部构件 nrpe
$ vi /usr/local/nagios/etc/objects/commands.cfg

		define command{
				command_name check_nrpe
				command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
		}

g.定义 mylinux.cfg
define host{
    use    linux-server
    host_name    mylinux/IP
    alias    mylinux
    address    192.168.0.27
}

define service{
    use    generic-service
    host_name    mylinux
    service_description    check-load
    check_command    check_nrpe!check_load
}

define service{
    use    generic-service
    host_name    mylinux
    service_description    check-users
    check_command    check_nrpe!check_users
}
	
define service{
    use    generic-service
    host_name    mylinux
    service_description    otal_procs
    check_command    check_nrpe!check_total_procs
}

五.Zabbix监控服务器的的安装部署

1.初始化系统设置
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i “s/SELINUX=enforcing/SELINUX=disabled/g” /etc/selinux/config
2.安装 LAMP 环境
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all
yum makecache
yum -y install mariadb mariadb-server httpd php php-mysql
systemctl enable httpd
systemctl restart httpd
systemctl enable mariadb
systemctl restart mariadb
mysql_secure_installation
#Zabbix 初始化
安装 Zabbix 软件包
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
#初始化数据库
mysql -u root -p
CREATE DATABASE zabbix DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix’;
#还原数据库
cd /usr/share/doc/zabbix-server-mysql-3.2.1
#启动 Zabbix 服务
vim /etc/zabbix/zabbix_server.conf

    DBHost=localhost
    DBName=zabbix
    DBUser=zabbix
    DBPassword=zabbix

systemctl start zabbix-server
systemctl enable zabbix-server

#编辑 zabbix 前端 php 配置

    php_value max_execution_time 300
    php_value memory_limit 128M
    php_value post_max_size 16M
    php_value upload_max_filesize 2M
    php_value max_input_time 300
    php_value always_populate_raw_post_data -1
    php_value date.timezone Asia/Shanghai

#调整时间同步
ntpdate cn.pool.ntp.org

#重启 Apache 服务生效
systemctl restart httpd
#可做可不做
vim /vim /etc/httpd/conf/httpd.conf (将主页文件修改为zabbix的主页文件,)
/usr/share/zabbix
在这里插入图片描述
有关监控服务器的搭建笔者就整理在此了,下一篇·我们将去发现Zabbix监控服务器的各种功能,助我们在服务器的管理过程中一臂之力。(感谢大家浏览和阅读)

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值