Zabbix分布式监控平台部署<4>--用于Zabbix的Percona监控插件及与tomcat的结合、proxy部署

1.zabbix server的mysql监控

由于之前server1有仓库,为了节省资源,我们直接使用server1
只要让agent可以通过mysql的密码认证,在zabbix下建立隐藏文件,说明具体命令执行的用户、密码、socket

1.1.导入已有Mysql模板

root@server1 ~]# cd /etc/zabbix/zabbix_agentd.d/ 
[root@server1 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server1 zabbix_agentd.d]# mysqladmin password westos ##修改密码
[root@server1 zabbix_agentd.d]# mkdir /var/lib/zabbix
[root@server1 zabbix_agentd.d]# cd /var/lib/zabbix/
[root@server1 zabbix]# vim .my.cnf  ##隐藏文件
[root@server1 zabbix]# cat .my.cnf
[mysql]
user=root
password=westos
socket=/var/lib/mysql/mysql.sock
[mysqladmin]
user=root
password=westos
socket=/var/lib/mysql/mysql.sock
[root@server1 zabbix]#systemctl restart zabbix-agent.service ##重启zabbix-agent服务
[root@server1 zabbix]# zabbix_get -s 127.0.0.1 -p 10050 -k "mysql.ping" 
1     #手动测试,有返回值即可

在这里插入图片描述

网页配置测试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2.安装perconam模板并导入

由于自带的mysq模板监控项太少,所以我们需要添加perconam模板

[root@server1 zabbix]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm ##组件安装
warning: percona-zabbix-templates-1.1.8-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:percona-zabbix-templates-1.1.8-1 ################################# [100%]

Scripts are installed to /var/lib/zabbix/percona/scripts
Templates are installed to /var/lib/zabbix/percona/templates
[root@server1 templates]# ls
userparameter_percona_mysql.conf  zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/
[root@server1 templates]# cd ..
[root@server1 percona]# ls
scripts  templates
[root@server1 percona]# cd scripts/
[root@server1 scripts]# ls
get_mysql_stats_wrapper.sh  ss_get_mysql_stats.php
[root@server1 scripts]# vim ss_get_mysql_stats.php
30 $mysql_user = 'root';
31 $mysql_pass = 'westos';
bash[root@server1 scripts]# cd ..
[root@server1 percona]# cd templates/
[root@server1 templates]# ls
userparameter_percona_mysql.conf  zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml

[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d
[root@server1 templates]# wc -l  userparameter_percona_mysql.conf
190 userparameter_percona_mysql.conf

[root@server1 scripts]# systemctl restart zabbix-agent.service 
[root@server1 scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
1  ##手动测试
[root@server1 scripts]# zabbix_get -s 127.0.01 -p 10050 -k "MySQL.Key-read-requests"
1  ##有返回值
[root@server1 scripts]# cd /tmp/
[root@server1 tmp]# ls
systemd-private-0a0ca34dda544887b3ee55b85caba6fd-httpd.service-C60rtj
systemd-private-0a0ca34dda544887b3ee55b85caba6fd-mariadb.service-NfVV0y
systemd-private-91ac0c62fd4349b7aeff4d7d25426f66-httpd.service-Gw230G
systemd-private-91ac0c62fd4349b7aeff4d7d25426f66-mariadb.service-a8D3Gd
yum_save_tx.2021-07-13.15-45.X9veWf.yumtx

[root@server1 tmp]# ll
total 4
-rw-rw-r-- 1 zabbix zabbix    0 Jul 14 12:38 localhost-mysql_cacti_stats.txt  
##手动测试,会生成此文件,生成的默认权限是root,可删除或修改为zabbix,否则数据没有更改
drwx------ 3 root   root     17 Jul 13 16:00 systemd-private-0a0ca34dda544887b3ee55b85caba6fd-httpd.service-C60rtj
drwx------ 3 root   root     17 Jul 13 15:47 systemd-private-0a0ca34dda544887b3ee55b85caba6fd-mariadb.service-NfVV0y
drwx------ 3 root   root     17 Jul 14 08:59 systemd-private-91ac0c62fd4349b7aeff4d7d25426f66-httpd.service-Gw230G
drwx------ 3 root   root     17 Jul 14 08:59 systemd-private-91ac0c62fd4349b7aeff4d7d25426f66-mariadb.service-a8D3Gd
-rw------- 1 root   root   2283 Jul 13 15:45 yum_save_tx.2021-07-13.15-45.X9veWf.yumtx

网页配置测试
导入Percona模板

将Percona模板下载至物理机,通过Browse引导添加,并添加聚合图形选项

在这里插入图片描述

在这里插入图片描述
添加Percona模板
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

此时zabbix server监控项达279,点击触发器,禁用下图触发器,因为实验中没有salve!
在这里插入图片描述
点击图形,点击cpu jumps(可任意选择) 进行预览
在这里插入图片描述

2.结合tomcat,监控tomcat java应用

Tomcat是jsp/servlet容器,用于发布jsp及java的,类似的有IBM的websphere、BEA的Weblogic,sun的JRun等等。
监控流程:zabbix–>jmx(10052)–>tomcat(8888),利用zabbix通过jmx远程监控端口来监控tomcat java应用

2.1.agent端

[root@server2  ~]# yum install -y java-1.8.0-openjdk.x86_64 #Tomcat服务器主要用于部署java web项目,所以要先安装此组件
[root@server2 ~]# ls
apache-tomcat-7.0.90.tar.gz  simkai.ttf  zabbix
[root@server2 ~]# tar zxf apache-tomcat-7.0.90.tar.gz -C /usr/local/ ##解压文件,可在官网下载
[root@server2 local]# ln -s apache-tomcat-7.0.90/ tomcat ##建立软连接
[root@server2 local]# ls
apache-tomcat-7.0.90  bin  etc  games  include  lib  lib64  libexec  sbin  share  src  tomcat
[root@server2 local]# cd tomcat/bin/
[root@server2 bin]# vim catalina.sh 
107 CATALINA_OPTS='-Dcom.sun.management.jmxremote
108   -Dcom.sun.management.jmxremote.port=8888   ##创建远程监控8888端口  
109   -Dcom.sun.management.jmxremote.ssl=false   ##  不加密             
110   -Dcom.sun.management.jmxremote.authenticate=false' ##不认证
[root@server2 bin]# ./startup.sh  ##在zabbix server没有JAVA网关
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

在这里插入图片描述

[root@server2 bin]# ./startup.sh ##正常执行结果
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@server2 bin]# netstat -antlp | grep 8888   ##tomcat java 服务监控端口
tcp6       0      0 :::8888                 :::*                    LISTEN      23823/java          
[root@server2 bin]# netstat -antlp | grep 8080  ##tomcat java 服务开启端口
tcp6       0      0 :::8080              :::*                    LISTEN      23823/java      

在这里插入图片描述
在这里插入图片描述

2.2zabbix-server端

[root@server1 ~]# yum install zabbix-java-gateway
[root@server1 ~]# vim /etc/zabbix/zabbix_java_gateway.conf
9  LISTEN_IP="0.0.0.0" 
17  LISTEN_PORT=10052
35 START_POLLERS=5
[root@server1 ~]# systemctl restart zabbix-java-gateway.service
[root@server1 zabbix]# systemctl enable --now  zabbix-java-gateway.service
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-java-gateway.service to /usr/lib/systemd/system/zabbix-java-gateway.service.
[root@server1 zabbix]# vim   /etc/zabbix/zabbix_server.conf
288 JavaGateway=172.25.6.1  zabbix-server的ip
296 JavaGatewayPort=10052  
304 StartJavaPollers=5
[root@server1 zabbix]# systemctl  restart zabbix-server.service
[root@server1 zabbix]# netstat -antlp | grep 10052
tcp6       0      0 :::10052                :::*                    LISTEN      28254/java    tcp6       0      0 172.25.6.1:10052        172.25.6.1:47294        TIME_WAIT   -   

在这里插入图片描述
网页测试
在这里插入图片描述
点击server2,添加JMX接口,
在这里插入图片描述

添加java jmx模板

在这里插入图片描述
server2的jmx点亮即位成功
在这里插入图片描述

3.proxy部署

3.1.proxy简介

zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力. 此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。
zabbix proxy 使用场景:
监控远程区域设备 监控本地网络不稳定区域 当 zabbix 监控上千设备时,使用它来减轻 server 的压力

3.2.Zabbix-proxy端部署

[root@server4 ~]# hostnamectl set-hostname proxy #修改主机名
[root@server4 ~]# vim /etc/hosts
 172.25.6.4 server4 proxy  ##将此解析添加至所以主机中,以区分proxy端主机
[root@server4 ~]#  yum install -y zabbix-proxy-mysql  ##安装组件
[root@server4 ~]# vim /etc/zabbix/zabbix_proxy.conf   ##修改配置文件,进行数据库配置
162 DBHost=172.25.6.1   #数据库位置
173 DBName=zabbix_proxy #数据库中的库名称
188 DBUser=zabbix        #访问数据库的身份
196 DBPassword=westos   #访问数据库的密码
[root@server4 zabbix]# systemctl start zabbix-proxy.service 
[root@server4 zabbix]# systemctl enable --now zabbix-proxy
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-proxy.service to /usr/lib/systemd/system/zabbix-proxy.service.
[root@server4 zabbix]# netstat -antlp | grep proxy  ##监测proxy服务开启
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      14042/zabbix_proxy  
tcp        0      0 172.25.6.4:39740        172.25.6.1:3306         ESTABLISHED 14044/zabbix_proxy: 
tcp        0      0 172.25.6.4:34664        172.25.6.1:3306         ESTABLISHED 14048/zabbix_proxy: 
tcp        0      0 172.25.6.4:34660        172.25.6.1:3306         ESTABLISHED 14060/zabbix_proxy: 
tcp        0      0 172.25.6.4:34654        172.25.6.1:3306         ESTABLISHED 14049/zabbix_proxy: 
tcp        0      0 172.25.6.4:34564        172.25.6.1:3306         ESTABLISHED 14046/zabbix_proxy: 
tcp6       0      0 :::10051                :::*                    LISTEN      14042/zabbix_proxy  
[root@server4 zabbix]# yum install -y mariadb

在这里插入图片描述

[root@server4 ~]# vim /etc/zabbix/zabbix_proxy.conf   ##修改配置文件,进行proxy代理配置和javaGateway配置
30 Server=172.25.6.1  #分布式服务位于zabbix-serve
39 ServerPort=10051  #默认端口为10051
49 Hostname=proxy  #主机名为proxy,需要与添加的proxy名保持一致
329 JavaGateway=172.25.6.1  ##javaGateway服务主机为zabbix-serve
337 JavaGatewayPort=10052   ##默认端口为10052
345 StartJavaPollers=5 ##Java轮询器为5,实际设置根据需求
[root@server4 ~]# systemctl restart zabbix-proxy.service ##重启服务
[root@server4 zabbix]# cd /usr/share/doc/
[root@server4 doc]# cd zabbix-proxy-mysql-4.0.5/
[root@server4 zabbix-proxy-mysql-4.0.5]# ls
AUTHORS  ChangeLog  COPYING  NEWS  README  schema.sql.gz
[root@server4 zabbix-proxy-mysql-4.0.5]# scp schema.sql.gz server1:/root   ##生成的数据库信息传给server1的root目录,为导入server1的mysql数据库作准备

在这里插入图片描述

3.3.Zabbix-server端部署

Zabbix-server端mysql数据库配置

[root@server1 ~]# mysql -p    
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3184
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin; ##创建mysql数据库zabbix_proxy

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on zabbix_proxy.* to 'zabbix'@'%'identified by 'westos'; #库zabbix_proxy所有权利给zabbix用户
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges; ##刷新
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye

在这里插入图片描述

[root@server1 ~]# ls
schema.sql.gz
[root@server1 ~]# zcat schema.sql.gz | mysql -pwestos zabbix_proxy  ##将schema.sql.gz 文件解压后导入 zabbix_proxy 库中
[root@server1 ~]# zabbix_server -R config_cache_reload  
zabbix_server [32160]: command sent successfully ##加载刷新

3.4.Zabbix-proxy-agent端部署

根据proxy原理,其原理流程为:Zabbix-agent(server2)----> Zabbix-proxy(server4)----> Zabbix-server(server1)

[root@server2 ~]# cd /etc/zabbix/
[root@server2 zabbix]# ls
zabbix_agentd.conf  zabbix_agentd.d
[root@server2 zabbix]# vim zabbix_agentd.conf 
 98 Server=172.25.6.1
139 ServerActive=172.25.6.1
[root@server3 zabbix]#  systemctl  restart zabbix-agent.service

4.网页配置测试

在这里插入图片描述
点击server2,在agent代理程序代理栏选择agent
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值