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 linux客户端 linux启动zabbix服务_php

给予zabbix对数据库的所有权限:

进到数据库输入:grant  all  on  zabbixdb.*  to  zabbix@localhost  identified  by  "数据库密码";

编辑httpd的配置文件(配置文件路径:/etc/httpd/conf/httpd.conf)

zabbix linux客户端 linux启动zabbix服务_运维_02

编辑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 linux客户端 linux启动zabbix服务_zabbix linux客户端_03

三:将zabbix包上传至服务器中(我使用的是zabbix-3.2.6-1.zip和zabbix-3.2.6.tar.gz)并解压。

#解压zip压缩包:unzip    压缩包名

#解压tar.gz压缩包:tar   -xvf   压缩包名     【x:解压,v:显示过程,f:必须参数,后面根压缩包名】

解压后:

zabbix linux客户端 linux启动zabbix服务_服务器_04

#源码安装一般由三个步骤组从: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文件

zabbix linux客户端 linux启动zabbix服务_php_05

 (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 linux客户端 linux启动zabbix服务_zabbix linux客户端_06

将zabbix-3.2.6/ frontend/php复制到/var/www/html/下,并在网页打开

zabbix linux客户端 linux启动zabbix服务_php_07

接下来将让配置符合要求

修改/etc/php.init文件

zabbix linux客户端 linux启动zabbix服务_zabbix linux客户端_08

 再次查看网页状态

zabbix linux客户端 linux启动zabbix服务_linux_09

安装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的大部分版本可以在此网页获得)

再查看网页状态

zabbix linux客户端 linux启动zabbix服务_zabbix linux客户端_10

可见PHP  bamath和PHP  mbstring已符合条件

点击下一步,输入数据库名和数据库密码 

zabbix linux客户端 linux启动zabbix服务_php_11

点击两次下一步,会出现一个错误,不能创建文件

zabbix linux客户端 linux启动zabbix服务_linux_12

解决方法:在/var/www/html/php下,给conf文件一个"w"的的权限即可

命令:chmod  o+w  conf

查看网页状态

zabbix linux客户端 linux启动zabbix服务_linux_13

登录

用户名:admin

密码:zabbix

zabbix linux客户端 linux启动zabbix服务_php_14

 此时的zabbix  server处于未运行状态。

解决方法:修改/usr/local/zabbix/etc/zabbix.server.conf文件

zabbix linux客户端 linux启动zabbix服务_运维_15

 #DBName为创建的zabbixdb数据库,DBPassword为数据库的密码

创建zabbix用户

命令:useradd   zabbix

在/usr/local/zabbix/sbin下编译zabbix_server文件

命令:./zabbix_server

检查10051端口是否启动

netstat   -antul   |  grep  10051

zabbix linux客户端 linux启动zabbix服务_zabbix linux客户端_16

 重新查看zabbix网页的状态

zabbix linux客户端 linux启动zabbix服务_linux_17

zabbix  server已处于运行状态。

这时服务端的工作已经做好了,向zabbix中添加客户端。

编辑/usr/local/zabbix/etc下的zabbix_agentd.conf文件      【监视本机的状态】 

zabbix linux客户端 linux启动zabbix服务_linux_18

再到/usr/local/zabbix/sbin/下编译zabbix_agentd文件

命令:./zabbix_agentd

查看10050端口是否启动

命令:netstat  -antul  |  grep  10050

zabbix linux客户端 linux启动zabbix服务_zabbix linux客户端_19

#可将WEB上的zabbix改成中文版的便于查看

步骤:点击管理 ——> 用户

zabbix linux客户端 linux启动zabbix服务_服务器_20

 

zabbix linux客户端 linux启动zabbix服务_linux_21

 语言选择中文即可。

点击  配置 ——>  主机  ——>  创建主机      

zabbix linux客户端 linux启动zabbix服务_运维_22

 组群选择zabbix  server,IP地址选的是本机的地址(被监控端的IP地址),点击添加。

点击配置——> 模板,选择Template OS Linux模板

zabbix linux客户端 linux启动zabbix服务_zabbix linux客户端_23

查看仪表盘状态即可。

zabbix linux客户端 linux启动zabbix服务_zabbix linux客户端_24

监控另一台客户机

将zabbix包发送至client端,并解压,可使用rsync进行文件传输

zabbix linux客户端 linux启动zabbix服务_zabbix linux客户端_25

zabbix linux客户端 linux启动zabbix服务_php_26

进入到zabbix-3.2.6目录下进行编译               (注意!client端需要下载gcc进行编译)

命令:./configure   --prefix=/usr/local/zabbix   --enable-agent

 

zabbix linux客户端 linux启动zabbix服务_zabbix linux客户端_27

 继续执行make和make  install

编辑/usr/local/zabbix/etc/下的zabbix_clientd.conf文件,文件内容如下:

zabbix linux客户端 linux启动zabbix服务_linux_28

 到/usr/local/zabbix/sbin/目录下进行编译

命令:./zabbix_agentd

查看10050端口是否运行

命令:netstat  -antul  |  grep  10050

zabbix linux客户端 linux启动zabbix服务_运维_29

 再到zabbix的WEB上添加主机

点击:配置——>主机——>创建主机

zabbix linux客户端 linux启动zabbix服务_zabbix linux客户端_30

 模板依旧添加Template OS Linux

查看仪表盘即可

zabbix linux客户端 linux启动zabbix服务_linux_31

 本次实验是本人的全部过程,仅供参考,有错误不足的地方希望大家指点。