Zabbix的介绍
1、什么是zabbix及优缺点(对比cacti和nagios)
Zabbix能监视各类网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各类问题。是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
agent端:主机经过安装agent方式采集数据。
server端:经过收集agent发送的数据,写入数据库(MySQL,ORACLE等),再经过php+apache在web前端展现.
zabbix = cacti + nagios
- 优势:基于两款工具优势于一身并更强大,实现企业级分布式监控。
- 缺点:2.2版本带宽占用大可是升级到2.4版本后更节省了带宽资源,其它再无发现。
2、监控功能
主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细的报表图表绘制
监控主机zabbix有专用的agent,能够监控Linux,Windows,FreeBSD等 。
监控网络设备zabbix经过SNMP,ssh(很少用)
可监控对象
- 设备:服务器,路由器,交换机
- 软件:OS,网络,应用程序
- 主机性能指标监控
- 故障监控: down机,服务不可用,主机不可达
3、工做原理
一个监控系统运行的大概的流程是这样的:
zabbix agent须要安装到被监控的主机上,它负责按期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展示和绘图。这里agent收集数据分为主动和被动两种模式:
主动:agent请求server获取主动的监控项列表,并主动将监控项内须要检测的数据提交给server/proxy
被动:server向agent请求获取监控项的数据,agent返回数据。
4、zabbix的组件及进程
zabbix由如下几个组件部分构成:
一、Zabbix Server:负责接收agent发送的报告信息的核心组件,全部配置,统计数据及操做数据均由其组织进行;
二、Database Storage:专用于存储全部配置信息,以及由zabbix收集的数据;
三、Web interface:zabbix的GUI接口,一般与Server运行在同一台主机上;
四、Proxy:可选组件,经常使用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端;
五、Agent:部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端;
注:zabbix node也是 zabbix server的一种 。
5、zabbix监控环境中基本概念
一、主机(host):要监控的网络设备,可由IP或DNS名称指定;
二、主机组(host group):主机的逻辑容器,能够包含主机和模板,但同一个组织内的主机和模板不能互相连接;主机组一般在给用户或用户组指派监控权限时使用;
三、监控项(item):一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每一个item都由"key"标识;
四、触发器(trigger):一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK";
五、事件(event):触发一个值得关注的事情,好比触发器状态转变,新的agent或从新上线的agent的自动注册等;
六、动做(action):指对于特定事件事先定义的处理方法,如发送通知,什么时候执行操做;
七、报警升级(escalation):发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等;
八、媒介(media):发送通知的手段或者通道,如Email、Jabber或者SMS等;
九、通知(notification):经过选定的媒介向用户发送的有关某事件的信息;
十、远程命令(remote command):预约义的命令,可在被监控主机处于某特定条件下时自动执行;
十一、模板(template):用于快速定义被监控主机的预设条目集合,一般包含了item、trigger、graph、screen、application以及low-level discovery rule;模板能够直接连接至某个主机;
十二、应用(application):一组item的集合;
1三、web场景(web scennario):用于检测web站点可用性的一个活多个HTTP请求;
1四、前端(frontend):Zabbix的web接口;
zabbix服务器部署安装
第一步:下载zabbix的yum源php
[root@ken-node1 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
第二步:下载zabbix安装包,数据库和apache前端
[root@ken-node1 ~]# yum install zabbix-server-mysql zabbix-web-mysql mariadb-server httpd -y
第三步:启动数据库node
[root@ken-node1 ~]# systemctl restart mariadb
第四步:复制zabbix数据库表到/root目录下,并解压(因版本不一,因此先去到/usr/share/doc/下查看)mysql
[root@ken-node1 ~]# cp /usr/share/doc/zabbix-server-mysql-*/create.sql.gz /root
[root@ken-node1 ~]# gunzip create.sql.gz
第五步:建立数据库并导入表ios
[root@ken-node1 ~]# mysql -uroot -proot
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]> create database zabbix;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by '123';
MariaDB [(none)]> use zabbix;
Database changed
MariaDB [zabbix]> source /root/create.sql;(导入数据)
第六步:启动apacheweb
[root@ken-node1 ~]# systemctl restart httpd
浏览器访问
第一步:浏览器输入ip/zabbixsql
点击下一步数据库

第二步:报以下的提示。须要修改时区apache

第三步:修改时区vim
在zabbix.conf中20行处的时区为亚洲上海
[root@ken-node1 ~]# vim /etc/httpd/conf.d/zabbix.conf
20 php_value date.timezone Asia/Shanghai
第四步:重启httpd
[root@ken-node1 ~]# systemctl restart httpd
第五步:刷新浏览器
确认建立了zabbix数据库及zabbix用户点击下一步便可

第六步:确认数据

第七步:确认信息

第八步:建立成功提示

第九步:登陆
帐号:Admin
密码:zabbix


启动服务器端
咱们如今已经成功登陆进zabbix管理界面,可是提示尚未启动zabbix服务器,因此咱们还须要启动咱们的服务器。
第一步:修改zabbix的配置文件,在125行处增长数据库密码
[root@ken-node1 ~]# vim /etc/zabbix/zabbix_server.conf
...
125 DBPassword=123
第二步:重启zabbix服务器
zabbix服务器端监听的端口是10050
[root@ken-node1 ~]# systemctl restart zabbix-server
[root@ken-node1 ~]# ss -tnl | grep 10051
LISTEN 0 128 *:10051 *:*
LISTEN 0 128 :::10051 :::*
第三步:浏览器刷新
能够发现zabbix server已经在运行状态了
