文章目录
三种监控服务器的搭建
一.引子:
笔者关于网络服务的整理也差不多了,开始进入收尾环节,说实话,在我们的生产环境中,在服务搭建完成之后,更重要的是怎么在它发生错误之前将及时发现,及时解决。这时候我们的监控服务器就派上用场了。真是很棒棒有没有。以下三种监控服务器,是我们生产环境中大概率会遇到的。当然这三款服务器最常见的还是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监控服务器的各种功能,助我们在服务器的管理过程中一臂之力。(感谢大家浏览和阅读)