(企业运维4)zabbix监控平台的基本使用2


一、zabbix_agent通过密码访问数据库

当数据库设置用户和密码时,zabbix该如何实现监控

1.1 给数据库加密

  1. 新库没有密码
mysqladmin password  westos   #设置数据库密码为westos
  1. 老库修改新密码(知道原密码)
mysqladmin -uroot -pabcd password efgh  #把密码abcd改为efgh

1.2 配置zabbix

1.进入agent配置目录,查看userparameter_mysql.conf 文件
#这里可以找到我们用户和密码要放到/var/lib/zabbix/这个目录下,如果没有该目录,请创建它
cd /etc/zabbix/zabbix_agentd.d/ 
cat userparameter_mysql.conf 

UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive

2.创建/var/lib/zabbix/目录,并在其下创建隐藏文件.cnf
mkdir  /var/lib/zabbix/
cd /var/lib/zabbix/
vim .my.cnf
[mysql]
user=root
password=westos
socket=/var/lib/mysql/mysql.sock

[mysqladmin]
user=root
password=westos
socket=/var/lib/mysql/mysql.sock

在这里插入图片描述

1.3 测试

重启agent服务
systemctl  restart zabbix-agent #重启agent服务

安装测试软件zabbix-get
yum insyall -y zabbix-get

测试
zabbix_get -s 127.0.0.1 -p 10050 -k "mysql.ping"  

在这里插入图片描述

二、Zabbix之Percona监控插件使用

2.1 Percona-Monitoring介绍

官方英文文档:
Percona Monitoring Plugins for Zabbix
These templates are mainly adopted from the existing Cacti ones. Currently, only MySQL template is available.
There are a few major differences between Cacti and Zabbix templates:
• Zabbix does not support negative Y axis, that’s why you can see the negative values on some graphs to work out
that - consider them the same as positive ones.
• Zabbix does not support stacked graph items with mixed draw styles, that’s why some graphs may not look so
nice like in Cacti as the stacks are replaced with lines.
Other Zabbix specific points:
• The items are populated by polling Zabbix agent.
• There are predefined triggers available to use.
• There is a screen as a placeholder for all graphs.
• 300 sec. polling interval - like with Cacti, the existing PHP script is used to retrive and cache MySQL metrics
except some trigger-specific items. Due to the caching of results, PHP script runs only once per period.

大概意思是目前对zabbix只支持“MySQL”模板

Cacti和Zabbix模板之间有几个主要的区别:

  • Zabbix不支持负Y轴,这就是为什么你可以看到一些图上的负值来计算,就认为他们是正的。

  • Zabbix不支持混合绘制风格的堆叠图形项目,这就是为什么有些图形可能不像Cacti那样看起来很好,因为堆栈被线条取代了。

Zabbix的其他特点:

  • 项目由轮询Zabbix代理填充。

  • 有预定义的触发器可供使用。

  • 有一个屏幕作为所有图表的占位符。

  • 300秒轮询间隔-与Cacti一样,现有的PHP脚本用于检索和缓存MySQL指标,除了一些触发器特定的项目。由于缓存结果,PHP脚本每个周期只运行一次。

2.2 后台中安装配置Percona插件

  1. 首先官网找到你想要版本的软件包,这里我么选择percona-zabbix-templates-1.1.8-1.noarch.rpm版,网址:Percona Software Repositories
  2. 由于该插件基于php开发,所以安装插件时,缺少的php依赖需要一并装上
    php-mbstring-5.4.16-46.el7.x86_64.rpm php-bcmath-5.4.16-46.el7.x86_64.rpm,依赖库没有需要网上download下来
rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm  php-mbstring-5.4.16-46.el7.x86_64.rpm  php-bcmath-5.4.16-46.el7.x86_64.rpm
  1. 复制配置文件到/etc/zabbix_agentd.conf.d/userparameter_percona_mysql.conf
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf  /etc/zabbix_agentd.conf.d/userparameter_percona_mysql.conf
  1. 确保 /etc/zabbix/zabbix_agentd.conf 文件里有这条Include=/etc/zabbix/zabbix_agentd.d/*.conf语句

在这里插入图片描述

  1. 修改ss_get_mysql_stats.php 文件,指定数据库用户与密码
cd /etc/zabbix/zabbix_agentd.d/
vim ss_get_mysql_stats.php

在这里插入图片描述

在这里插入图片描述

  1. 重启 Agent
systemctl restart zabbix-agent

之后percona插件的会自动采集数据库相关数据在/tmp下生成一个.txt文件,包含了所有采集数据库的键值对,之后由脚本模板再次归类传到后台。
在这里插入图片描述
vim /tmp/localhost-mysql_cacti_stats.txt

gg:0 gh:0 gi:0 gj:0 gk:3369 gl:1370065 gm:1 gn:22 go:0 gp:0 gq:8191 gr:5465 gs:2713 gt:44 gu:1642 gv:1071 gw:387019 gx:145641 gy:1654 gz:522887 hg:125709 hh:0 hi:0 hj:0 hk:0 hl:0 hm:0 hn:0 ho:0 hp:0 hq:223 hr:223 hs:222 ht:9032 hu:1470 hv:9682 hw:218485 hx:18275 hy:107 hz:5403848 ig:0 ih:967166 ii:0 ij:21 ik:174 il:148 im:300 in:1024 io:400 ip:14 iq:1 ir:35 is:0 it:0 iu:22 iv:12753 iw:1 ix:151 iy:0 iz:12754 jg:-1 jh:-1 ji:0 jj:-1 jk:0 jl:0 jm:0 jn:0 jo:0 jp:0 jq:0 jr:0 js:0 jt:0 ju:1269305 jv:17775 jw:130879 jx:452402 jy:1576 jz:0 kg:0 kh:0 ki:0 kj:0 kk:0 kl:7602 km:0 kn:70390 ko:0 kp:83911 kq:0 kr:88114 ks:229598 kt:4737 ku:22669 kv:126 kw:6 kx:475807659 ky:134327639 kz:8388608 lg:0 lh:110579348 li:110579348 lj:-1 lk:32768 ll:0 lm:0 ln:-1 lo:0 lp:0 lq:0 lr:0 ls:0 lt:0 lu:0 lv:0 lw:0 lx:0 ly:0 lz:0 mg:0 mh:0 mi:0 mj:0 mk:21 ml:1 mm:725186 mn:107 mo:0 mp:0 mq:42212 mr:3406068 ms:4198960 mt:52 mu:229341 mv:1363961 mw:0 mx:0 my:0 mz:18275 ng:218485 nh:0 ni:0 nj:276671 nk:0 nl:137756672 nm:0 nn:4323 no:1 np:0 nq:2 nr:2430576 ns:139112 nt:1693992 nu:83536 nv:341144 nw:0 nx:-1 ny:-1 nz:-1 og:0 oh:24474624 oi:134217728 oj:0 ok:0 ol:-1 om:-1 on:-1 oo:-1 op:-1 oq:-1 or:-1 os:-1 ot:-1 ou:-1 ov:-1 ow:-1 ox:-1 oy:-1 oz:-1 pg:-1 ph:-1 pi:-1 pj:-1 pk:-1 pl:-1 pm:-1 pn:-1 po:-1 pp:-1 pq:-1 pr:-1 ps:-1 pt:-1 pu:-1 pv:-1 pw:-1 px:-1 py:-1 pz:-1 qg:-1 qh:-1 qi:-1 qj:-1 qk:-1 ql:-1 qm:-1 qn:-1 qo:1475 qp:25821103

这些键值对的实际含义可以去/etc/zabbix/zabbix_agentd.d/userparameter_percona_mysql.conf下查看
如第一个gg代表 MySQL.Key-read-requests
在这里插入图片描述

2.3 web前端配置Percona模板(图形化操作,相对简单)

在这里插入图片描述
选择percona的.xml模板文件导入
在这里插入图片描述
聚合图形全打钩,导入即可
在这里插入图片描述
在这里插入图片描述

三、监控java配置平台

3.1 安装配置tomcat,安装java环境(在客户机server2上)

tomcat官方手册tomcat官方操作手册
在这里插入图片描述
安装java环境

yum install java-1.8.0-openjdk.x86_64  ## 安装java环境

将tomcat包解压到/usr/local下,并设置一个软链接,方便访问。

tar zxf  apache-tomcat-7.0.37.tar.gz  -C /usr/local/
ln -s apache-tomcat-7.0.37/ tomcat

在这里插入图片描述
进入tomcat/bin下 修改configtest.sh文件

cd /usr/local/tomcat/bin/
vim configtest.sh
 CATALINA_OPTS='-Dcom.sun.management.jmxremote.port=8888
   -Dcom.sun.management.jmxremote.ssl=false
   -Dcom.sun.management.jmxremote.authenticate=false'
   
./startup.sh 

netstat -antlp|grep :8888
tcp6       0      0 :::8888                 :::*                    LISTEN      5753/java

在这里插入图片描述

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

3.2 设置zabbix服务机(server1)

yum install -y zabbix-java-gateway
vim /etc/zabbix/zabbix_java_gateway.conf #看一眼,默认不用改

systemctl  enable --now zabbix-java-gateway
netstat -antlp|grep :10052
tcp6       0      0 :::10052                :::*                    LISTEN      29511/java

vim /etc/zabbix/zabbix_server.conf
JavaGateway=172.25.0.1
JavaGatewayPort=10052

StartJavaPollers=10

systemctl  restart zabbix-server

在这里插入图片描述

在这里插入图片描述

3.3 设置zabbix web端

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

四、在web端将zabbix客户端改为主动

为了实验效果可以在客户机后台将被动模式关闭,也可以不关。
在这里插入图片描述

直接web端设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

五、zabbix_proxy代理

参阅地址zabbix代理

5.1 对zabbix-proxy的概述

zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.

此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。

zabbix proxy 使用场景:

  • 监控远程区域设备
  • 监控本地网络不稳定区域
  • 当 zabbix 监控上千设备时,使用它来减轻 server 的压力
  • 简化分布式监控的维护
    在这里插入图片描述

zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server,所以防火墙上仅仅需要加上一条规则即可。

5.2对server3代理机的配置

设置server3为zabbix_proxy机

首先停掉server3上之前的服务,清干净环境
systemctl disable --now zabbix-agent.service 
nginx -s stop

安装代理工具,改主机名为proxy
yum install -y zabbix-proxy-mysql
hostnamectl set-hostname proxy

为其配置数据库,也可以使用server1的数据库,配置方法雷同,这里独立设置
yum install -y mariadb-server
systemctl enable --now mariadb   #启动数据库

mysql                           #配置数据库

MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> create user 'zabbix'@'localhost' identified by 'westos';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix_proxy.* to 'zabbix'@'localhost';
Query OK, 0 rows affected (0.00 sec)

修改zabbix_proxy.conf 文件
[root@proxy ~]# grep -v ^#  /etc/zabbix/zabbix_proxy.conf  | uniq

Server=1.2.3.1

Hostname=proxy

LogFile=/var/log/zabbix/zabbix_proxy.log

LogFileSize=0

PidFile=/var/run/zabbix/zabbix_proxy.pid

SocketDir=/var/run/zabbix

DBName=zabbix_proxy

DBUser=zabbix

DBPassword=westos

JavaGateway=1.2.3.1

StartJavaPollers=5

SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

Timeout=4

ExternalScripts=/usr/lib/zabbix/externalscripts

LogSlowQueries=3000


拷贝zabbix代理数据库模板到mariadb中
cd /usr/share/doc/zabbix-proxy-mysql-4.0.27/
zcat schema.sql.gz | mysql -uzabbix -pwestos zabbix_proxy

5.3 server2客户机的配置

将原来的server换成server3,并重启zabbix-agent

[root@server2 ~]# grep -v ^# /etc/zabbix/zabbix_agentd.conf |uniq

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server=1.2.3.3

ServerActive=1.2.3.3

Hostname=server2

Include=/etc/zabbix/zabbix_agentd.d/*.conf


systemctl restart  zabbix-agent

5.4 web端配置

在这里插入图片描述

在这里插入图片描述

测试ok
在这里插入图片描述

六、智能降噪

在zabbix监控服务实现后,可能会有大量的不同级别告警出来,对于企业成千上万台服务器的告警时,这个数据量很大,我们运维人需要一个专业管理平台来做衔接。

6.1 睿象云

这里推荐一个比较好用的平台:睿象云
睿象云先注册个账号,这个平台对新用户有免费额度,可以很好衔接我们zabbix监控服务,实现我们的报警信息整理远程通知等很多功能,具体功能可以上其网站摸索

在这里插入图片描述

CA控制台界面首页

在这里插入图片描述
在集成中可以看到其对zabbix模块有服务,我们创建一个zabbix服务

在这里插入图片描述

这里我们设置一个微信通知策略
在这里插入图片描述

6.2 测试

关闭server2的zabbix-agent服务,当关闭时间超过五分钟时,微信会收到报警信息

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

当我们再次启动server2的zabbix-agent服务时,也会告诉我们服务启动了
在这里插入图片描述
其他告警消息
在这里插入图片描述
更多免费功能或者付费功能可以慢慢开发。

猜你喜欢

转载自blog.csdn.net/weixin_41191813/article/details/112728153