zabbix一键部署脚本+监控MYSQL的QPS和TPS

zabbix服务端 ip:192.168.141.130
zabbix客户端 ip: 192.168.141.146

首先配置阿里云的yum源
在服务端执行操作
cd /etc/yum.repos.d/
vim zabbix_Aliyun.repo

[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=http://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=0

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=0

yum源配置完成后我们可直接用yum去实现zabbix的安装

开始编写脚本
vim zabbix.sh

#!/bin/bash
echo "安装zabbix"
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent httpd &> /dev/null
echo "安装完成"
echo "安装数据库"
yum -y install mariadb-server mariadb &> /dev/null
echo "安装完成"
echo "启动数据库"
systemctl start maraidb
echo "创建zabbix数据库,授权用户"
mysql -e "create database zabbix charset utf8;"
mysql -e "grant all on zabbix.* to tom@'localhost' identified by '123';"
ehco "创建授权成功"
echo "将zabbix数据导入数据库"
cd /usr/share/doc/zabbix-server-mysql-4.2.8/
zcat create.sql.gz | mysql -utom -p123 zabbix
echo "修改配置参数"
sed -i '116s/zabbix/tom/' /etc/zabbix/zabbix_server.conf
sed -i '124s/# DBPassword=/DBPassword=123/' /etc/zabbix/zabbix_server.conf
echo "修改时区"
sed -i '20s/# php_value date.timezone Europe\/Riga/php_value date.timezone Asia\/Shanghai/' /etc/httpd/conf.d/zabbix.conf
echo "启动zabbix和httpd"
systemctl restart zabbix-server zabbix-agent httpd &> /dev/null
echo "查看端口"
ss -ntl | grep 10051
ss -ntl | grep 10050
ss -ntl | grep 80

执行脚本,发现端口成功启动后直接去网页登录即可
在这里插入图片描述
客户端只需要安装zabbix-agent即可(可同上用yum安装)
客户端配置
vim /etc/zabbix/zabbix_agentd.conf
在这里插入图片描述
监控MYSQL的QPS和TPS的之前我们先做下了解

1、QPS和TPS是什么?

QPS是MYSQL每秒处理的查询数

TPS是MYSQL每秒处理的事务数

2.QPS和TPS怎么求?

QPS = Questions / Uptime

TPS = (Com_commit + Com_rollback)/ Uptime

对于变量解释:

Questions : mysql的查询总数

Uptime : mysql的运行时间

Com_commit : 提交总数

Com_rollback : 回滚总数

zabbix自带的默认模版里包括了很多监控项,有时候为了满足业务需求,需要根据自己的监控项目自定义监控项。

1,首先编写自定义监控MYSQL的QPS和TPS脚本(这里mysql的安装就不作讲解了)

在/etc/zabbix下目录创建shell目录
mkdir/etc/zabbix/shell&& cd/etc/zabbix/shell
vim monitor_mysql.sh

#!/bin/bash
Uptime=`mysqladmin status | awk '{print $2}'`
QPS() {
        Questions=`mysqladmin status | awk '{print $6}'`
        awk 'BEGIN{printf "%.2f\n",'$Questions'/'$Uptime'}'
}
TPS() {
        rollback=`mysqladmin extended-status | awk '/\<Com_rollback\>/{print $4}'`
        commit=`mysqladmin extended-status | awk '/\<Com_commit\>/{print $4}'`
        awk 'BEGIN{printf "%.2f\n",'$(($rollback+$commit))'/'$Uptime'}'
}
$1

2,修改zabbix_agentd.conf配置文件

在这里插入图片描述

第一个箭头:默认为0,此处我们将它改为1,改为1以后,表示用户自定义的脚本中可以包含特殊字符。

第二个箭头:为我们自定义监控项,格式为:UserParameter=<键值>,<命令>。这里我们自定义键值为:check_httpd,要执行的命令为执行check_httpd.sh这个脚本。

下面就可以直接去添加监控项了
1.创建主机
在这里插入图片描述
在这里插入图片描述
2.创建监控模板
在这里插入图片描述
3.创建监控项
创建监控项QPS,key值传参调用QPS函数
在这里插入图片描述
创建监控项TPS,key值传参调用TPS函数
在这里插入图片描述
4.创建图形
在这里插入图片描述
最终效果
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值