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.创建图形
最终效果