一.zabbix简介:
Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用。
Zabbix 通过 C/S 模式采集数据,通过 B/S 模式在 web 端展示和配置。
被监控端:主机通过安装 agent 方式采集数据,网络设备通过 SNMP 方式采集数据。
Server 端:通过收集 SNMP 和 agent 发送的数据,写入数据库(MySQL,ORACLE 等),再通过 php+apache 在 web 前端展示。
1.Zabbix 运行条件:
Server:Zabbix Server 需运 行在 LAMP( Linux+Apache+Mysql+PHP)环 境下( 或者LNMP),对硬件要求低;
Agent:目前已有的 agent 基本支持市面常见的 OS,包含 Linux、HPUX、Solaris、Sun、windows;
SNMP:支持各类常见的网络设备。
监控过程逻辑如图示:
2.Zabbix 功能
具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP 等通用协议监控、多种告警方式、详细的报表图表绘制)
支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现)
支持自动发现(low discovery)key 实现动态监控项的批量监控(需写脚本)
支持分布式,能集中展示、管理分布式的监控点
扩展性强,server 提供通用接口(api 功能),可以自己开发完善各类监控(根据相关接口编写程序实现)
编写插件容易,可以自定义监控项,报警级别的设置。
数据收集
可用和性能检测
支持 snmp(包括 trapping and polling ),IPMI,JMX,SSH,TELNET
自定义的检测
自定义收集数据的频率
服务器/代理和客户端模式
灵活的触发器
您可以定义非常灵活的问题阈值,称为触发器,从后端数据库的参考值
高可定制的报警
发送通知,可定制的报警升级,收件人,媒体类型
通知可以使用宏变量有用的变量
自动操作包括远程命令
实时的绘图功能
监控项实时的将数据绘制在图形上面
WEB 监控能力
ZABBIX 可以模拟鼠标点击了一个网站,并检查返回值和响应时间
Api 功能
应用 api 功能,可以方便的和其他系统结合,包括手机客户端的使用。
3.优劣势
优点:
开源,无软件成本投入
Server 对设备性能要求低
支持设备多,自带多种监控模板
支持分布式集中管理,有自动发现功能,可以实现自动化监控
开放式接口,扩展性强,插件编写容易
当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从server 端去下载需要监控的 item 然后取数据上传到 server 端。这种方式对服务器的负载比较小。
Api 的支持,方便与其他系统结合。
缺点:
需在被监控主机上安装 agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
zabbix安装部署
所需安装包:
fping-3.10-1.el7.x86_64.rpm
iksemel-1.4-2.el7.centos.x86_64.rpm
php-bcmath-5.4.16-36.el7_1.x86_64.rpm
php-mbstring-5.4.16-36.el7_1.x86_64.rpm
zabbix-agent-3.4.6-1.el7.x86_64.rpm
zabbix-get-3.4.6-1.el7.x86_64.rpm
zabbix-java-gateway-3.4.6-1.el7.x86_64.rpm
zabbix-proxy-mysql-3.4.6-1.el7.x86_64.rpm
zabbix-server-mysql-3.4.6-1.el7.x86_64.rpm
zabbix-web-3.4.6-1.el7.noarch.rpm
zabbix-web-mysql-3.4.6-1.el7.noarch.rpm
1.安装zabbix监控和数据库
[root@server5 ~]# yum install zabbix-server-mysql-3.4.6-1.el7.x86_64.rpm zabbix-web-3.4.6-1.el7.noarch.rpm zabbix-web-mysql-3.4.6-1.el7.noarch.rpm fping-3.10-1.el7.x86_64.rpm iksemel-1.4-2.el7.centos.x86_64.rpm php-bcmath-5.4.16-36.el7_1.x86_64.rpm php-mbstring-5.4.16-36.el7_1.x86_64.rpm zabbix-agent-3.4.6-1.el7.x86_64.rpm -y
[root@server5 ~]# yum install mariadb-server -y
[root@server5 ~]# systemctl start mariadb
2.创建zabbix数据库,创建zabbix帐号
[root@server5 ~]# mysql_secure_installation
[root@server5 ~]# mysql -p
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'westos';
导入默认的zabbix数据库信息
[root@server5 ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.6/
[root@server5 zabbix-server-mysql-3.4.6]# zcat create.sql.gz |mysql -u zabbix -p zabbix #导入zabbix数据库,输入密码
3.配置zabbix文件
[root@server5 ~]# cd /etc/zabbix/
[root@server5 zabbix]# vim zabbix_server.conf
##数据库密码
##连接数据库的sock
修改时区
[root@server5 ~]# cd /etc/httpd/conf.d/
[root@server5 conf.d]# vim zabbix.conf
4.启动apache和zabbix-server服务,并网址访问测试
[root@server5 conf.d]# systemctl restart httpd zabbix-server zabbix-agent
访问:http://172.25.0.121/zabbix/
进入zabbix界面
将zabbix与数据库连接,密码是设置的mariadb数据库密码
成功登陆zabbix监控平台
账号为Admin,密码为zabbix
进入zabbix平台后,可以修改监控语言和登陆密码(点击右上方的人头标志,开始修改密码和语言)
点击配置,主机,停用的,即可开启zabbix-server的监控
添加监控
再开一个6.5的虚拟机,安装zabbix-agent
[root@server4 ~]# yum install zabbix-agent-3.4.6-1.el6.x86_64.rpm -y
[root@server4 ~]# cd /etc/zabbix/
[root@server4 zabbix]# vim zabbix_agentd.conf
#zabbix-server的IP
#被监控的主机名称
[root@server4 zabbix]# /etc/init.d/zabbix-agent start
[root@server4 zabbix]# netstat -antlp
进入zabbix监控系统,使server5监控主机监控server4主机
1.手动添加
打开自动发现,动作
接着选择填写自动发现监控主机的网段
自动发现规则建立后填写要被发现的主机名
点击创建主机
添加模板
此时添加成功。
2.自动注册
删除刚才建立的主机重新创建
点击创建动作
完成后添加,查看自动注册信息,并点击主机查看
3.自动发现
关闭刚才创建的动作并删除主机
点击创建动作
添加主机、添加到主机群组、与模板关联
主机查看
添加已完成。