最全阿里云centos7监控postgres9(1),软件测试面试题10道

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

       |           |          |             |             | postgres=CTc/postgres  +
       |           |          |             |             | monitoring=c/postgres

zabbix | zabbix | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
(7 rows)

wiseucmsg=>


postgres模板下载地址 : http://pg-monz.github.io/pg\_monz/index-en.html  
 4. 导入监控模板



wget https://codeload.github.com/pg-monz/pg_monz/tar.gz/2.2
[root@localhost ~]# cd pg_monz-2.2
[root@localhost ~/pg_monz-2.2]# ls
LICENSE pg_monz quick-install.txt README-en.md README.md
[root@localhost ~/pg_monz-2.2]# cd pg_monz
[root@localhost ~/pg_monz-2.2/pg_monz]# ls
template usr-local-bin usr-local-etc zabbix_agentd.d
[root@localhost ~/pg_monz-2.2/pg_monz]# cd template
[root@localhost ~/pg_monz-2.2/pg_monz/template]# ls
Template_App_pgpool-II-36.xml Template_App_pgpool-II.xml Template_App_PostgreSQL_SR.xml
Template_App_pgpool-II_watchdog.xml Template_App_PostgreSQL_SR_Cluster.xml Template_App_PostgreSQL.xml
[root@localhost ~/pg_monz-2.2/pg_monz/template]# sz Template_App_PostgreSQL.xml


模板在Github上有:  
 https://github.com/cavaliercoder/libzbxpgsql/tree/master/templates  
 链接:https://pan.baidu.com/s/16226FZ4UZjsSWqoazrzdNQ  
 提取码:cyol  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191126115326664.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191126115425179.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191126115522727.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 {$PG\_CONN} => host=localhost port=54321 user=monitoring connect\_timeout=10


{$PG\_DB} => wiseucmsg


**创建postgres图形**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191126133746314.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191126133930650.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)


### Zabbix 通过shell脚本监控PostgreSQL


授权:



CREATE ROLE zabbix WITH LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE;

GRANT CONNECT ON DATABASE test TO zabbix;

alter user zabbix with password ‘zabbix’;


zabbix客户端配置文件,添加监控项



[root@localhost zabbix]# vim /etc/zabbix/zabbix_agentd.conf
[root@localhost zabbix]# systemctl restart zabbix-agent

UserParameter=pg_chk[*],/etc/zabbix/chk_pg.sh $1 $2

[root@localhost zabbix]# more chk_pg.sh


#shell 参数说明:


$1—>‘totalsize’)  
 $2—>数据库名



#!/bin/bash

by dwh 2018.6.21

case $1 in
‘totalsize’)
psql -h localhost -U zabbix -p 5432 test -t -c “select sum(pg_database_size(datid)) as total_size from pg_stat_database”
;;

‘db_cache’)
db_ca=psql -h localhost -U zabbix -p 5432 test -t -c "select cast(blks_hit/(blks_read+blks_hit+0.000001)\*100.0 as numeric(5,2)) as cache from pg_stat_database where datname = '$2'"
if [[ “$db_ca” == 0 ]];then
echo 0
else
echo $db_ca
fi
;;

‘db_success’)
db_su=psql -h localhost -U zabbix -p 5432 test -t -c "select cast(xact_commit/(xact_rollback+xact_commit+0.000001)\*100.0 as numeric(5,2)) as success from pg_stat_database w here datname = '$2'"
if [[ “$db_su” == 0 ]];then
echo 0
else
echo $db_su
fi
;;

‘server_processes’)
server_p=psql -h localhost -U zabbix -p 5432 test -t -c "select sum(numbackends) from pg\_stat\_database"
if [[ $server_p -eq 0 ]];then
echo 0
else
echo $server_p
fi
;;

‘tx_commited’)
tx_c=psql -h localhost -U zabbix -p 5432 test -t -c "select sum(xact\_commit) from pg\_stat\_database"
if [[ $tx_c -eq 0 ]];then
echo 0
else
echo $tx_c
fi
;;

‘tx_rolledback’)
tx_r=psql -h localhost -U zabbix -p 5432 test -t -c "select sum(xact\_rollback) from pg\_stat\_database"
if [[ $tx_r -eq 0 ]];then
echo 0
else
echo $tx_r
fi
;;

‘db_size’)
db_s=psql -h localhost -U zabbix -p 5432 test -t -c "select pg\_database\_size('$2')" #as size"
if [[ $db_s -eq 0 ]];then
echo 0
else
echo $db_s
fi
;;

‘db_connections’)
db_c=psql -h localhost -U zabbix -p 5432 test -t -c "select numbackends from pg\_stat\_database where datname = '$2'"
if [[ $db_c -eq 0 ]];then
echo 0
else
echo $db_c
fi
;;

‘db_returned’)
db_r=psql -h localhost -U zabbix -p 5432 test -t -c "select tup\_returned from pg\_stat\_database where datname = '$2'"
if [[ $db_r -eq 0 ]];then
echo 0
else
echo $db_r
fi
;;

‘db_fetched’)
db_f=psql -h localhost -U zabbix -p 5432 test -t -c "select tup\_fetched from pg\_stat\_database where datname = '$2'"
if [[ $db_f -eq 0 ]];then
echo 0
else
echo $db_f
fi
;;

‘db_inserted’)
db_i=psql -h localhost -U zabbix -p 5432 test -t -c "select tup\_inserted from pg\_stat\_database where datname = '$2'"
if [[ $db_i -eq 0 ]];then
echo 0
else
echo $db_i
fi
;;

‘db_updated’)
db_u=psql -h localhost -U zabbix -p 5432 test -t -c "select tup\_updated from pg\_stat\_database where datname = '$2'"
if [[ $db_u -eq 0 ]];then
echo 0
else
echo $db_u
fi
;;

‘db_deleted’)
db_d=psql -h localhost -U zabbix -p 5432 test -t -c "select tup\_deleted from pg\_stat\_database where datname = '$2'"
if [[ $db_d -eq 0 ]];then
echo 0
else
echo $db_d
fi
;;

‘db_commited’)
db_co=psql -h localhost -U zabbix -p 5432 test -t -c "select xact\_commit from pg\_stat\_database where datname = '$2'"
if [[ $db_co -eq 0 ]];then
echo 0
else
echo $db_co
fi
;;

‘db_rolled’)
db_ro=psql -h localhost -U zabbix -p 5432 test -t -c "select xact\_rollback from pg\_stat\_database where datname = '$2'"
if [[ $db_ro -eq 0 ]];then
echo 0
else
echo $db_ro
fi
;;

‘version’)

psql -h localhost -U zabbix -p 5432 test -t -c “select version()”

psql --version|head -n1 |awk -F " " ‘{print $3}’
;;
esac


### Zabbix监控TCP连接状态


获取tcp连接数的两种方法:



netstat -n | awk ‘/^tcp/ {++state[$NF]} END {for(key in state) print key,state[key]}’
ss -ant | awk ‘NR>1 {++s[$1]} END {for(k in s) print k,s[k]}’


规范脚本存放目录:





![img](https://img-blog.csdnimg.cn/img_convert/68b95040871678350a022bcbd6fc90d1.png)
![img](https://img-blog.csdnimg.cn/img_convert/7a9ce1319c97d1109571455d4bdafba4.png)
![img](https://img-blog.csdnimg.cn/img_convert/fbc333ef9330ba9ca6a73db6f42560f6.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

.(img-YNLsjrv7-1715486083360)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值