ZABBIX提供分布式系统监控和网路监控,并支持WEB页面进行查看。
ZABBIX的工作模式:C/S 和 B/S(通过C/S来采集数据,通过B/S在WEB上进行查看)
ZABBIX的组从部分:zabbix-server和可选组件zabbix-agent
zabbix-agent:安装在想要被监视的服务器上,主要完成对被监控服务器的硬件信息和操作系统中的内存,磁盘,CPU等数据的收集。
zabbix-server:用来单独监视远程服务器的服务状态,可以与zabbix-agent配合使用
实验步骤:
条件:SELinux和firewalld处于关闭状态
一:安装zabbix前先下载zabbix所需要的组件
1.httpd 2.php 3.php-mysql 4.mariadb 5.mariadb-server
外加:
1.gcc(编译器)
2.mysql-devel(提供在编译过程中所需要的包和文件)
3.php-gd(是php处理图片的一个拓展库)
4.php-xml
5.php-ldap
二:数据库的设置
对mariadb数据库进行初始化设置(包括重置密码):mysql_secure_installation
在数据库里创建一个zabbixdb数据库
create database zabbixdb;
给予zabbix对数据库的所有权限:
进到数据库输入:grant all on zabbixdb.* to zabbix@localhost identified by "数据库密码";
编辑httpd的配置文件(配置文件路径:/etc/httpd/conf/httpd.conf)
编辑index.php文件(其目的用来测试与数据库的连通性)
<?php
$con=mysql_connect=("localhost","zabbix","123456");
if($con) echo "connect sucessful";
else echo "connect error";
//some code
?>
在网页上查看状态(网页上输入IP地址加index.php) #默认为80端口,因为80端口已经被占用,我改到了86端口,86可忽略。
三:将zabbix包上传至服务器中(我使用的是zabbix-3.2.6-1.zip和zabbix-3.2.6.tar.gz)并解压。
#解压zip压缩包:unzip 压缩包名
#解压tar.gz压缩包:tar -xvf 压缩包名 【x:解压,v:显示过程,f:必须参数,后面根压缩包名】
解压后:
#源码安装一般由三个步骤组从:1.配置(configure)2.编译(make)3.安装(make install)
进入到zabbix-3.2.6目录中进行源码安装(用到之前下载的gcc和mysql-devel)
(1)./configure --prefix=/usr/loacl/zabbix --enable-server --enable-agent --with-mysql
此时在zabbix-3.2.6的目录下会多出一个Makefile文件
(2)make #对Makefile文件进行编译
利用echo $?检测,若回显0则表示成功
(3)make install #进行安装
安装完成后会在上述设置的路径下出现5个目录。 #上述的目录:/usr/local/zabbix
#五个目录分别为:bin,etc,lib,sbin,share
并且在zabbix-3.2.6/database/mysql下会有三个文件。
#三个文件分别为:data.sql,images.sql,schema.sql
将这三个文件上传至zabbix数据库中。
切记!先上传schema.sql,再上传images.sql,最后上传data.sql
mysql -uzabbix -p123456 zabbixdb < schema.sql
mysql -uzabbix -p123456 zabbixdb < images.sql
mysql -uzabbix -p123456 zabbixdb < data.sql
查看zabbixdb数据库的信息
将zabbix-3.2.6/ frontend/php复制到/var/www/html/下,并在网页打开
接下来将让配置符合要求
修改/etc/php.init文件
再次查看网页状态
安装PHP bamath和PHP mbstring包,在解压zabbix-3.2.6.zip的目录下(解压前php的版本要与zabbix的相兼容)
命令:rpm -ivh php-bcmath-5.4.16-36.el7_1.x86_64.rpm
rpm -ivh php-mbstring-5.4.16-36.el7_1.x86_64.rpm
https://windows.php.net/downloads/releases/archives/ (php的大部分版本可以在此网页获得)
再查看网页状态
可见PHP bamath和PHP mbstring已符合条件
点击下一步,输入数据库名和数据库密码
点击两次下一步,会出现一个错误,不能创建文件
解决方法:在/var/www/html/php下,给conf文件一个"w"的的权限即可
命令:chmod o+w conf
查看网页状态
登录
用户名:admin
密码:zabbix
此时的zabbix server处于未运行状态。
解决方法:修改/usr/local/zabbix/etc/zabbix.server.conf文件
#DBName为创建的zabbixdb数据库,DBPassword为数据库的密码
创建zabbix用户
命令:useradd zabbix
在/usr/local/zabbix/sbin下编译zabbix_server文件
命令:./zabbix_server
检查10051端口是否启动
netstat -antul | grep 10051
重新查看zabbix网页的状态
zabbix server已处于运行状态。
这时服务端的工作已经做好了,向zabbix中添加客户端。
编辑/usr/local/zabbix/etc下的zabbix_agentd.conf文件 【监视本机的状态】
再到/usr/local/zabbix/sbin/下编译zabbix_agentd文件
命令:./zabbix_agentd
查看10050端口是否启动
命令:netstat -antul | grep 10050
#可将WEB上的zabbix改成中文版的便于查看
步骤:点击管理 ——> 用户
语言选择中文即可。
点击 配置 ——> 主机 ——> 创建主机
组群选择zabbix server,IP地址选的是本机的地址(被监控端的IP地址),点击添加。
点击配置——> 模板,选择Template OS Linux模板
查看仪表盘状态即可。
监控另一台客户机
将zabbix包发送至client端,并解压,可使用rsync进行文件传输
进入到zabbix-3.2.6目录下进行编译 (注意!client端需要下载gcc进行编译)
命令:./configure --prefix=/usr/local/zabbix --enable-agent
继续执行make和make install
编辑/usr/local/zabbix/etc/下的zabbix_clientd.conf文件,文件内容如下:
到/usr/local/zabbix/sbin/目录下进行编译
命令:./zabbix_agentd
查看10050端口是否运行
命令:netstat -antul | grep 10050
再到zabbix的WEB上添加主机
点击:配置——>主机——>创建主机
模板依旧添加Template OS Linux
查看仪表盘即可
本次实验是本人的全部过程,仅供参考,有错误不足的地方希望大家指点。