1、Zabbix介绍

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

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


zabbix的主要特点:

- 安装与配置简单,学习成本低

- 支持多语言(包括中文)

- 免费开源

- 自动发现服务器与网络设备

- 分布式监视以及WEB集中管理功能

- 可以无agent监视

- 用户安全认证和柔软的授权方式

- 通过WEB界面设置或查看监视结果

- email等通知功能

 

2、Zabbix程序结构

Zabbix Server:负责接受agent发送的报告信息的核心组件,所有配置、统计数据及操作数据均由其组织进行。

Database storage:专用于存储所有配置信息,以及由zabbix收集的数据

Web interface:zabbix的gui接口,通常与Server运行在同一台主机上。

Proxy:可选组件,常用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端。

Agent:部署在被监控主机上,负责收集本地数据并发往Server端或proxy端。

3、Zabbix常用术语

主机(host):要监控的网络设备,可由IP或DNS名称指定

主机组(host group):主机的逻辑容器,可以包含主机和模版,但同一组内的主机和模版不能互相链接;主机组通常在给用户或用户组指派监控权限时使用。

监控项(item):一个特定监控指标的相关数据,这些数据来自被监控对象;item是zabbix进行数据收集的核心,没有item,将没有数据;相对某监控对象来说,每个item都由key进行标识。

触发器(trigger):一个表达式,用于评估某监控对象的某特定item内所接收到的数据是否在合理范围内,即阀值;接受到的数据量大于阀值时,触发器状态从OK转变为problem,当数据再次回到合理范围时,其状态将从“problem转换到ok

事件(event):即发生一个值得关注的事情,例如触发器的状态转变,新的agent或重新上线的agent的自动注册等。

动作(action):指对特定时间事先定义的处理方法,通过包含操作(如发送通知)和条件(何时执行操作);

报警升级(escalation):发送报警或执行远程命令的自定义方案,如每隔5分钟发送一次报警,共发送5次等。

媒介(media):发送通知的手段或通道,如email,jabber或sms,script等。

通知(notification):通过选定的媒介向用户发送的有关某事件的信息

远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下自动执行

模版(template):用于快速定义被监控主机的预设条目集合,通常包含了项目,触发器,图形,应用集等等,模版可以直接链接至单个主机。

应用(application):一组item的集合

Web场景(web scennario):用于检测web站点可用性的一个或多个http请求

前端(frontend):zabbix的web接口

4、Zabbix安装配置

系统环境:

[root@varnish ~]# cat /etc/redhat-release 
CentOS release 6.6 (Final)
[root@varnish ~]# uname -r
2.6.32-504.el6.x86_64
[root@varnish ~]# uname -m
x86_64

4、1数据库安装配置

准备数据库

[root@node1 ~]# yum -y install mysql-server
[root@node1 ~]# service mysqld start

连接数据库,创建zabbix数据库和用户

[root@node1 ~]# mysql
mysql> CREATE DATABASE zabbix CHARACTER SETutf8;
mysql> GRANT ALL on zabbix.* TO'zbxuser'@'172.16.%.%' IDENTIFIED BY 'zbxpass';
mysql> FLUSH PRIVILEGES;

4、2 Zabbix server端安装配置

zabbix安装:zabbix服务器端,web管理界面,被监控端(自己监控自己)

[root@node1 zabbix-2.4.5]#yum -y install zabbix-server-2.4.5-1.el6.x86_64.rpmzabbix-server-mysql-2.4.5-1.el6.x86_64.rpm zabbix-get-2.4.5-1.el6.x86_64.rpmzabbix-2.4.5-1.el6.x86_64.rpm zabbix-web-2.4.5-1.el6.noarch.rpmzabbix-web-mysql-2.4.5-1.el6.noarch.rpm zabbix-agent-2.4.5-1.el6.x86_64.rpmzabbix-sender-2.4.5-1.el6.x86_64.rpm

将所需的软件包放到本地指定路径,统一使用yum命令安装。

 

安装完成/etc/zabbix/目录下出现如下文件

[root@node1 zabbix-2.4.5]# ll /etc/zabbix/
total 32
drwxr-x--- 2 apache apache  4096 May 26 21:03 web
-rw-r--r-- 1 root  root    7904 Apr 23 11:13 zabbix_agentd.conf
drwxr-xr-x 2 root  root    4096 May 26 21:03 zabbix_agentd.d
-rw-r----- 1 root  zabbix 13543 Apr 23 11:13 zabbix_server.conf

导入zabbix数据库

[root@node1 zabbix-2.4.5]# cd/usr/share/doc/zabbix-server-mysql-2.4.5/create/
[root@node1 create]# mysql zabbix < schema.sql
[root@node1 create]# mysql zabbix < p_w_picpaths.sql
[root@node1 create]# mysql zabbix < data.sql

导入完成登录数据库查看,就会出现一堆的表

mysql> use zabbix;
mysql> show tables;
+-----------------------+
| Tables_in_zabbix      |
+-----------------------+
| acknowledges          |
| actions               |
| alerts                |
| application_template  |
内容有截取……
| users_groups          |
| usrgrp                |
| valuemaps             |
+-----------------------+
104 rows in set (0.00 sec)

修改zabbix配置文件,指定数据库相关操作。

[root@node1 ~]# vim /etc/zabbix/zabbix_server.conf
73 DBHost=172.16.4.100
83 DBName=zabbix
99 DBUser=zbxuser
108 DBPassword=zbxpass
116 DBSocket=/tmp/mysql.sock

说明:前面的数字是行号

 

设置完成启动zabbix服务

[root@node1 ~]# service zabbix-server start
[root@node1 ~]# netstat -lntp | grep 10051
tcp       0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      37241/zabbix_server
tcp       0      0 :::10051                    :::*                        LISTEN     37241/zabbix_server

4、3 配置web

配置之前需要在php.ini配置文件中指明时区:

[root@node1 ~]# vim /etc/php.ini
date.timezone = Asia/Shanghai
[root@node1 ~]# service httpd restart

输入zabbix服务器的地址,后面加上zabbix就可以打开zabbix的web页面

检查环境,是否满足安装要求

测试与数据库的连接

设置连接zabbix服务器的相关信息

检测设置有没有问题,没有问题就安装

表示安装完成了,配置文件时/etc/zabbix/web/zabbix.conf.php

这个时候就可以登录了,用户名admin,密码zabbix

登录后出现如下页面,表示web页面正常

Zabbix主菜单功能介绍

Monitoring:与“监控”功能相关的页面大多都在此处,如graphs、triggers、screens、及maps等。

Inventory:主机资产清单。

Reports:提供强大且直观报告功能。

Configuration:监控系统的所有配置功能均位于此处,例如定义主机组、模版、主机等。

Administration:与zabbix自身相关功能,如认证方法、用户、权限、脚本、媒介类型、审计、通知及全局配置等。

4、3 配置zabbix可以监控自己

修改agent配置文件,设置zabbix服务器地址

[root@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf
85 Server=127.0.0.1,172.16.4.100           #设置zabbix服务器端地址
126 ServerActive=127.0.0.1,172.16.4.100    #主动发起请求给服务器端,服务器端的地址
137 Hostname=node1                         #主动联系zabbix服务器时,告诉服务器的主机名,需全局唯一

设置完成启动服务

[root@node1 ~]# service zabbix-agent start
[root@node1 ~]# netstat -lntp | grep 10050
tcp       0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      38376/zabbix_agentd
tcp       0      0 :::10050                    :::*                        LISTEN      38376/zabbix_agentd

web界面设置,在configuration--> hosts 中,点击disabled即可启用对本机的监控

监控成功如下所示:

查看出图:在monitoring --> graphs中选择对应的主机和对应的graph即可看到图形,只不过由于监控时间过短还没有生成图形

还可以通过monitoring --> screens查看图形信息

5、设置web界面中文显示

点击zabbix的web页面最上方的profile就可以打开中文选择页面


选择中文

设置完成之后会到首页查看一些原本英文显示的内容都已经显示为了中文

6、解决图片乱码问题

状况如下:

解决方法:复制Windows主机的一种中文字体到zabbix服务器

使用Xftp上传字体到zabbix服务器,复制字体到/usr/share/zabbix/fonts/目录,后缀需要修改为ttf

[root@node1 ~]# cp simsun.ttc/usr/share/zabbix/fonts/simsun.ttf

修改zabbix的配置文件,应用复制的字体

[root@node1 ~]# vim/usr/share/zabbix/include/defines.inc.php
//define('ZBX_FONT_NAME', 'graphfont');
define('ZBX_FONT_NAME', 'simsun');
//define('ZBX_GRAPH_FONT_NAME',         'graphfont'); // font file name
define('ZBX_GRAPH_FONT_NAME',           'simsun'); // font file name

设置完成之后,只需要刷新web页面,就可以看到图片中的中文正常显示了


相关内容:

(1)Zabbix2.4.5安装配置:http://ximenfeibing.blog.51cto.com/8809812/1670988

(2)Zabbix客户端监控+报警:http://ximenfeibing.blog.51cto.com/8809812/1670999

(3)Zabbix宏设置:http://ximenfeibing.blog.51cto.com/8809812/1671024

(4)使用zabbix监控web:http://ximenfeibing.blog.51cto.com/8809812/1671032

(4)Zabbix用户参数配置:http://ximenfeibing.blog.51cto.com/8809812/1671039

(6)Zabbix模版+网络发现:http://ximenfeibing.blog.51cto.com/8809812/1671041

(7)Zabbix分布式监控proxy实现:http://ximenfeibing.blog.51cto.com/8809812/1671048