zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题。
Zabbix支持多种网络方式下的监控,可以通过分布式的部署和安装监控代理Zabbix,通过C/S模式采集数据,通过B/S模式在Web端展示和配置。Zabbix Agent监控端口10050。
(1).zabbix的主要特点
安装配置简单,学习成本低,支持多语言(包括中文),免费开源,自动发现服务器与网络设备分布式监视,Web集中管理,可以无agent监视,用户安全认证和柔软的授权方式,通过Web设置或查看监视结果,email等功能。
(2).zabbix的主要功能
监控CPU负载、内存使用、磁盘使用、网络状态、端口监控、日志监控、插件开发自定义
(3).zabbix运行机制
zabbix由zabbix server与可选组件zabbix agent两部分组成。
Zabbix Server 可以通过 SNMP,Zabbix agent,Ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集功能,可以在运行 Linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD,OS X,Windows多平台。
Zabbix Agent 安装在需要被监控的目标服务器上,主要完成对硬件信息与操作系统有关的内存,CPU 等信息收集。
Zabbix Server可以单独监视远程服务器的服务状态,同时也可以与Zabbix Agent结合。可以轮询Zabbix Agent主动接收监视数据(trapping传递 方式),同时还可以被动接收Zabbix Agent发送的数据。
(4).准备安装包和部署环境
注意:日志文件在/tmp/目录下。
下载Zabbix的源码包:Download Zabbix sources。注意下,下载提供了两种版本:LTS版和标准版。LTS是长期支持(Long Term Support)的缩写,Zabbix将为客户提供5年的支持服务。前三年完全支持与后两年有限制支持。前三年包括一般、关键、安全性问题解决,后两年包括关键、安全性问题解决。超出时间不提供技术支持服务;标准版只提供6+1月支持。
现在自己电脑上的C:\Windows\Fonts目录下查看是否存在微软雅黑字体,如果有上传一份(ttf格式),如果没有网上下载微软雅黑字体的ttf格式文件。
Zabbix自带了数据库导入包,其中包括ibm_db2、mysql、oracle、postgresql和sqlite3。但是Web界面只提供了PHP。所以我这里选择在LNMP环境下部署。
(5).Zabbix监控端部署
主机名:youxi1 IP地址:192.168.5.101 环境:LNMP(Mysql5.7.19、PHP7.1.24)
在Zabbix监控服务器上部署Zabbix Server和Zabbix Agent(监控本身)。
1)解压文件,进行数据库操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
2)创建zabbix用户
1 |
|
也可以groupadd zabbix && useradd -s /sbin/nologin -g zabbix zabbix。
3)安装依赖包
1 |
|
4)编译安装Zabbix
1 2 3 4 5 6 7 8 |
|
参数说明:
--prefix 指定路径
--enable-server 支持Zabbix Server
--enable-agent 支持Zabbix Agent
--with-mysql 指定mysql库,可以选择自定义路径mysql_config。mysql_config是脚本文件,用于编译 mysql 客户端程序。
--with-net-snmp 支持SNMP协议(简单网络管理协议),需要依赖包net-snmp-devel
--libcurl libcurl库,libcurl当前支持http, https, ftp, gopher, telnet, dict, file,和ldap 协议
其他参数:
--enable-proxy 支持Zabbix proxy,一般代理服务器才会启用。
zabbix proxy 是一个监控代理服务器,它收集到监控数据,先存放在缓冲区(保存时间可以通过配置文件设置),然后再发送到 zabbix server。监控代理服务需要一个独立的数据库。用 zabbix proxy的好处:进程监控,当监控的位置通信不便时或当通讯上千台设备的时候,使用zabbix_proxy可以简化维护分布式监控,降低 zabbix server 的负载。
5)修改Zabbix Server的配置信息
1 2 3 4 5 6 7 |
|
6)修改Zabbix Agent的配值信息
1 2 3 4 5 6 |
|
Server和ServerActive都是指向Zabbix Server服务器,但前者使用于被动模式(Zabbix Agent被动等待连接),后者使用于主动模式(Zabbix Agent主动连接Zabbix Server)。
UnsafeUserParameters里的特殊字符包括\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
7)启动Zabbix,并加入开机自启
启动Zabbix Server时如果报错信息如下,这是找不到mysql文件中的libmysqlclient.so.20,则将地址添加到/etc/ld.so.conf
1 2 3 4 5 |
|
之后再启动,并加入开机自启
1 2 3 4 5 6 7 8 9 |
|
另外,官方非常贴心的准备了启动脚本,所以也可以使用启动脚本来管理Zabbix
1 2 3 4 5 6 7 8 |
|
8)复制Zabbix的php界面到指定目录,配置并重启nginx、Zabbix Server、php-fpm
目录可以是nginx的默认目录,也可以是nginx里自定义的目录
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
9)使用Web页面配置
A.输入地址后应该显示如下页面
B.按Next step(下一步),出现如下界面,此时需要检测全部通过,才能下一步
可以根据提示一步步修改:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
如果底下有一个PHP LDAP提示的Warning,这是由于在编译php时没有添加LDAP模块,需要添加这个模块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
刷新界面,如果全部ok就可以点击下一步了
C.之后会出现如下界面,设置好后,点击下一步
D.出现如下页面,默认即可。设置的是Zabbix Server服务器的主机名或IP地址、端口号、安装名称。下一步
E.出现如下页面,这个页面是用于检查配置参数的。检测完成后下一步
F.如下界面一般都会有,只需下载文件上传到指明的地址
上传完成后刷新页面,如果出现如下页面则通过检测,按Finish结束
G.最后跳转登录页面,默认用户名admin,密码zabbix
H.成功登录后,可以在右上角的
修改语言。Chinese(zh_CN),然后Update
I.尝试监控本机。
首先,启用自动发现
然后,启用Zabbix server的监控
启用之后等待几分钟,刷新页面,在可用性中必须至少有一个是绿色状态。如果可用性都是灰色,查看下Zabbix Agent是不是没有启动。
最后就可以查看了
J.解决中文图形出现方块字
1 2 3 |
|
然后刷新页面