Zabbix是一个基于WEB界面的供应分布式系统监控的企业级的开源办理方案,Zabbix能监视各种网络参数,担保做事器系统的安全稳定的运行,并供应灵巧的关照机制以让SA快速定位并办理存在的各种问题。Zabbix分布式监控系统的优点如下:
1)支持自动创造做事器和网络设备;
2)安装与配置大略,学习本钱低

3)支持多措辞(包括中文)
4)免费开源
5)可以无agent监视
6)用户安全认证和优柔的授权办法
7)通过WEB界面设置或查看监视结果
8)支持底层自动创造;
9)分布式的监控体系和集中式的WEB管理;
10)支持主动监控和被动监控模式;
11)做事器端支持多种操作系统:Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, MAC等;
12)Agent客户端支持多种操作系统:Linux, Solaris, HP-UX, AIX, FreeBSD,Windows等;
13)基于SNMP、IPMI接口办法也可以监控Agent;
14)安全的用户认证及权限配置;
15)基于WEB的管理方法,支持自由的自定义事宜和邮件发送;
16)高水平的业务视图监控资源,支持日志审计,资产管理等功能;
17)支持高水平API二次开拓、脚本监控、自Key定义、自动化运维整合调用。
二、Zabbix监控组建及流程
Zabbix监控组建如图1所示,紧张由三大组件,分别是Zabbix server端、Zabbix Proxy、Agent客户端,个中Zabbix Server端包括:WEB GUI、Database、Zabbix_Server。如图所示
1
Zabbix监控系统详细监控系统流程如图所示:
2
Zabbix监控完全流程包括:Agentd安装在被监控的主机上,Agent卖力定期网络客户端本地各项数据,并发送到Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。
当Zabbix监控某个详细的项目,该项目会设置一个触发器阀值,当被监控的指标超过该触发器设定的阀值,会进行一些必要的动作,动作包括:邮件、微信报警或者实行命令等操作。如下为Zabbix完全监控系统,各个部分卖力的事情:
1)Zabbix Server:卖力吸收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行;
2)Database Storage:专用于存储所有配置信息,以及存储由Zabbix网络到的数据;
3)Web interface:Zabbix的GUI接口,常日与Server运行在同一台主机上;
4)Proxy:常用于分布监控环境中,代理Server网络部分被监控真个监控数据并统一发往Server端;
5)Zabbix Agent:支配在被监控主机上,卖力网络本地数据并发往Server端或Proxy端;
Zabbix监控支配在系统中,会包含常见的四个程序:zabbix_server 、zabbix_get、zabbix_agentd 、zabbix_proxy、zabbix_sender等。四个程序启动后分别对应四个进程,如下为每个进程的功能:
1)Zabbix_server:Zabbix做事端守护进程,个中zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy的数据终极均是提交给Zabbix_Server;
2)Zabbix_Agentd:客户端守护进程,卖力网络客户端数据,例如网络cpu负载、内存、硬盘利用情形等;
3)Zabbix_get:Zabbix数据获取工具,单独利用的命令,常日在server或者proxy端实行获取远程客户端信息的命令;
4)Zabbix_sender:zabbix数据发送工具,用于发送数据给server或者proxy,常日用于耗时比较长的检讨。很多检讨非常耗韶光,导致zabbix超时。于是我们在脚本实行完毕之后,利用sender主动提交数据;
5)Zabbix_proxy:zabbix分布式代理守护进程,分布式监控架构须要支配Zabbix_Proxy。
三、Zabbix监控办法及数据采集
Zabbix分布式监控系统监控客户真个办法常见有三种,分别是Agent办法、SNMP、IPMI办法,三种办法特点如下:
1)Agent:Zabbix可以基于自身zabbix_agent客户端插件监控OS的状态,例如CPU、内存、硬盘、网卡、文件等。
2)SNMP:Zabbix可以通过大略网络管理协议(Simple Network Management Protocol,SNMP)协议监控网络设备或者windows主机等,通过设定SNMP的参数将干系监控数据传送至做事器端,交流机、防火墙等网络设备一样平常都支持SNMP协议。
3)IPMI:智能平台管理接口(Intelligent Platform Management Interface,IPMI)即紧张运用于设备的物理特性,包括:温度、电压、电扇事情状态、电源供应以及机箱入侵等。IPMI最大的上风在于无论OS在开机还是关机的状态下,只要接通电源就可以实现对做事器的监控。
Zabbix监控客户端分为主动监控与被动监控,主被动模式以客户端为参照,Zabbix监控客户端默认为被动模式,可以修正为主动模式,只须要在客户端配置文件中添加。可以关闭被动模式的方法:在配置文件中加入 StartAgents=0,即为关闭被动模式。主被动监控模式差异如下:
1)Zabbix主动模式:Agent主动要求server获取主动的监控项列表,并主动将监控项内须要检测的数据提交给server/proxy,zabbix agent首先向ServerActive配置的IP要求获取active items,获取并提交active tiems数据值server或者proxy;
2)Zabbix被动模式:Server向agent要求获取监控项的数据,agent返回数据,Server打开一个TCP连接,Server发送要求agent.ping,Agent吸收到要求并且相应,Server处理吸收到的数据。
四、Zabbix监控观点
Zabbix监控系统包括很多监控观点,节制Zabbix监控观点能对Zabbix监控快速的理解,如下为Zabbix常用术语及阐明。
主机(host): #被监控的网络设备,可以写IP或者DNS;
主机组(host group): #主机组用于管理主机,可以批量设置权限;
监控项(item): #详细监控项,items值有独立的keys进行识别;
触发器(trigger): #为某个items设置触发器,达到触发器会实行action动作;
事宜(event): #例如达到某个触发器,称之为一个事宜;
动作(action): #对付特定事宜事先定义的处理方法,默认可以发送信息及发送命令;
报警升级(escalation): #发送警报或实行远程命令的自定义方案,如隔5分钟发送一次警报,共发送5次等。
媒介(media): #发送关照的办法,可以支持Mail、SMS、Scripts等;
关照(notification): #通过设置的媒介向用户发送的有关某事宜的信息;
远程命令 达到触发器,可以在被监控端实行命令;
模板(template): #可以快速监控被监控端,模块包含:item、trigger、graph、screen、application;
web场景(web scennario) #用于检测web站点可用性,监控HTTP关键词;
web前端(frontend): #Zabbix的web接口;
图形(graph) #监控图像;
屏幕(screens) #屏幕显示;
幻灯(slide show) #幻灯显示。
五、Zabbix监控平台支配
操作环境:Centos 6.9
1)安装lamp环境、扩展,实行以下命令
[root@localhost ~]# yum -y install gcc gcc-c++ wget httpd httpd-devel httpd-tools curl curl-devel php php-devel php-mysql net-snmp net-snmp-devel perl-DBI mysql mysql-server mysql-devel make
2)下载zabbix源码包
[root@localhost ~]# wget zabbix/zabbix-3.2.9.tar.gz
#解压
[root@localhost ~]# tar zxf zabbix-3.2.9.tar.gz
3)预编译、编译、安装
[root@localhost ~]# cd zabbix-3.2.9
[root@localhost zabbix-3.2.9]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
[root@localhost zabbix-3.2.9]# make && make install
4)启动数据库,建立zabbix库并授权
[root@localhost zabbix-3.2.9]# service mysqld start
mysql> create database zabbix charset=utf8;
mysql> grant all on zabbix. to zabbix@'localhost' identified by '123456';
mysql> flush privileges;
5)导入数据到zabbix库
[root@localhost zabbix-3.2.9]# cd database/mysql
[root@localhost mysql]# mysql -uzabbix -p123456 zabbix < schema.sql
[root@localhost mysql]# mysql -uzabbix -p123456 zabbix < images.sql
[root@localhost mysql]# mysql -uzabbix -p123456 zabbix < data.sql
6)备份配置文件
[root@localhost mysql]# cd /usr/local/zabbix/etc/
[root@localhost etc]# \cp zabbix_server.conf zabbix_server.conf.back
7)编辑zabbix_server.conf配置文件
[root@localhost etc]# vim zabbix_server.conf,保留以下选项
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
8)设置为系统做事并授权
[root@localhost etc]# \cp /root/zabbix-3.2.9/misc/init.d/tru64/zabbix_server /etc/init.d/
[root@localhost etc]# chmod o+x /etc/init.d/zabbix_server
9)拷贝zabbix数据文件到Apache发布目录下
[root@localhost etc]# cp -a /root/zabbix-3.2.9/frontends/php/ /var/www/html/
10)由于zabbix3.2.9须要php5.4版本以上,默认自带5.3.3(会报500或者打不开网页等缺点信息)
[root@localhost etc]# rpm -Uvhhttp://repo.webtatic.com/yum/el6/latest.rpm
卸载php
[root@localhost etc]# yum -y remove php
安装php5.6
[root@localhost etc]# yum -y install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-mbstring php56w-bcmath php56w-gd php56w-xml gd gd-devel --skip-broken
11)建立zabbix用户(启动须要),软连接(启动须要)
[root@localhost etc]# useradd -s /sbin/nologin zabbix
[root@localhost etc]# ln -s /usr/local/zabbix/sbin/ /usr/local/sbin
12)启动httpd、zabbix_server、关闭防火墙、selinux
[root@localhost etc]# service httpd restart
[root@localhost etc]# service zabbix_server restart
[root@localhost etc]# service iptables stop
[root@localhost etc]# setenforce 0
添加开机自启动
[root@localhost etc]# chkconfig --add httpd
[root@localhost etc]# chkconfig httpd on
[root@localhost etc]# chkconfig --add mysqld
[root@localhost etc]# chkconfig mysqld on
13)打开浏览器访问本机IP(192.168.60.92),设置zabbix web管理界面安装配置,点击next step,如下图
3
14)点击next step,涌现以下页面,如图
4
15)编辑php.ini,修正以下参数
[root@localhost etc]# sed -i 's/post_max_size = 8M/post_max_size = 16M/' /etc/php.ini
[root@localhost etc]# sed -i 's/max_execution_time = 30/max_execution_time = 300/' /etc/php.ini
[root@localhost etc]# sed -i 's/max_input_time = 60/max_input_time = 300/' /etc/php.ini
[root@localhost etc]# sed -i 's/;date.timezone =/date.timezone = Asia\/Shanghai/' /etc/php.ini
[root@localhost etc]# sed -i 's/;always_populate_raw_post_data = -1/always_populate_raw_post_data = -1/' /etc/php.ini
保存退出,重启Apache
[root@localhost etc]# service httpd restart
16)刷新浏览器,如下图,点击next step
5
17)输入数据库名、用户、密码、端口,点击next step,如下图
6
18)填写Zabbix Title显示,可以为空,可以输入自定义的名称
7
8
9
19)需修创建zabbix.conf.php文件,实行如下命令
[root@localhost etc]# chmod o+w /var/www/html/conf
刷新浏览器,如下图
10
20)访问zabbix web界面,默认用户名和密码为:admin/zabbix
11
21)默认是英文,修正成中文,如下图
12
13
分享完成,感激支持,多评多转
现做IDC售前业务,司有“独立做事器机房托管“,”华为云”等做事器托管运维业务,感兴趣的可私信。
对Linux感兴趣的小伙伴私信“Linux资料”,免费获取视频文档资料。