在本博客中,”zabbix”是一个系列文章,如果你还不明白zabbix的相关概念,强烈建议从zabbix系列文章中的第一篇开始阅读,否则你可能无法理解这篇文章中涉及到的部分名词。
zabbix系列文章列表直达链接:zabbix入门系列
我们在介绍zabbix的基本概念的文章中已经描述过,zabbix的几个常用的重要组件,在安装zabbix时,其实就是在安装这些组件。
由于我们的监控规模并不庞大,所以此处将不会安装zabbix proxy,我们将会安装如下组件:
zabbix server
zabbix database
zabbix web
zabbix agent
好了,我们一个一个聊。
此处我们我们将要安装的 zabbix server版本为 zabbix3.0.7
如果你想要无痛的跟随本博客中的步骤进行练习,请安装3.0版本的zabbix
因为zabbix3.X依赖的php版本不能低于php5.4,而centos6.8中,php默认版本为5.3。
如果你想要使用centos6.X的操作系统,同时想要更加方便的升级php,可以使用Remi源升级PHP,
但是为了更加方便的使用yum源安装相关软件包,此处使用centos7.2安装zabbix3.0.7
首先,为了方便安装,配置zabbix的官方yum源。
我们配置了zabbix3.0的yum源。
同时,我们配置了base源与epel源,因为安装过程中会用到这些yum源。
准备工作完毕,剩下的就是安装各个组件了,我们一个一个来。
我们先从zabbix server开始安装,由于我们使用mysql作为数据库,所以,在安装zabbix3.X的版本的server端时,需要安装zabbix-server-mysql包,在3.X的zabbix版本中,并没有单独的zabbix server端程序包,安装zabbix-server-mysql包即为安装了server端包,同时,我们可以在服务端安装zabbix_get包,以便向agent端发起测试采集数据请求,所以,我们在server端安装如下包。
安装完成上述两个包以后,server即为安装完成,是不是很简单,server端的相关配置我们一会儿再进行。
此处我们将mysql与zabbix安装在同一台服务器上,安装mysql的过程此处不再赘述,当我们安装完mysql,需要初始化zabbix的数据库,而在我们安装zabbix server时,其中就包含初始化zabbix数据库的sql脚本。
我们查看刚才安装完成的zabbix-server-mysql,可以看到一个create.sql.gz的包。
解压此包即可获得初始化sql脚本。
但是需要注意的是,此sql脚本中sql只会在对应的数据库中初始化zabbix所需要的数据库表,但是不会创建zabbix数据库,所以,创建zabbix数据库这一步骤,还是需要我们手动进行的,所以,此处我们先手动创建zabbix的数据库,过程如下。
zabbix数据库初始化完成后,执行对应的sql初始化脚本。
查看zabbix数据库,发现对应的表已经生成。
server端已经安装完毕,并且数据库也已经初始化,现在我们开始配置server端,编辑zabbix server端的配置文件。
此处列出我们可能会经常修改的参数,如下:
ListenPort=10051
#服务端监听的端口,保持默认即可
SourceIP=
#通过SourceIP参数可以指定服务端的源IP,当server端有多个IP地址时,我们可以指定服务端使用固定的IP与agent端进行通讯,为了安全起见,agent端会基于IP进行一定的访问控制,也就是说agent端只允许指定的IP以server端的身份采集被监控主机的数据,如果IP不对应,则不允许采集被监控主机的数据,所以,当server端有多个IP时,我们可以通过SourceIP参数,指定server端通过哪个IP采集被监控主机的数据。
LogType=file
#通过LogType参数,可以指定通过哪种方式记录日志,此参数可以设置为三种值,system、file、console,system表示将日志发往syslog,file表示使用指定的文件作为日志文件,console表示将日志发往控制台,默认为file。
LogFile=/var/log/zabbix/zabbix_server.log
#当LogType设置为file时,通过LogFile参数设置日志文件位置。
LogFileSize=0
#指明日志文件达到多大时自动滚动,单位为MB,如果设置LogFileSize为50,表示日志大小达到50MB滚动一次,设置为0表示日志文件不会滚动,所有日志保存在一个文件中。
DebugLevel=3
#通过DebugLevel参数可以定义日志的详细程度,即为日志级别。
DBHost=localhost
#通过DBHost参数设置zabbix数据库所在的服务器IP,由于此处zabbix与mysql安装在同一服务器上,所以此处设置为localhost
DBName=zabbix
#通过DBName指定zabbix数据库对应的名称
DBUser=zabbix
#通过DBUser指定zabbix数据库用户名
DBPassword=123123
#通过DBPassword指定zabbix数据库用户的密码
DBPort=3306
#通过DBPort指定zabbix所在数据库服务监听的端口号
DBSocket=/var/lib/mysql/mysql.sock
#如果数据库服务与server端在同一台服务器上,可以通过DBSocket指定数据库本地套接字文件位置,但是需要注意,即使设置了mysql套接字文件的位置,还是需要配合DBHost参数,否则在登录zabbix控制台时,可能会出现警告,在zabbix server的log中,也可能会出现无法连接到数据库的提示。
根据上述的配置参数的解释,根据具体需求进行实际配置即可。
配置完成后,启动zabbix服务端即可,启动后,10051端口已经被监听。
好了,zabbix server已经启动,剩下的就是初始化zabbix设置了,但是初始化zabbix的设置需要zabbix web提供的GUI图形化界面,所以,我们需要先安装zabbix web。
zabbix web可以安装在单独的主机上,只要能连接到zabbix database所在的数据库即可,但是此处为了方便,我们将zabbix web与 mysql以及 zabbix server安装在同一台服务器上。
因为zabbix web需要lamp环境,所以,此处我们将会依赖到的环境先安装好。
完成上述步骤后,安装zabbix web所需要的两个包,对应版本为3.0.7。
查看刚才安装完成的zabbix-web程序包,可以看到,zabbix-web的web应用存放在/usr/share/zabbix中。
zabbix还是比较贴心的,针对httpd,zabbix-web包中已经包含了对应zabbix文档路径的配置文件。
可以看到,针对zabbix web的文档路径,此文件中已经为我们准备好了默认配置,如果不使用httpd的虚拟主机,只要将时区稍加改动即可直接使用。
而此处,我们使用httpd的虚拟主机访问zabbix web,所以,将配置文件中的内容改为如下配置,同时将时区修改为亚洲上海。
配置完成后,启动httpd服务。
好了,zabbix web安装配置完成
完成上述安装步骤后,访问 Zabbix_Web_IP/zabbix ,可以看到如下图的zabbix安装页面,点击下一步按钮
可以看到,zabbix自动检查了安装环境是否满足要求,如果出现不满足要求的情况,需要进一步处理,此处没有问题,点击下一步
此处zabbix需要配置数据库连接,此处配置数据库的类型,IP,端口,数据库名,用户密码等信息,端口填写0表示使用默认端口(3306端口)
此处,我们可以填写zabbix server的详细信息,包括IP地址,端口号,以及server名称等,填写完成后点击下一步。
在配置之前,请确定概要信息无误,点击下一步。
从提示可以看出,初始化配置已经完成,而且zabbix提示我们,这些配置信息都被保存到了”/etc/zabbix/web/zabbix.conf.php” 配置文件中,如果想要更改刚才的一些配置,可以通过修改此文件完成,初始化已经完成,点击结束即可。
点击完成按钮后,可以看到zabbix的登录页面,默认的管理员用户为admin,密码为zabbix,输入用户名密码后登录。
登录完成后,可以看到zabbix的仪表盘。
嗯嗯嗯,我知道你看英文不爽,别急,现在就调成中文,点击下图中红框标注的图标。
语言选择中文,点击更新即可,但是你可能无法在语言中看到中文选项,如果无法找到中文选项,则代表你的配置文件中的中文选项显示属性为false。
如果你安装的zabbix3.0.X无法看到中文选项,那么你可以需要少许额外的操作,首先,你需要修改如下文件。
找到中文对应的值,将显示属性设置为true即可。
但是,你可能还会遇见中文乱码的情况,如果遇到中文乱码,可以从windows中挑选一个顺眼的中文字体,将对应字体文件放置到linux中zabbix web的字体目录中,因为我们使用的是rpm包安装的zabbix web,所以zabbix web的默认字体目录为/usr/share/zabbix/fonts,windows中的字体文件后缀名如果为TTF,当我们把对应字体文件拷贝到zabbix字体目录时,需要修改其后缀名为小写的ttf(如果本来就是小写的则不用任何修改了),字体文件上传完毕后,修改/usr/share/zabbix/include/defines.inc.php配置文件,将下图中显示字体部分修改为刚才上传的字体文件对应的名称即可。
比如,我选择了”微软雅黑”字体,将msyh.ttf文件上传至zabbix的fonts目录后,配置文件修改如下。
好了,上述操作完成后,zabbix控制台即显示为中文了。
但是,你可能会在访问zabbix控制台式,可能会发现如下提示:
如果出现上图中的提示,可能是由如下几个原因引起的:
1、zabbix-server未正常启动
2、已经开启selinux,但是没有正常设置对应权限。
3、zabbix-server未能正常连接数据库。
4、zabbix.conf.php文件中$ZBX_SERVER参数对应的主机名不能正常解析。
5、其他原因,需要查看zabbix server日志。
如果在访问zabbix控制台时并没有出现上述提示,忽略上述描述即可。
为了更加安全,我们不应该使用管理员的默认密码,所以,我们最好先修改管理员密码
好了,我们以后的监控工作就要围绕这个web界面展开了,为了以后更好的展开工作,我们先大概的了解一下zabbix的菜单。
管理菜单中,一般用于管理zabbix自身及zabbix相关设置。
配置菜单中,一般用于配置监控相关设置
监测中菜单,一般用于查看被监控的相关数据
报表菜单中,可以为管理员生成一段时间内的监控统计信息。
资产记录菜单中,管理员可以查看被管控的主机有哪些,以及相关的资产信息。
好了,zabbix web的安装及简介暂时告一段落。
万事具备,就差agent端了,agent端安装也非常方便,直接被监控主机上安装如下两个包即可。
此处被管理主机为centos6.8,已经配置好了对应的zabbix源,agent版本可以跟server端版本不一致,没有关系,安装即可。
我们查看一下zabbix-agent都安装了哪些文件,当然,最重要的就是zabbix_agentd.conf这个配置文件了。
还记得我们在刚开始介绍zabbix时,说过的”主动模式”与”被动模式”吗?这两种模式的相关配置,都需要在zabbix_agentd.conf中定义,打开这个文件,我们来配置一下最常用的agent端配置。首先,可以看到配置文件中有很多注释,打开配置文件,首先看到的就是”通用参数配置段”,我们可以在此配置段配置zabbix_agent进程的进程编号文件路径,存储日志方式,日志文件位置,日志滚动阈值等常用设定,细心如你一定已经发现,zabbix_agent配置文件的”通用配置段”中的参数大多数与zabbix_server配置文件中的常用参数意义相同,所以,此处不再过多赘述,如果没有特殊需要,保持默认即可。
此处先说说我们马上会用到的两个配置段,如下图红框中的注释所描述的,”被动模式配置段”与”主动模式配置段”
我们已经在最开始的概念介绍中,描述过,”主动模式”与”被动模式”都是对于agent端来说的,而且它们可以同时存在,并不冲突。
我们先来看看”被动模式”的相关配置参数。
被动模式相关参数如下:
Server:用于指定允许哪台服务器拉取当前服务器的数据,当agent端工作于被动模式,则代表server端会主动拉取agent端数据,那么server端的IP必须与此参数的IP对应,此参数用于实现基于IP的访问控制,如果有多个IP ,可以使用逗号隔开。
ListenPort:用于指定当agent端工作于被动模式时所监听的端口号,默认端口为10050,也就是说,server端默认访问10050端口,从而拉取数据。
ListenIP:用于指定agent端工作于被动模式时所监听的IP地址,默认值为0.0.0.0,表示监听本机的所有IP地址。
StartAgents:用于指定预生成的agent进程数量。
好了,被动模式的参数说完了,现在聊聊主动模式。
主动模式的常用参数如下:
ServerActive:此参数用于指定当agent端工作于主动模式时,将信息主动推送到哪台server上,当有多个IP时,可以用逗号隔开。
Hostname:此参数用于指定当前主机的主机名,server端通过此参数对应的主机名识别当前主机。
RefreshActiveChecks:此参数用于指明agent端每多少秒主动将采集到的数据发往server端。
此处,我们同时设置”被动模式”与”主动模式”的如下参数,其他保持默认即可,修改完成后保存退出。
Server=192.168.1.108
ServerActive=192.168.1.108
Hostname=testzbx1.zsythink.net
配置文件修改完成后,启动agent端进程。
好了,agent端也已经安装完毕了。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有