bmc TrueSight 监控mysql配置
bmc TrueSight 监控mysql配置
1.将pat加入mysql组
useradd pat;echo 'patpassword'|passwd --stdin pat
usermod -aG mysql pat
2.设置环境变量
查看文件是否存在[root@u1acmsdp01 ~]# find / -name mysql.sock
/var/lib/mysql/mysql.sock
^C
[root@u1acmsdp01 ~]# cd /var/lib/mysql
[root@u1acmsdp01 mysql]# ls
auto.cnf client-cert.pem cmsdb ib_logfile0 mysql performance_schema server-cert.pem
ca-key.pem client-key.pem ib_buffer_pool ib_logfile1 mysql.sock private_key.pem server-key.pem
ca.pem cms ibdata1 ibtmp1 mysql.sock.lock public_key.pem sys===如果/var/lib/mysql下面为空,则用下面的指令操作===
[root@u1avbomdp01 mysql]# grep mysql.sock /etc/my.cnf
socket = /mysqldata/mysql.sock
socket = /mysqldata/mysql.sock
[root@u1avbomdp01 mysql]# cd /mysqldata
[root@u1avbomdp01 mysqldata]# ls
auto.cnf ibdata1 mysqld-error.log public_key.pem
ca-key.pem ib_logfile0 mysql-slow.log server-cert.pem
ca.pem ib_logfile1 mysql.sock server-key.pem
client-cert.pem ib_logfile2 mysql.sock.lock sys
client-key.pem ibtmp1 performance_schema vbomdb
ib_buffer_pool mysql private_key.pem或者
[root@u1aoapdp02 ~]# grep mysql.sock /etc/my.cnf
socket=/var/lib/mysql/mysql.sock
如何存在就执行如下操作
[root@u1aoapdp02 ~]# su - pat[pat@u1acmsdp01 pat]$ vi .bash_profile
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/.local/bin:$HOME/bin
#新增变量HOME
MYSQL_HOME=/var/lib/mysql #这个值是grep mysql.sock /etc/my.cnf查出来同级目录
#让HOME变量生效export PATH MYSQL_HOME#方法二
MYSQL_HOME=/usr/local/mysql5
PATH=$PATH:$MYSQL_HOME/bin
export PATH 修改后
[pat@u1acmsdp01 pat]$ source .bash_profile
3.创建并修改mysql监控文件
[pat@u1aoapdp02 pat]$ cd /soft/apollo/
[pat@u1aoapdp01 apollo]$ vi mysql_monitor.sh
#!/bin/bashMHOST="localhost"
#mysql数据库的root用户
MUSER="root"
#密码
MPASSWORD="Root_123!"
MADMIN="$(which mysqladmin)"
MSQL="$(which mysql)"
#根据这个文件的地址修改这个 #这个值是grep mysql.sock /etc/my.cnf查出来的
MSOCK="/var/lib/mysql/mysql.sock"
#MSOCK="/mysqldata/mysql.sock"
#mysqld alive
$MADMIN -u$MUSER -p$MPASSWORD -S$MSOCK ping 2>/dev/null | grep -o "mysqld is alive" &>/dev/null
if [ $? -eq 0 ]
thenecho 1
elseecho 0
fi#Staues of synchronization
IO_RUNNING=`$MSQL -u$MUSER -p$MPASSWORD -S$MSOCK -e "show slave status\G" 2>/dev/null | grep -o "Slave_IO_Running: Yes"`
#echo $IO_RUNNING
SQL_RUNNING=`$MSQL -u$MUSER -p$MPASSWORD -S$MSOCK -e "show slave status\G" 2>/dev/null | grep -o "Slave_SQL_Running: Yes"`
#echo $SQL_RUNNING
if [ "$IO_RUNNING" = "Slave_IO_Running: Yes" ] && [ "$SQL_RUNNING" = "Slave_SQL_Running: Yes" ] ;thenecho 1
elseecho 0
fi#Slow queries
$MSQL -u$MUSER -p$MPASSWORD -S$MSOCK -e "show status" 2>/dev/null |grep "Slow_queries" | awk '{print $2}'#Threads Running
$MSQL -u$MUSER -p$MPASSWORD -S$MSOCK -e "show status" 2>/dev/null |grep "Threads_running"|awk '{print $2}'#Threads Connected
$MSQL -u$MUSER -p$MPASSWORD -S$MSOCK -e "show status" 2>/dev/null |grep "Threads_connected"|awk '{print $2}'#The number of deletes/s
$MSQL -u$MUSER -p$MPASSWORD -S$MSOCK -e "show engine innodb status" 2>/dev/null | grep -E -o [0-9]....'inserts/s'.*|awk '{print$5}'#The number of inserts/s
$MSQL -u$MUSER -p$MPASSWORD -S$MSOCK -e "show engine innodb status" 2>/dev/null | grep -E -o [0-9]....'inserts/s'.*|awk '{print$1}'#The number of reads/s
$MSQL -u$MUSER -p$MPASSWORD -S$MSOCK -e "show engine innodb status" 2>/dev/null | grep -E -o [0-9]....'inserts/s'.*|awk '{print$7}'#The number of updates/s
$MSQL -u$MUSER -p$MPASSWORD -S$MSOCK -e "show engine innodb status" 2>/dev/null | grep -E -o [0-9]....'inserts/s'.*|awk '{print$3}'#The number of writes/s
$MSQL -u$MUSER -p$MPASSWORD -S$MSOCK -e "show engine innodb status" 2>/dev/null | grep -E -o [0-9]....'writes/s'.*'fsyncs/s'|awk '{print$1}'#Seconds_Behind_Master
#$MSQL -u$MUSER -p$MPASSWORD -S$MSOCK -e "show slave status\G" 2>/dev/null |grep -o "Seconds_Behind_Master".*[0-9]$|awk '{print$2}'
4.加执行权限
[pat@u1aoapdp01 apollo]$ chmod 755 mysql_monitor.sh
5.执行脚本
[pat@u1aoapdp01 apollo]$ ./mysql_monitor.sh
1
0
0
2
17
0.02
0.00
0.00
0.00
0.00验证是否成功执行
[pat@u1aoapdp01 apollo]$ echo $?
0
输出为0代表正常输出
6.页面新增配置
可以看到新增的已经生效
可以看到已经监控了