首页 > 代码库 > Zabbix3.0安装部署最佳实践

Zabbix3.0安装部署最佳实践

Zabbix介绍

 

1.1zabbix 简介

  Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利

  zabbix是一个基于Web界面的,提供分布式系统监控以及网络监视功能的企业级的开源解决方案。

  zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题

  zabbix主要由2部分构成zabbix server和zabbix agent,可选组建zabbix proxy

  zabbix server可以通过SNMP,zabbix agent,fping端口监视等方法对远程服务器或网络状态完成监视,数据收集等功能。同时支持Linux以及Unix平台,Windows平台只能安装客户端

1.2Zabbix 功能

  ①具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库、性能监控、FTP 等通用协议监控、多种告警方式、详细的报表图表绘制)②支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现)

  ③支持自动发现(low discovery)key 实现动态监控项的批量监控(需写脚本)

  ④支持分布式,能集中展示、管理分布式的监控点

  ⑤扩展性强,server 提供通用接口(api 功能),可以自己开发完善各类监控(根据相关接口编写程序实现)编写插件容易,可以自定义监控项,报警级别的设置。

  ⑥数据收集

 可用和性能检测

 支持snmp(包括trapping and polling),IPMI,JMX,SSH,TELNET

 自定义的检测

 自定义收集数据的频率

 服务器/代理和客户端模式

 灵活的触发器

 可以定义非常灵活的问题阈值,称为触发器,从后端数据库的参考值

 高可定制的报警

 发送通知,可定制的报警升级,收件人,媒体类型

 通知可以使用宏变量有用的变量

 自动操作包括远程命令

 实时的绘图功能

 监控项实时的将数据绘制在图形上面

 WEB 监控能力

 ZABBIX 可以模拟鼠标点击了一个网站,并检查返回值和响应时间

1.3Api 功能

应用api功能,可以方便的和其他系统结合,包括手机客户端的使用。

更多功能请查看

http://www.zabbix.com/documentation.php

1.4Zabbix优缺点

优点

 1、开源,无软件成本投入

 2、Server 对设备性能要求低

 3、支持设备多,自带多种监控模板

 4、支持分布式集中管理,有自动发现功能,可以实现自动化监控

 5、开放式接口,扩展性强,插件编写容易

 6、当监控的item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从

 7、server 端去下载需要监控的item 然后取数据上传到server 端。这种方式对服务器的负载比较小。

 8、Api 的支持,方便与其他系统结合

缺点

  需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。

 

Zabbix监控原理

 

  Zabbix 通过C/S 模式采集数据,通过B/S模式在web 端展示和配置。

被监控端:主机通过安装agent 方式采集数据,网络设备通过SNMP 方式采集数据

Server 端:通过收集SNMP 和agent 发送的数据,写入数据库(MySQL,ORACLE 等),再通过php+apache 在web 前端展示。

 

Zabbix 运行条件

 

Server:Zabbix Server 需运行在LAMP(Linux+Apache+Mysql+PHP)环境下(或者LNMP),对硬件要求低

Agent:目前已有的agent 基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、

windows

SNMP:支持各类常见的网络设备

SNMP(Simple Network Management Protocol,简单网络管理协议

Zabbix监控过程逻辑图 

技术分享

1.1Zabbix环境准备

[root@linux-node1 ~]# cat /etc/redhat-release #查看系统版本

CentOS Linux release 7.2.1511 (Core)

[root@linux-node1 ~]# uname -r #查看内核版本

3.10.0-327.18.2.el7.x86_64

[root@linux-node1 ~]# getenforce #检测selinux是否关闭

Disabled

[root@linux-node1 ~]# systemctl stop firewalld #关闭firewall防火墙

[root@linux-node1 ~]# ifconfig eth0|awk -F ‘[ :]+‘ ‘NR==2{print $3}‘ #查看IP地址

192.168.230.130

[root@linux-node1 ~]# hostname #查看主机名

linux-node1.com

1.2Zabbix安装

Zabbix存储配置包以及yum配置文件。

rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

Zabbix程序包安装,以及MySQL、Zabbix-agent

[root@linux-node1 ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agentmariadb-server

1.3初始数据库

创建Zabbix数据库以及用户。对这样的说明,参考MySQL数据库创建脚本

https://www.zabbix.com/documentation/3.0/manual/appendix/install/db_scripts

[root@linux-node1 ~]# systemctl start mariadb
[root@linux-node1 ~]# mysql -uroot -p
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by zabbix;
Query OK, 0 rows affected (0.00 sec)
导入初始模式和数据
[root@linux-node1 ~]# cd /usr/share/doc/zabbix-server-mysql-3.0.3/
[root@linux-node1 zabbix-server-mysql-3.0.3]# zcat create.sql.gz |mysql -uroot zabbix

1.4Zabbix服务器进程启动

在Zabbix_server.conf编辑数据库配置

[root@linux-node1 ~]# grep  ^[a-Z]  /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

启动Zabbix服务器进程

[root@linux-node1 ~]#  systemctl start zabbix-server

1.5编辑Zabbix前端PHP配置

Apache的配置文件/etc/httpd/conf.d/zabbix.conf一些PHP设置已经配置好了。取消注释,设置正确的时区

[root@linux-node1 ~]# vim /etc/httpd/conf.d/zabbix.conf
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

通过改变配置文件重新启动Apache Web服务器

[root@linux-node1 ~]# systemctl start httpd
[root@linux-node1 ~]# systemctl enable httpd

安装Zabbix Web界面

2.1步骤1

在你的浏览器,打开网址http://Zabbix_server_ip/zabbix。

点击下一步Next step,输入设置的数据库用户跟密码,以及检测zabbix的先决条件等,

完成安装,会在/etc/zabbix/web/zabbix.conf.php生成配置文件。

Zabbix登陆准备。 默认的用户名/密码为Admin/zabbix

技术分享

点击Next step进行安装

技术分享

首先要确保没有no,如果时区没有改好会提示我们进行修改

技术分享

账号密码都是我们刚刚在配置文件中设置的,端口默认就是3306

为我们的zabbix起个名字,一会在右上角会显示

技术分享

最后是展示我们的配置信息,可以查看到哪里有错误

点击Finish

技术分享

技术分享

提示:上去之后请立即修改密码

2.2配置zabbix-agent

[root@linux-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1 修改Server端的IP地址(被动模式IP地址)
ServerActive=127.0.0.1 主动模式,主动向server端报告
Hostname如果不以主机名命名我们可以设置其它名字
默认是
Hostname=Zabbix server
[root@linux-node1 ~]# systemctl start zabbix-agent
[root@linux-node1 ~]# systemctl enable zabbix-server #开机自启动
[root@linux-node1 ~]# systemctl enable zabbix-agent

技术分享

10051为server端口,10050为agent端口

2.3Web界面配置

找到Configuration---->Hosts添加一台监控主机

技术分享

 

技术分享

开启后,如果出现错误我们可以看一下zabbix的日志

[root@inux-node1 ~]# ls /var/log/zabbix/zabbix_

zabbix_agentd.log zabbix_server.log

刷新后,当ZBX变成绿色的时候,说明监控成功。

技术分享

 

Zabbix3.0安装部署最佳实践