安装环境概述 

       Zabbix服务器运行的环境为 Linux(UNIX)+PHP+Web Service+DataBase,这里的 Web Service 可以为 Nginx、Apache,DataBase 可以为MySQL、Oracle、PostgreSQL 等;

       对于硬盘的 要求,建议采用 SAS 硬盘 RAID10,因为其性能安全很好。当然,实际环境中也 有可能采用虚拟机来搭建 Zabbix 监控系统环境。在整个 Zabbix 监控系统的搭建 和维护中,磁盘 I/O、数据库性能将成为整个监控系统运行良好的关键因素;

         Zabbix-Server 的数据库大小取决于 NVPS

    (1)历史数据的保存 

       NVPS 值是每秒处理的平均数量,假设有 60000 个监控项,刷新周期为 60 秒, 那么每秒需要处理的数据为 60000/60=1000(条),表示此时每秒将会向数据库中 新增 1000 条数据,这些数据根据设置的历史存储时间保存。例如,保存周期为 90 天,每秒处理 1000 条,计算方法为: 历史数据大小=天数×每秒处理的数据×一天 24 小时×一小时 3600 秒×50Bytes 则需要占用的空间为: (90×24×3600)×1000×50=388 800 000 000(B)(约 362GB,假设保存为一年, 则有 362×4=1448GB

     (2)趋势数据的保存 每一个 Items 趋势的数据大约为 128B,这取决于数据库类型。 假设有 60 000 个 Items,保存一年的趋势数据,其计算方法为: 趋势数据大小=监控项×每天 24 小时×一年 365 天×128B 则需要的空间为: 60 000×24×365×128=67 276 800 000B(约 67GB) ;     

       趋势数据一小时获取一次,一般情况下,趋势数据一条记录大概占用 128字节,如果我们想保存5年趋势数据,3
000个监控线需要2.4GB(3000个*24小时*356 天*128字节)每年,5年一共16.8G 

事件数据的保存 每个事件占用 130 B 空间,假设保存一年,则需要的空间为: 1×24×3600×365×130=4 099 680 000B(约 4GB) 即60 000个监控项,周期为60秒更新数据,保存一年需要362+67+4=443 (GB) 磁盘空间,实际上,比这占用得更多,需要保存其他更多的数据,因此,应该会 超过 500GB 的数据空间

总共需要的磁盘空间大小计算公式为: Total space=Configuration + History + Trends + Events 

数据库硬盘空间=配置文件大小+历史记录+趋势记录+事件记录

 

      Zabbix 提供了网络自动发现功能,该功能可以基于 FTP、SSH、Web、 LDAP、POP3、IMAP、SMTP、TCP、SNMP、Telnet、zabbix_agent , IP 存活,而是否添加到监控,是由 Actions 来决定的。

       Zabbix支持polling和trapping两种方式. 所有的Zabbix报告都可以通过配置参数在WEB前端进行访问.
       Web 前端将帮助你在任何区域都能够迅速获得你的网络及服务状况. Zabbix 可以通过尽可能的配置来扮演
监控你的IT基础框架的角色,而不管你是来自于小型组织还是大规模的公司.

  Zabbix是零成本的. 因为 Zabbix编写和发布基于GPL V2协议. 意味着源代码是免费发布的

 默认情况下 zabbix 包含 5 个程序:zabbix_agent、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装

 zabbix_agentd 
客户端守护进程,此进程收集客户端数据,例如cpu 负载、内存、硬盘使用情况等 
 
 zabbix_get 
zabbix 工具,单独使用的命令,通常在 server 或者 proxy 端执行获取远程客户端信息的命令。通常用户排
错。例如在 server 端获取不到客户端的内存数据,我们可以使用 zabbix_get 获取客户端的内容的方式来做故障
排查。 
 
 zabbix_sender 
zabbix工具,用于发送数据给server 或者 proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致
zabbix 超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。 
 zabbix_server 
zabbix 服务端守护进程。zabbix_agent、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_jav
a_gateway的数据最终都是提交到server 

备注:当然不是数据都是主动提交给zabbix_server,也有的是server 主动去取数据。 
 
zabbix_proxy 
zabbix 代理守护进程。功能类似 server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交到server里

 
zabbix_java_gateway 
zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注
意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到 server或者proxy。

 



 数据库空间计算公式 

zabbix 配置:固定大小,一般<10MB 
历史数据:天数*(监控项总数/刷新频率)*24小时*3600 秒*50字节 
趋势数据:天数*(监控项总数/3600)*24小时*3600秒*128字节 
事件数据:天数*事件个数(大概值)*24小时*3600 秒*130字节 

 

Zabbix-Server 需要的软件环境 

 依赖的软件包 

OpenIPMI                             如需支持 IPMI

libssh 2                                 如需支持 SSH,则需要 libssh 1.0 或更高版本

fping                                      ICMP ping 的支持

libcurl                                   Web 监控

libiksemel                               Jabber 告警介质

net-snmp                              SNMP 的支持 
 

时间同步

请确保你所有的服务器时间都是正确的,为了确保时间 ok,请在 crontab 里面加上定时
时间同步。 
# crontab -l 00 00  * * *    /usr/sbin/ntpdate -u 195.13.1.153 

 

Zabbix-Server 对时间的精准要求比较高,

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

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

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

 

 



Zabbix安装

配置系统

1、调整系统时间

ntpdate ntp1.aliyun.com

2、调整系统时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

3、关闭selinux

不关闭seliunx会出现权限问题,建议关闭

setenforce 0

vim /etc/selinux/config

SELINUX=disabled

安装步骤

1、安装Zabbix的yum源

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

2、安装zabbix

yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

3、安装mariadb数据库,并且启动

yum install -y  mariadb-server

systemctl start mariadb.service

刚刚安装的root账号没有密码,需要自行修改和管理账号

4、初始化zabbix数据库和创建访问账号

mysql -uroot -p 

password

create database zabbix character set utf8 collate utf8_bin;

grant all privileges on zabbix.* to zabbix@localhost identified by 'password';

5、将zabbix的sql文件导入到数据库中

zcat /usr/share/doc/zabbix-server-mysql-3.0.14/create.sql.gz | mysql -uzabbix -p zabbix

6、配置zabbix server连接数据库

vim /etc/zabbix/zabbix_server.conf

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

7、配置zabbix时区

vim /etc/httpd/conf.d/zabbix.conf

在<IfModule mod_php5.c>中添加

php_value date.timezone  Asia/Shanghai

或者使用sed命令

sed -i.ori '18a php_value date.timezone  Asia/Shanghai' /etc/httpd/conf.d/zabbix.conf

8、启动zabbix server服务

systemctl start zabbix-server

systemctl start httpd

9、写入开机启动

chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start mariadb.service
systemctl start httpd
systemctl start zabbix-server
EOF

10、输出访问

echo "浏览器访问 http://`hostname -I|awk '{print $1}'`/zabbix"

11、中文乱码解决

yum -y install wqy-microhei-fonts

\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

12、防火墙处理

如果系统开启了防火墙需要打开相应的端口

80端口开放:

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --reload

13、zabbix web 安装

13.1、打开浏览器输入 http://ip/zabbix

zabbix安装agent zabbix安装要求_数据

13.2、下一步进行检测信息,看具体报错进行相应解决

zabbix安装agent zabbix安装要求_开发工具_02

13.3、下一步,配置数据库

zabbix安装agent zabbix安装要求_运维_03

13.4、配置zabbix server,name 自定义

zabbix安装agent zabbix安装要求_zabbix安装agent_04

13.5、信息确定

zabbix安装agent zabbix安装要求_运维_05

 

13.6、配置完成

zabbix安装agent zabbix安装要求_zabbix安装agent_06

13.7、登录,账号/密码:Admin/zabbix

 



客户端安装

1、安装zabbix yum源

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

2、安装客户端agent

yum install zabbix-agent -y

3、配置agent配置

4、启动服务

systemctl start  zabbix-agent.service

5、设置为开机启动

chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start  zabbix-agent.service

EOF

 



检测连通性工具

注意:只能在服务端进行测试

1、安装检测工具

yum install zabbix-get

2、在服务端进行测试

测试本地服务的agent连接

zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"