1 zabbix简介

zabbix是一个高度集成的监控解决方案,通过C/S模式采集监控数据,通过B/S模式实现web管理。

监控服务器:通过SNMP或Agent采集数据,数据可以写入Mysql,Oracle数据库中,服务器使用LAMP实现web端的管理。

被监控主机:被监控主机需要安装agent


2 搭建Zabbix监控系统

2.1 部署LAMP环境

yum -y install httpd mariadb mariadb-server mariadb-devel  php php-mysql

yum -y install gcc gcc-c++

2.2 安装zabbix

(1)useradd zabbix

tax -xf zabbix-3.2.3.tar.gz

[root@ser56 zabbix-3.2.3]# ./configure   --prefix=/usr/local/zabbix  --enable-server --enable-agent  

--with-mysql #配置监控程序,客户端程序(对本机监控),使用mysql数据库

(--enable-proxy:开启zabbix代理功能,此选项常用于分布式监控

 --with-net-snmp : 支持 网络监控 

 --with-libcurl : 支持 curl,用于 web 监控

 --with-libxml2:开启虚拟监控)

[root@ser56 zabbix-3.2.3]#make install

[root@ser56 zabbix-3.2.3]# ls /usr/local/zabbix/

bin  etc  lib  sbin  share

bin:zabbix管理命令

etc:配置文件

lib:库文件

sbin:服务启动程序

share:帮助文件

(2)初始化配置

创建web页面

[root@ser56 zabbix-3.2.3]# cp -r frontends/php/ /var/www/html/zabbix

创建存储配置信息的库和表,并授权用户

create database zabbixdb;

grant all on zabbixdb.* to lisi@localhost identified by “123456”;

[root@ser56 zabbix-3.2.3]# ls database/mysql/

data.sql  images.sql  schema.sql    #恢复数据必须从后边的开始

[root@ser56 zabbix-3.2.3]# mysql -ulisi -p123456  zabbixdb < database/mysql/schema.sql 

[root@ser56 zabbix-3.2.3]# mysql -ulisi -p123456  zabbixdb < database/mysql/images.sql 

[root@ser56 zabbix-3.2.3]# mysql -ulisi -p123456  zabbixdb < database/mysql/data.sql 

(3)安装依赖的软件包

根据web配置页面安装依赖包

[root@ser56 ~]# vim /etc/php.ini 

878 date.timezone = Asia/Shanghai       #修改时区

[root@ser56 ~]# systemctl restart httpd

[root@ser56 zabbix]# yum -y install php-gd php-xml

[root@ser56 zabbix]# rpm -ivh --nodeps php-bcmath-5.4.45-13.el7.remi.x86_64.rpm php-mbstring-5.4.45-13.el7.remi.x86_64.rpm

[root@ser56 ~]# systemctl restart httpd

访问web页面:firefox http://ip/zabbix

Zabbix_第1张图片Zabbix_第2张图片Zabbix_第3张图片Zabbix_第4张图片Zabbix_第5张图片Zabbix_第6张图片Zabbix_第7张图片

2.3 启动zabbix监控服务

(1)创建启动脚本

[root@ser56 zabbix-3.2.3]# cp  misc/init.d/fedora/core/zabbix_server   /etc/init.d/

[root@ser56 zabbix-3.2.3]# chmod +x /etc/init.d/zabbix_server 

[root@ser56 zabbix-3.2.3]# sed -i  '22s;/usr/local;&/zabbix;' /etc/init.d/zabbix_server

(2)修改配置文件

[root@ser56 ~]# vim /usr/local/zabbix/etc/zabbix_server.conf

修改数据库库名,用户名,密码

(3)启动服务

[root@ser56 ~]# /etc/init.d/zabbix_server  start

[root@ser56 ~]# netstat -anptu | grep zabbix_server   #端口10051


2.4 监控linux机器

(1)监控远端主机

tar -xf zabbix-3.2.3.tar.gz

useradd zabbix

[root@ser51 zabbix-3.2.3]# ./configure  --prefix=/usr/local/zabbix --enable-agent

[root@ser51 zabbix-3.2.3]# make install

[root@ser52 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

Server=127.0.0.1,192.168.4.56     #允许监控服务器连接

ServerActive=192.168.4.56:10051  #指定监控服务器的ip和端口,此处为主动模式

(注意:相对于agent而言,被动模式为server主动获取agent的信息,主动模式为agent把自己的信息推送给server。一般为了减轻服务器的压力,会设置为主动模式。)

[root@ser51 zabbix-3.2.3]# cp  misc/init.d/fedora/core/zabbix_agentd /etc/init.d/   #服务的启动等放在该路径下

vim /etc/init.d/zabbix_agentd  #修改一下信息

BASEDIR=/usr/local/zabbix

/etc/init.d/zabbix.agented start  #启动agent

netstat -anptu | grep :10050       #验证端口



(2) 监控本机

[root@ser51 zabbix-3.2.3]# cp  misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

vim /etc/init.d/zabbix_agentd


2.5 监控windows机器

(1)解压,移动到目标路径下;有以下文件夹,\bin,\conf

(2)修改配置文件

LogFile=          #日志文件路径

Server=           # zabbix服务器ip地址

ServerActive= # zabbix服务器ip地址

Hostname=    # 客户端机器名

(3)安装

在\bin\win64\路径下打开cmd(shift+右键)

C:\bin\win64> zabbix_agentd.exe -c c:\conf\zabbix_agentd.win.conf  -i #安装zabbix,安装之后再服务里会有

(4)启动

C:\bin\win64> zabbix_agentd.exe -c c:\conf\zabbix_agentd.win.conf  -s

-c: 指定配置文件的路径

-s: 启动

-i :安装

-d:卸载

-x:停止

 

2.6 zabbix-proxy安装(对于分布式而言)

(1)安装maraiadb/mysql,创建存储库

(2)导入schema.sql文件到库

(3)编译安装zabbix

(4)配置zabbix_proxy.conf文件


2.7 自定义监控

(1) 使用软件自带的命令创建新的监控项

修改被监控的httpd的端口从80改为8090

a 创建主机

Zabbix_第8张图片

b 创建模版(配置--->模版--->创建新的模版)

Zabbix_第9张图片


c 创建新的应用集

Zabbix_第10张图片

d 创建监控项

Zabbix_第11张图片

e 监控主机时调用创建的新的模版

Zabbix_第12张图片

f 查看监控信息 ,监测中--->最新数据

Zabbix_第13张图片

(2)自定义监控命令创建新的监控项

a 被监控端启用自定义监控命令

[root@ser51 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

263行:Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

UnsafeUserParameters=1   #启用自定义

Format: UserParameter=, #格式,第一个参数是命令名,第二个参数是命令对应的shell命令或者脚本

b 被监控端定义监控命令

[root@ser51 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/getusers.conf

UserParameter=get_login_users,grep "/bin/bash" /etc/passwd | wc -l

c 重启服务

[root@ser51 ~]# /etc/init.d/zabbix_agentd restart

d 测试配置

/usr/local/zabbix/bin/zabbix_get --help

[root@ser51 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1  -p 10050 

-k get_login_users  #测试自定义的命令是否正确

在配置-模版-监控项-新建-键值-输入get_login_users 实现图形化监测

 

2.8 配置监控报警

发生错误如何发送邮件?

创建触发器 : 配置--主机--模版--触发器--添加

Zabbix_第14张图片

创建动作  : 配置--动作--添加--动作--操作

Zabbix_第15张图片

Zabbix_第16张图片

创建邮箱帐号:管理--用户--报警媒介--添加 (指定收件人)

Zabbix_第17张图片

指定邮件服务器:管理--报警媒介类型--添加

Zabbix_第18张图片