Rocky9实现zabbix安装和基本操作

一、实验目的

总结zabbix作为监控软件的原理,了解并使用zabbix的监控功能,zabbix的监控模式,主要特点,zabbix的架构,内部配置的数据流程,zabbix的术语,zabbix的安装和基本操作。

二、实验主要内容

1、实现zabbix的安装和基本操作

2、zabbix对其他主机进行监控

3、zabbix对tomcat进行监控

三、实验环境与准备

2台拍完快照配置好的linux主机,1台10.100为zabbix监控主机server、安装java-gateway服务、mysql-server服务,一台110作为agent服务器。

四、实验分析与设计思路

Zabbix支持多种模式,zabbix支持普通的zabbix server到zabbix agent端模式,也支持zabbix-sever到zabbix-proxy模式,zabbix-server同时关联多个zabbix-agent,将zabbix-agent的历史数据存储到zabbix-server管理的数据库中,然后经过zabbix的web(也就是nginx)展示出来;

zabbix支持proxy代理模式,只需要授权proxy监听在特定的端口上10052,而对应的proxy会独立的管理他下面的zabbix-agent,并将zabbix-agent的数据存储到proxy管理的数据库中,zabbix-server没有存储zabbix-proxy数据的功能,是将proxy的数据放到zabbix web展示区进行展示;

Zabbix是基于php开发的,默认使用fastcgi,而Java不支持fastcgi模式,为了采集展示进行可视化java对应的指标数据,要让Java支持fastcgi,需要安装一个JMX的java类,zabbix关联java gateway,java中的应用体系支持gateway进行绑定起来,基于JMX就可以收集到Java gateway的数据并将其在zabbix web上进行图表展示。

被监控端安装agent应用程序,被监控端可以采集数据,基于主动模式或被动模式将历史数据或者趋势数据发送给zabbix的服务端,服务端会将数据进行汇聚,将历史数据存储到数据库,关联他的认证执行系统,将收集的趋势数据基于特定的UI格式展示出来,同时汇聚的数据到告警策略区,一旦数据指标出现超过阈值的情况,会触发告警策略,关联到用户管理系统、认证执行系统、媒介系统,动作系统,发送告警,会关联后面的告警媒介,基于邮件微信电话或者短信告警,同时将告警的事件记录到事件管理器,在主面板展示出来,故障修复之后,事件管理器会重新定义事件,将已经修复的事件移除。

五、详细实验过程

1、实现zabbix的安装和基本操作

首先将epel源移到backup,安装zabbix不用epel源,有脚本就用脚本运行了

[root@node-1 ~]# bash repo_f.sh

安装mysql数据库

[root@node-1 ~]# yum -y install mysql-server

安装zabbix-server端 清理epel缓存

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm

dnf clean all

100主机安装Zabbix server,Web前端,agent

dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

创建初始数据库 首先启动mysql服务

[root@node-1 yum.repos.d]# systemctl start mysqld.service

[root@node-1 yum.repos.d]# mysql -uroot -p

创建数据库zabbix设置utf8区分大小写,创建用户zabbix授权zabbix库下的所有表,设置支持全局函数

mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;

mysql> create user 'zabbix'@'%' identified by '666666';

mysql> grant all privileges on zabbix.* to 'zabbix'@'%';

mysql> set global log_bin_trust_function_creators = 1;

mysql> quit;

导入初始架构和数据,系统将提示您输入新创建的密码。

[root@node-1 yum.repos.d]# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

登录到数据库中查看是否已经导入到zabbix数据库中,已经产生了许多数据表

mysql -uroot -p

mysql> show tables;

关闭全局函数设置

mysql> set global log_bin_trust_function_creators = 0;

mysql> set global log_bin_trust_function_creators = 0;

为Zabbix server配置数据库

编辑配置文件 vim /etc/zabbix/zabbix_server.conf

LogFileSize=500 //日志超过500M自动滚动

DBPassword=666666 //数据库密码

StartProxyPollers=8 //开启多少proxy代理进程,用于搜集proxy代理监控数据

StartPingers=5 //启动多少Ping进程(若检测网络设备多,可以多调)

StartSNMPTrapper=1 //是否开启snmp检测进程

MaxHousekeeperDelete=500000 //每次最多删除历史数据的行数

CacheUpdateFrequency=30 //内存缓存的数据更新周期,单位为秒

Timeout=30 //获取监控数据的超时时长

ProxyConfigFrequency=15 //proxy被动模式下,server多少秒同步配置文件至proxy。

ProxyDataFrequency=5 //被动模式下,zabbix server间隔多少秒向proxy请求历史数据

为Zabbix配置前端php,修改端口为80,更改server_name

[root@node-1 yum.repos.d]# vim /etc/nginx/conf.d/zabbix.conf

[root@node-1 yum.repos.d]# vim /etc/php.ini

启动Zabbix server和agent进程

启动Zabbix server和agent进程,并为它们设置开机自启:

[root@node-1 yum.repos.d]# systemctl restart zabbix-server zabbix-agent nginx php-fpm

[root@node-1 yum.repos.d]# systemctl enable zabbix-server zabbix-agent nginx php-fpm

配置一下字体,可能会不支持中文出现乱码,更改一下字体

[root@node-1 zabbix]# cd /usr/share/zabbix/assets/fonts/

网页访问zabbix,192.168.10.100:80 可以看到zabbix网页主页

选择语言中文 点击下一步,然后再下一步

主机名称写zabbix就可以,注意默认时区要改为Asia/Shanghai

确认无误下一步

安装成功

注意:默认账号为Admin,密码为zabbix

登录成功,可以看到zabbix的仪表板

2、zabbix对其他主机进行监控

到 zabbix官网选择LTS6.0稳定版下载agent2

rpm-Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm

[root@node-2 ~]# dnf clean all 清楚缓存

[root@node-2 ~]# dnf install zabbix-agent2 zabbix-agent2-plugin-* 安装agent2

配置文件进行修改zabbix_agent2.conf

[root@node-2 ~]# vim /etc/zabbix/zabbix_agent2.conf

Server=192.168.10.100 server对应的IP

ListenPort=10050 端口为10050

ListenIP=0.0.0.0

Hostname=192.168.10.110 agent主机IP

启动agent2的服务

[root@node-2 ~]# systemctl enable --now zabbix-agent2.service

端口也打开了 ss -tnl

使用 zabbix_get 工具测试 Zabbix Agent 是否正常

[root@node-1~]#rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/9/x86_64/zabbix-get-6.0.20-release1.el9.x86_64.rpm

[root@node-1 ~]# zabbix_get -V

检测zabbix能否探测到agent

[root@node-1 ~]# zabbix_get -s 192.168.10.110 -p 10050 -k "agent.ping"

在zabbix网页中右上角点击添加主机,将刚才的agent的主机添加

可以看到agent110已经展示出了很多数据

3、zabbix对tomcat进行监控

按照安装agent的思路在官网找到对应的文档,然后输入安装java-gateway的命令

[root@node-1 ~]# dnf install zabbix-java-gateway -y

[root@node-1 zabbix]# vim zabbix_java_gateway.conf

LISTEN_IP="0.0.0.0"

LISTEN_PORT=10052

START_POLLERS=5

对zabbix的server配置文件进行配置,打开与javagateway相关的配置

[root@node-1 zabbix]# vim zabbix_server.conf

还有StartEscalators=1 和 StartAlerters=3 默认是配置好的,不需要改

启动zabbix-java-gateway服务

[root@node-1 zabbix]# systemctl start zabbix-java-gateway

查看端口可以看到,server的端口,agent的端口和java-gateway的端口都打开了

在agent上安装java应用如tomcat

vim /usr/local/tomcat/bin/catalina.sh

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.rmi.server.hostname=192.168.10.120"

重启tomcat服务

[root@node-2 ~]# systemctl restart tomcat.service

重启server主机的server服务和java-gateway服务

[root@node-1 zabbix]# systemctl restart zabbix-java-gateway

[root@node-1 zabbix]# systemctl restart zabbix-server.service

在zabbix中的主机中选择110然后进行更新,更新完成

六、实验结果及分析

搞清楚zabbix的架构体系和功能对于实验的操作有着很好的帮助,zabbix-server和zabbix-agent之间的关系,关联的方式,导入数据库中的内容等等,已经在监控过程中可能会出现的告警等等,还有就是字体需要更改。

七、总结

Zabbix 术语

被监控: 即 Zabbix 监控的主机或设备

监控项item:即 Zabbix 监控的相关指标,比如:CPU利用率,内存使用率,TCP连接数等

应用集Application:为方便管理众多的监控项,可将多个同类型的监控项进行归类,纳入一个集合中,即应用集

触发器Trigger:是一个表达式,或者说一个条件,如磁盘利用率超过80%等,当触发条件后,会导致一个触发事件,这个事件会执行一个或多个动作

动作Action:动作是触发器的条件被触发后的行为,可以是发送一条短信,微信或邮件,或是重启某个服务

告警:当触发器和动作二者结合起来时,就构成了的告警机制,比如cpu的使用率达到80%以上,触发了报警动作,系统将自动发送一封邮件到指定的邮箱。然后运维可以及时的去处理此错误。

Web 监测:对WEB服务进行检测,比如:访问指定网站是否可正常访问

模板 Template: 可以方便地应用于多个主机的一组实体的集合。

可用的mode参数包括:

avg——指定类型所有进程的平均值

count——返回创建的指定类型进程的数量

max——最大值

min——最小值

——进程号,含义参见“描述”中所述的;

可用的state参数包括:

繁忙(busy)——表示处于繁忙状态的进程;

空闲(idle)——表示处于空闲状态的进程;

low-level discovery rules (自动发现规则 ,自Zabbix 2.0起)

web scenarios (web场景, 自Zabbix 2.0起)。

  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我变秃了也没变强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值