多平台统一管理软件接口,如何实现多平台统一管理软件接口
364
2022-11-02
部署Zabbix server,监控Linux系统、Tomcat和MySQL主机
Zabbix是一个企业级监控解决方案,支持实时监控数千台服务器、虚拟机和网络设备,采集百万级监控指标,适用于任何IT基础架构、服务、应用程序和资源的解决方案。
此篇主要看一下如何通过编译安装方式部署Zabbix server服务器,以及如何使用Zabbix server服务器监控Linux系统、Tomcat和MySQL服务器。
部署Zabbix server服务器
1.1 编译安装Zabbix server
1.1.1 安装依赖包
Zabbix在编译安装时的依赖包较多,具体如下:
1.1.2 下载并解压Zabbix源码包
Zabbix源码包可通过官网获取(版本选择界面:编译安装
1.1.3.1 查看帮助
进入到解压目录下,执行./configure --help命令可以查看Zabbix编译可使用的相关参数,具体是编译安装server端、proxy端还是被监控的agent端等,可根据自己的需求来指定参数。
1.1.3.2 执行configure脚本
笔者需要编译安装的为server端,在执行configure脚本环节可指定安装路径,并且建议添加支持Java功能参数,用于后期监控Java相关的服务。
1.1.3.3 安装Zabbix server
执行configure脚本完毕,可不执行make命令进行编译,直接使用make install命令进行安装。
1.2 准备数据库
1.2.1 安装MySQL
另准备一台监控服务专用的数据库,笔者直接通过apt方式安装MySQL。
1.2.2 修改监听端口
MySQL默认监听端口为127.0.0.1,需进行修改。
1.2.3 创建数据库和授权账号
创建Zabbix server端所需的数据库以及数据库授权账号,数据库需支持utf8。
1.2.4 检测数据库可用性
使用授权账号进行远程登录,检测数据库是否可用。
1.3 修改Zabbix server配置文件
修改Zabbix server配置文件,将默认数据库相关信息修改为已设置内容。
1.4 导入数据
1.4.1 相关文件
在Zabbix解压目录的database/mysql目录下有schema.sql、images.sql和data.sql三个文件,需要依次导入以上创建的zabbix_server数据库中。
1.4.2 导入数据
可以选择在本机安装MySQL客户端导入,也可以将三个文件发送到数据库服务器进行导入。
1.4.3 验证数据
返回mysql-server服务器,可以看到zabbix_server数据库中已生成了大量的表。
1.5 启动Zabbix server
在不准备service文件的情况下,可以直接使用安装路径sbin目录下的zabbix_server指定配置文件启动Zabbix server服务。但是默认用户为zabbix,需要先创建。
1.6 web界面初始化
1.6.1 拷贝web界面文件
将源码解压目录下frontends/php目录的所有内容拷贝到Apache服务根目录下,可以单独创建一个目录存放,不过需注意属性,拷贝完毕重启Apache服务。
1.6.2 登录初始化界面
通过Zabbix server服务器的IP和Zabbix服务所在的URL进入初始化界面。
1.6.3 环境检查
由于是编译安装,环境检查部分可能会出现很多未通过的提示,需在/etc/php/7.2/apache2/php.ini文件中逐个修改,修改后重启Apache服务。
根据提示修改后,刷新浏览器页面即可显示正常,并可进行下一步。
1.6.4 数据库信息填写
数据库信息部分需根据mysql-server服务器创建的数据库和授权账号相关信息进行填写。
1.6.5 server端信息填写
server端信息主要是填写Zabbix server服务器IP,端口默认为10051,名称部分可自定义。
1.6.6 信息核对
信息核对页面确认无误可进行下一步,如有错误可返回修改。
1.6.7 下载并上传文件
在apt或者yum方式安装Zabbix server中,zabbix.conf.php会自动生成,但编译安装需手动下载后放到指定目录下。
根据提示将文件上传到指定目录后,刷新浏览器页面即可正常显示。
1.6.8 登录web界面
以上操作完成后,即可使用默认的用户名(Admin)和密码(zabbix)登录web界面。
1.7 systemd方式启动服务
以上直接通过可执行程序指定配置文件启动不利于服务管理,也不能加入开启自启动,建议创建service文件,使用systemd方式来管理Zabbix server服务。
1.7.1 创建service文件
Zabbix server服务的service文件可参考apt或yum安装的同版本内容进行创建,具体如下:
1.7.2 修改Zabbix server配置文件
将配置文件中默认的pid文件修改为新创建的路径,另外配置文件中默认的用户是zabbix,不想可以修改目录相关权限也可改成允许以root身份进行启动。
1.7.2 启动服务
由于之前之前启动过Zabbix服务,kill掉所有Zabbix相关进程,重新加载服务后,即可启动Zabbix server服务,查看端口,10051已经打开。
1.8 启动Zabbix agent
1.8.1 查看初始主机信息
在web界面查看主机信息时,Zabbix部分显示的是红色,即不可用,需启动Zabbix agent。
1.8.2 创建service文件
与Zabbix server相同,建议创建service文件,使用systemd方式管理Zabbix agent服务,service文件内容如下:
1.8.3 启动Zabbix agent
重新加载服务后,即可使用systemd方式启动Zabbix agent,查看端口,10050已经打开。
1.8.4 验证主机信息
返回web界面,刷新页面后,可以看到Zabbix部分已经变成了绿色,即已经可以正常提供服务,并且可查看对应主机的相关信息。
1.9 web界面中文菜单环境
1.9.1 默认语言环境
web界面默认是只能选择美式或英式英语,在使用时如果能显示中文肯定会更加直观。
1.9.2 配置中文语言环境
1.9.2.1 安装中文语言包
要想web界面能以中文形式展现,zabbix-server主机需安装中文语言包。
1.9.2.2 添加环境变量
在/etc/environment文件中添加中文语言环境变量。
1.9.2.3 重设本地配置
执行dpkg-reconfigure locales命令重新设置本地配置,共有两个选择界面,具体如下,配置完毕重启Apache服务。
1.9.2.4 验证语言环境
1.10 监控图形文字乱码
1.10.1 图形文字乱码
虽然配置了中文,但监控项图形部分会出现一些乱码,这是由于没有中文字体的支持,需要我们自己设置中文字体。
1.10.2 设置中文字体
1.10.2.1 获取字体
中文字体可以从网上或者Windows主机中获取,以Windows主机获取为例,执行win+r键,输入fonts即可查看当前已有的字体,选择一款喜欢的中文字体拷贝到桌面或其他目录。
1.10.2.2 上传字体
将中文字体上传到Zabbix的web路径下的assets/fonts/目录中。
1.10.2.3 调用字体
修改Zabbix的web路径下的include/defines.inc.php文件,调用新上传的字体。
1.10.2.4 验证字体
返回web界面,如果未显示字体,刷新页面即可。
在完成了以上的Zabbix server服务器部署后,我们来看一下如何监控Linux系统、Tomcat服务以及MySQL服务主机。
监控Linux系统主机
监控Linux系统或其它服务的主机时,需要在对应的主机上安装Zabbix agent,并在agent配置文件中指定Zabbix server可以对其进行监控。
2.1 部署Zabbix agent
2.1.1 下载deb包
笔者另准备一台服务器,取名real-server1,通过下载deb包来安装Zabbix agent(4.0版本选择界面:安装下载源
使用dpkg -i命令解压已下载的deb包,会自动在/etc/apt/sources.list.d/目录下生成Zabbix安装源。
2.1.3 安装Zabbix anget
更新软件仓库后,即可通过apt方式安装4.0版本Zabbix agent。
2.1.4 修改agent配置文件
要想让某一台服务器能被Zabbix server端监控,需要修改被控制端的agent配置文件,添加server端的相关信息。
修改项说明:
①Server:允许获取数据的主机IP,属于被动模式,默认为本机,需改为Zabbix server端IP,可添加多个地址,用逗号隔开;
②ListenPort:agent默认端口为10050;
③ListenIP:监听地址可打开;
④StartAgents:被动模式下默认启动的进程数,改为0则表示不监听任何端口,至少开1个才能保证被监听;
⑤ServerActive:主动模式下使用,此项不修改亦可,不修改时本机不会主动向Zabbix server端推送监控项信息;
⑥Hostname:被监听主机的名称,可使用数字、字母和特殊符号,使用名称需区分大小写,该值在Zabbix server中要保证做到唯一性。
2.1.5 重启Zabbix agent
重启Zabbix agent,查看状态为running,并且有三个进程在等待连接以收集本机信息,查看端口,10050已经打开。
2.2 添加被监控主机
2.2.1 进入添加主机页面
2.2.2 填写主机信息
主机信息填写部分,带星号的都是必填项。
主机信息填写说明:
①主机名称:必须与被监控主机的agent配置文件中hostname部分信息保持一致;
②可见名称:可自定义;
③群组:可通过右侧的“选择”使用系统自带的分组,也可自定义分组,新创建的分组会带有新的标识;
④agent代理程序的接口:收集被监控主机的IP或DNS,使用DNS时需要解析。
2.2.3 关联模板
2.3 验证监控数据
2.3.1 查看监控项
以上添加主机的动作完成后,稍等片刻刷新页面,等被监控主机的可用性变成绿色即可查看监控项。
进入监控项页面后,可以看到模板中自带的很多监控项,并且可以在Zabbix server端通过监控项的键值来获取被监控主机的对应数据信息,如是否能ping通、可用内存大小和主机名等。
2.3.2 查看图形
监控Tomcat主机
监控Tomcat服务器时,Zabbix server端无法直接收集被监控主机的数据信息,而是要通过Java gateway来间接获取。Zabbix server先将请求转发给Java gateway,再由Java gateway去被监控主机收集好信息返回给Zabbix server端。
笔者依旧是在real-server1主机上安装Tomcat服务,如果是使用另外的主机作为Tomcat服务器,可参照监控Linux系统服务器部分先安装Zabbix agent并修改配置文件。
3.1 安装Tomcat
3.1.1 准备JDK环境
Tomcat的安装依赖于Java环境,先要准备好Java环境,可选择适合的方式安装OracleJDK或OpenJDK,笔者就直接通过apt方式安装。
3.1.2 准备Tomcat
3.1.2.1 下载源码并解压
通过Tomcat官网(8版本选择界面:开启JMX监控
要想让Tomcat服务能被Zabbix server端监控到,需要修改解压目录下的bin/catalina.sh文件,开启JMX监控。
JMX监控项说明(每个短横线为一点说明):
①启用远程监控JMX;
②默认启动的JMX端口号,要和Zabbix server端添加主机时候的端口 一致即可;
③不使用用户名密码;
④不使用ssl认证;
⑤Tomcat服务器IP地址。
3.1.2.3 启动Tomcat
直接通过catalina.sh文件启动Tomcat服务,查看端口,8080和12345均已打开。
3.2 Zabbix server添加JMX监控
3.2.1 部署Java gateway
Java gateway可单独放在一台服务器上,笔者在编译安装Zabbix环节已经添加了支持Java功能,就直接在Zabbix server端进行操作。
如果被监控的Java服务主机较多,建议修改settings.sh文件,将超时时间从默认的3秒改为30秒或更长。
3.2.2 启动Java gateway
使用startup.sh可执行程序启动Java gateway,查看端口,10052已经打开(apt等方式安装时,确保Java gateway大版本与Zabbix相同)。
3.2.3 修改Zabbix server配置文件
修改Zabbix server配置文件,填写Java gateway相关信息,修改完毕重启zabbix-server服务。
3.3 web界面配置
3.3.1 选择监控主机
在web界面的主机列表中找到要添加需要监控Java服务的主机。
3.3.2 添加JMX接口
3.3.3 主机关联模板
如果是在生产中,建议自己来创建Java服务的监控模板,笔者在实验中就直接选择自带的模板。
模板创建好后,等待Zabbix server端收集相关数据完毕,即可看到对应主机的可用性部分多出了JMX的绿色标识。
3.4 验证监控数据
3.4.1 查看监控项
进入被监控主机的监控项,筛选JMX应用集,可以看到多出了模板中自带的监控项。
3.4.2 查看图形
查看图形时,可以看到在之前Linux系统主机监控模板的基础上,多加了很多的筛查内容,如主机线程信息等。
监控MySQL主机
监控MySQL数据库服务器时,主要是监控连接数、主从同步和同步延迟等信息。
4.1 实现MySQL主从复制
生产中监控的是业务相关的数据库服务器,笔者在实验中就直接拿Zabbix server所使用的数据库作为主节点数据库,另准备一台主机作为从节点数据库,取名mysql-slave,通过apt方式安装好MySQL服务。
4.1.1 修改配置文件
两台主从数据库服务器需修改配置文件,添加不同的服务器ID,同时主节点开启二进制日志,从节点开启中继日志。
4.1.2 创建同步账号
主节点创建用于主从复制的同步账号,并将所有权限都授权给同步账号。
4.1.3 主节点备份数据
主节点对数据库中的数据进行完全备份,并发送到从节点服务器。
4.1.4 从节点导入数据
从节点导入数据库文件,并查看截止至完全备份时的主节点位置。
4.1.5 实现主从复制
从节点根据主节点数据库的信息及以上查看SQL文件中的信息配置主从复制,并执行start slave;命令开启IO线程和SQL线程。
4.2 部署Zabbix agent
4.2.1 安装服务
笔者以监控从节点数据库为例来演示相关操作,与监控其他服务器一样,从节点数据库需安装Zabbix agent。
4.2.2 修改agent配置文件
从节点数据库服务器修改agent配置文件,填写server端和本机hostname信息,修改完毕重启Zabbix agent。
4.2.3 安装percona插件
4.2.3.1 下载deb包
Percona Monitoring Plugins可通过Percona官网下载(版本选择界面:解压并拷贝文件
解压已下载的deb包,并将配置文件拷贝至/etc/zabbix/zabbix_agentd.d/目录下。
4.2.3.3 安装php环境
直接通过apt安装的php为7.2版本,而Percona插件要求的版本为5.6,需另外安装php环境。
4.2.3.4 创建MySQL认证
在/var/lib/zabbix/percona/scripts/目录下创建ss_get_mysql_stats.php.cnf文件作为MySQL认证文件,由于未设置root登录密码,故pass部分为空。
4.2.3.5 修改服务用户
为了避免Zabbix server端在获取监控项时出现权限问题,需修改Zabbix agent配置文件和service文件,允许以root用户身份运行服务。
4.2.3.6 测试数据获取
MySQL服务器在安装Percona插件时,配置文件中包含了众多的监控项,选取一些在Zabbix server端进行测试,看能否获取数据,保证能获取数据的情况下才能进行web界面的配置。
4.3 web界面配置
4.3.1 添加被监控主机
与添加Linux系统主机相同,在web界面添加从节点数据库服务器,可添加一个最简单的系统监控模板。
4.3.2 导入模板
4.3.2.1 默认模板
在安装完Percona插件之后,/var/lib/zabbix/percona/templates/目录下会生成默认的模板文件,不过该模板只支持2.0版本,导入该模板时会报错。
4.3.2.2 导入自建模板
虽然自带的模板无法导入,但可以根据格式进行修改,笔者这边的学习资料刚好有一份该文件,就直接拿来使用了。
4.3.2.3 主机关联模板
在“配置”—“主机”中找到要使用该模板的主机,通过“模板”部分的“链接指示器”关联模板。
4.4 验证MySQL监控数据
Percona插件默认是每隔5分钟收集一次监控项数据,所以在未修改的情况下,初次验证MySQL监控数据时可能要稍等片刻。
4.4.1 查看监控项
查看MySQL服务器的监控项时,里面共有190多个监控项。
4.4.2 查看图形
查看MySQL服务器的相关监控项图形时,也能正常获取到各项数据。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~