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安装配置
4、1数据库安装配置
准备数据库
[[email protected] ~]# yum -y install mysql-server [[email protected] ~]# service mysqld start
连接数据库,创建zabbix数据库和用户
[[email protected] ~]# 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管理界面,被监控端(自己监控自己)
[[email protected] 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/目录下出现如下文件
[[email protected] 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数据库
[[email protected] zabbix-2.4.5]# cd/usr/share/doc/zabbix-server-mysql-2.4.5/create/ [[email protected] create]# mysql zabbix < schema.sql [[email protected] create]# mysql zabbix < images.sql [[email protected] 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配置文件,指定数据库相关操作。
[[email protected] ~]# 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服务
[[email protected] ~]# service zabbix-server start [[email protected] ~]# 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配置文件中指明时区:
[[email protected] ~]# vim /etc/php.ini date.timezone = Asia/Shanghai [[email protected] ~]# 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服务器地址
[[email protected] ~]# 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服务器时,告诉服务器的主机名,需全局唯一
设置完成启动服务
[[email protected] ~]# service zabbix-agent start [[email protected] ~]# 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
[[email protected] ~]# cp simsun.ttc/usr/share/zabbix/fonts/simsun.ttf
修改zabbix的配置文件,应用复制的字体
[[email protected] ~]# 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页面,就可以看到图片中的中文正常显示了