Zabbix3.0安装部署最佳实践
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix3.0安装部署最佳实践相关的知识,希望对你有一定的参考价值。
Zabbix介绍
1.1zabbix 简介
Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利
zabbix是一个基于Web界面的,提供分布式系统监控以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题
zabbix主要由2部分构成zabbix server和zabbix agent,可选组建zabbix proxy
zabbix server可以通过SNMP,zabbix agent,fping端口监视等方法对远程服务器或网络状态完成监视,数据收集等功能。同时支持Linux以及Unix平台,Windows平台只能安装客户端
1.2Zabbix 功能
①具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库、性能监控、FTP 等通用协议监控、多种告警方式、详细的报表图表绘制)②支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现)
③支持自动发现(low discovery)key 实现动态监控项的批量监控(需写脚本)
④支持分布式,能集中展示、管理分布式的监控点
⑤扩展性强,server 提供通用接口(api 功能),可以自己开发完善各类监控(根据相关接口编写程序实现)编写插件容易,可以自定义监控项,报警级别的设置。
⑥数据收集
可用和性能检测
支持snmp(包括trapping and polling),IPMI,JMX,SSH,TELNET
自定义的检测
自定义收集数据的频率
服务器/代理和客户端模式
灵活的触发器
可以定义非常灵活的问题阈值,称为触发器,从后端数据库的参考值
高可定制的报警
发送通知,可定制的报警升级,收件人,媒体类型
通知可以使用宏变量有用的变量
自动操作包括远程命令
实时的绘图功能
监控项实时的将数据绘制在图形上面
WEB 监控能力
ZABBIX 可以模拟鼠标点击了一个网站,并检查返回值和响应时间
1.3Api 功能
应用api功能,可以方便的和其他系统结合,包括手机客户端的使用。
更多功能请查看
http://www.zabbix.com/documentation.php
1.4Zabbix优缺点
优点
1、开源,无软件成本投入
2、Server 对设备性能要求低
3、支持设备多,自带多种监控模板
4、支持分布式集中管理,有自动发现功能,可以实现自动化监控
5、开放式接口,扩展性强,插件编写容易
6、当监控的item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从
7、server 端去下载需要监控的item 然后取数据上传到server 端。这种方式对服务器的负载比较小。
8、Api 的支持,方便与其他系统结合
缺点
需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
Zabbix监控原理
Zabbix 通过C/S 模式采集数据,通过B/S模式在web 端展示和配置。
被监控端:主机通过安装agent 方式采集数据,网络设备通过SNMP 方式采集数据
Server 端:通过收集SNMP 和agent 发送的数据,写入数据库(mysql,ORACLE 等),再通过php+apache 在web 前端展示。
Zabbix 运行条件
Server:Zabbix Server 需运行在LAMP(Linux+Apache+Mysql+PHP)环境下(或者LNMP),对硬件要求低
Agent:目前已有的agent 基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、
windows
SNMP:支持各类常见的网络设备
SNMP(Simple Network Management Protocol,简单网络管理协议
Zabbix监控过程逻辑图
1.1Zabbix环境准备
[root@linux-node1 ~]# cat /etc/redhat-release #查看系统版本 CentOS Linux release 7.2.1511 (Core) [root@linux-node1 ~]# uname -r #查看内核版本 3.10.0-327.18.2.el7.x86_64 [root@linux-node1 ~]# getenforce #检测selinux是否关闭 Disabled [root@linux-node1 ~]# systemctl stop firewalld #关闭firewall防火墙 [root@linux-node1 ~]# ifconfig eth0|awk -F \'[ :]+\' \'NR==2{print $3}\' #查看IP地址 192.168.230.130 [root@linux-node1 ~]# hostname #查看主机名 linux-node1.com
1.2Zabbix安装
Zabbix存储配置包以及yum配置文件。
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
Zabbix程序包安装,以及MySQL、Zabbix-agent
[root@linux-node1 ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server
1.3初始数据库
创建Zabbix数据库以及用户。对这样的说明,参考MySQL数据库创建脚本
https://www.zabbix.com/documentation/3.0/manual/appendix/install/db_scripts
[root@linux-node1 ~]# systemctl start mariadb [root@linux-node1 ~]# systemctl enable mariadb [root@linux-node1 ~]# mysql -uroot -p MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by \'zabbix\'; Query OK, 0 rows affected (0.00 sec) 导入初始模式和数据 [root@linux-node1 ~]# cd /usr/share/doc/zabbix-server-mysql-3.0.3/ [root@linux-node1 zabbix-server-mysql-3.0.3]# zcat create.sql.gz |mysql -uroot zabbix 设置数据库root密码、默认为空、设置mysql安全参数命令: mysql_secure_installation
1.4Zabbix服务器进程启动
在Zabbix_server.conf编辑数据库配置
[root@linux-node1 ~]# grep ^[a-Z] /etc/zabbix/zabbix_server.conf LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000
启动Zabbix服务器进程
[root@linux-node1 ~]# systemctl start zabbix-server
[root@linux-node1 ~]# systemctl enable zabbix-server
1.5编辑Zabbix前端PHP配置
Apache的配置文件/etc/httpd/conf.d/zabbix.conf一些PHP设置已经配置好了。取消注释,设置正确的时区
[root@linux-node1 ~]# vim /etc/httpd/conf.d/zabbix.conf php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value always_populate_raw_post_data -1 php_value date.timezone Asia/Shanghai
通过改变配置文件重新启动Apache Web服务器
[root@linux-node1 ~]# systemctl start httpd [root@linux-node1 ~]# systemctl enable httpd
安装Zabbix Web界面
2.1步骤1
在你的浏览器,打开网址http://Zabbix_server_ip/zabbix。
点击下一步Next step,输入设置的数据库用户跟密码,以及检测zabbix的先决条件等,
完成安装,会在/etc/zabbix/web/zabbix.conf.php生成配置文件。
Zabbix登陆准备。 默认的用户名/密码为Admin/zabbix
点击Next step进行安装
首先要确保没有no,如果时区没有改好会提示我们进行修改
账号密码都是我们刚刚在配置文件中设置的,端口默认就是3306
为我们的zabbix起个名字,一会在右上角会显示
最后是展示我们的配置信息,可以查看到哪里有错误
点击Finish
提示:上去之后请立即修改密码
2.2配置zabbix-agent端
[root@linux-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1 修改Server端的IP地址(被动模式IP地址) ServerActive=127.0.0.1 主动模式,主动向server端报告 Hostname如果不以主机名命名我们可以设置其它名字 默认是 Hostname=Zabbix server [root@linux-node1 ~]# systemctl start zabbix-agent #开机自启动 [root@linux-node1 ~]# systemctl enable zabbix-agent
10051为server端口,10050为agent端口
2.3Web界面配置
找到Configuration---->Hosts添加一台监控主机
开启后,如果出现错误我们可以看一下zabbix的日志
[root@inux-node1 ~]# ls /var/log/zabbix/zabbix_ zabbix_agentd.log zabbix_server.log
刷新后,当ZBX变成绿色的时候,说明监控成功。
以上是关于Zabbix3.0安装部署最佳实践的主要内容,如果未能解决你的问题,请参考以下文章