视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
安装配置Zabbix来监控MySQL的基本教程
2020-11-09 20:53:06 责编:小采
文档


Zabbix的简单安装配置说明
1、在已有的LAMP或者LNMP的基础上安装zabbix,安装一些依赖包:

yum -y install mysql-devel libcurl-devel net-snmp-devel

2、添加用户:

groupadd zabbix
useradd zabbix -g zabbix

3、创建数据库,添加授权账号

create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

4、编译安装zabbix
   下载地址:

wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.0/zabbix-2.2.0.tar.gz
tar zxf zabbix-2.2.0.tar.gz
cd zabbix-2.2.0
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent \
--with-mysql --with-net-snmp --with-libcurl
make install

5、导入数据库

mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/images.sql
mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/data.sql

6、修改配置文件

cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
cp -R frontends/php /var/www/html/zabbix
sed -i 's/^DBUser=.*$/DBUser=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/^.*DBPassword=.*$/DBPassword=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_server
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd

7、添加服务端口:

cat >>/etc/services <<EOF
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
EOF

8、启动服务

/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start
echo "/etc/init.d/zabbix_server start" >> /etc/rc.local
echo "/etc/init.d/zabbix_agentd start" >> /etc/rc.local

9、web页面配置,配置http访问好了后web登陆:http://ip/zabbix

zabbix监控mysql性能
通过获取mysql状态值将这些状态值传递给服务器并绘制成图片,这样可以观察mysql的工作情况,通常需要获得状态变量有以下

  • Com_update:mysql执行的更新个数
  • Com_select:mysql执行的查询个数
  • Com_insert:mysql执行插入的个数
  • Com_delete:执行删除的个数
  • Com_rollback:执行回滚的操作个数
  • Bytes_received:接受的字节数
  • Bytes_sent:发送的字节数
  • Slow_queries:慢查询语句的个数
  • 1、创建mysql性能监控脚本

    #!/bin/bash
    #Create by zhengdazhi 2014.09.22
    MYSQL_DIR=/usr/local/mysql
    MYSQL=${MYSQL_DIR}/bin/mysql
    MYSQLADMIN=${MYSQL_DIR}/bin/mysqladmin
    MYSQL_SOCK="/tmp/mysql.sock"
    MYSQL_USER=root
    MYSQL_PWD=root
     
    ARGS=1 
    if [ $# -ne "$ARGS" ];then 
     echo "Please input one arguement:" 
    fi 
    case $1 in 
     Uptime) 
     result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f2 -d":"|cut -f1 -d"T"` 
     echo $result 
     ;; 
     Com_update) 
     result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_update"|cut -d"|" -f3` 
     echo $result 
     ;; 
     Slow_queries) 
     result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK status |cut -f5 -d":"|cut -f1 -d"O"` 
     echo $result 
     ;; 
     Com_select) 
     result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_select"|cut -d"|" -f3` 
     echo $result 
     ;; 
     Com_rollback) 
     result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_rollback"|cut -d"|" -f3` 
     echo $result 
     ;; 
     Questions) 
     result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f4 -d":"|cut -f1 -d"S"` 
     echo $result 
     ;; 
     Com_insert) 
     result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_insert"|cut -d"|" -f3` 
     echo $result 
     ;; 
     Com_delete) 
     result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_delete"|cut -d"|" -f3` 
     echo $result 
     ;; 
     Com_commit) 
     result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_commit"|cut -d"|" -f3` 
     echo $result 
     ;; 
     Bytes_sent) 
     result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_sent" |cut -d"|" -f3` 
     echo $result 
     ;; 
     Bytes_received) 
     result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_received" |cut -d"|" -f3` 
     echo $result 
     ;; 
     Com_begin) 
     result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_begin"|cut -d"|" -f3` 
     echo $result 
     ;; 
     
     *) 
     echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions)" 
     ;; 
    esac
    

    2、修改客户端配置文件
    查看zabbix自带的mysql监控模板

    可以看出该模板是读取 mysql.status的键,因此在客户端配置文件中加入的自定义键名也应该是mysql.status

    vim /usr/local/zabbix_agentd/etc/zabbix_agentd.conf
    #开启用户自定义配置
    UnsafeUserParameters=1
    #添加mysql监控
    UserParameter=mysql.status[*],/usr/local/zabbix_agent/bin/checkmysqlperformance.sh $1 $2
    

    重启客户端
    3、测试

    [root@localhost bin]# ./zabbix_get -s 127.0.0.1 -k mysql.status[Com_update]
    77503
    

    4、将模板加入主机

    您可能感兴趣的文章:

  • 根据mysql慢日志监控SQL语句执行效率
  • mysql常用监控脚本命令整理
  • 利用Prometheus与Grafana对Mysql服务器的性能监控详解
  • Shell脚本实现监控MySQL主从同步
  • 安装配置MySQLMTOP来监控MySQL运行性能的教程
  • MySQL数据库维护中监控所用到的常用命令
  • MySQL实时监控工具orztop的使用介绍
  • mytop 使用介绍 mysql实时监控工具
  • shell脚本监控mysql主从状态
  • 关于对mysql语句进行监控的方法详解
  • 下载本文
    显示全文
    专题