PG中文社区 / Zabbix for PostgreSQL部署技术文档 (下篇
mdi-home
首页 社区新闻 中文文档 加入ACE {{ item.text }} 登录
mdi-home 首页 mdi-chat-processing 社区新闻 mdi-book-open-variant 中文文档 mdi-account-multiple-check 加入ACE mdi-file-multiple-outline 相关资料 mdi-blank {{item.text}} mdi-exit-to-app 退出账号
Zabbix for PostgreSQL部署技术文档 (下篇 / 后6章)

原作者:阿弟  创作时间:2017-08-10 23:32:09+08  
doudou586 发布于2017-08-10 23:32:09           评论: 0   浏览: 59715   顶: 7970  踩: 8191 

Zabbix for PostgreSQL部署技术文档

作者: PostgreSQL中国社区---阿弟

联系: 4893310 / 4893310@qq.com

欢迎大家踊跃投稿,投稿信箱: press@postgres.cn


目录

上篇

一、部署环境准备与说明

二、安装配置Postgresql

三、安装配置apache

四、安装配置php

五、安装zabbix server端

六、安装配置zabbix web管理平台

七、安装配置zabbix agent

下篇

八、配置使用pg_monz模板监制postgresql主机

九、zabbix action实战

十、给pg_monz模板添加监牢项并实现action

十一、建立自己的监控模板

十二、Dell服务器硬件运行状态监控

十三、建立监控看板Screens


接上篇。。。按此浏览上篇

八、配置使用pg_monz模板监制postgresql主机

1、pg_monz介绍

pg_monz是一个基于zabbix的postgresql监控模板,支持对postgresql多种运行指标进行监控,如是否存活,性能,资源。监控的类型可以单机,流复制高可用,pgpool-II负载平衡。pg_monz可以获得postgresql服务长期运行状态数据,当Postgesql服务出现问题时,可以利用pg_monz来进行恢复。目前可供使用的pg_monz版本有1.0和2.0版本,1.0版本只支持单机监控,接下来的例子我也只介绍1.0版本的使用方法。详细的信息请参考连接。http://pg-monz.github.io/pg_monz/index-en.html#license

2、下载模板

[root@masterdb source]# wget https://github.com/pg-monz/pg_monz/archive/1.0.1.tar.gz
[root@masterdb source]# tar zxf 1.0.1.tar.gz 
[root@masterdb source]# cd pg_monz-1.0.1/pg_monz/
[root@masterdb pg_monz]# ls
find_dbname.sh  find_dbname_table.sh  pg_monz_template.xml  userparameter_pgsql.conf
[root@masterdb pg_monz]# sz pg_monz_template.xml
rz
 zmodem trl+C ȡ

  100%     110 KB  110 KB/s 00:00:01       0 Errors.

[root@masterdb pg_monz]# 

3、导入模板

打开zabbix web 管理平台-〉Configuraction-〉Templates-〉Import

导入模板成功后会提示“Imported successfull”

4、修改模板的Macro值(宏值)

打开zabbix web 管理平台-〉Configuraction-〉Templates-〉点击Tempate App Postgresql 模板

这里是配置模板默认的macros,如果监控主机的环境不一致,则在主机导入模板时还可以再设置macros值来覆盖默认值。

5、建立要监控的postgresql主机

打开zabbix web 管理平台-〉Configuraction-〉Hosts-〉Create Host

1)、点击Host页框录入相应的内容

2)、点击Tempalates页link模板

3)、点击Macros定义有变化的宏值

6、复制脚本到/usr/local/pgsql/bin目录下并配置可执行

[root@masterdb pg_monz]# cp find_dbname.sh find_dbname_table.sh /usr/local/pgsql/bin/
[root@masterdb pg_monz]# chown postgres:postgres /usr/local/pgsql/bin/find_dbname*.sh
[root@masterdb pg_monz]# chmod +x /usr/local/pgsql/bin/find_dbname*.sh               
[root@masterdb pg_monz]# 

7、复制配置文件到zabbix agent子配置文件的路径

[root@masterdb pg_monz]# cp userparameter_pgsql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/ 
[root@masterdb pg_monz]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_pgsql.conf 

找到

UserParameter=psql.locks_waiting[*],psql -h $1 -p $2 -U $3 -d $4 -t -c "select count(*) 
from pg_stat_activity where waiting = 't'"  

修改为

UserParameter=psql.locks_waiting[*],psql -h $1 -p $2 -U $3 -d $4 -t -c "select count(*) 
from pg_stat_activity where wait_event is not null"

因为我们要监控的postgresql版本是9.6,作者写的是9.2的监控脚本,有点不一样。

8、ln -s /usr/local/pgsql/bin/psql到/bin/psql

如果你的zabbix agentd使用service启动的话,则UserParameter里面的应用程序路径需要使用约绝对路径,或者是你的应用程序在linux的标准应用程序目录中存在才能正确的访问,否则会提示应用程序不存在,日志表现为

sh: psql: command not found

解决办法是把psql应用程序软连接到标准的应用程序目录即可

[root@masterdb zabbix_agentd.conf.d]# ln -s /usr/local/pgsql/bin/psql /bin/psql

9、配置postgersql的密码文件,让zabbix agent实现免密码访问

[postgres@masterdb ~]$ cat /home/postgres/.pgpass 
127.0.0.1:9610:*:postgres:pgsql
[postgres@masterdb ~]$  

10、重启zabbix agent

[root@masterdb pg_monz]# su postgres
[postgres@masterdb pg_monz]$ killall zabbix_agentd
[postgres@masterdb pg_monz]$ zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf

11、检验监控的结果

打开zabbix web 管理平台-〉Monitoring-〉Latest data-〉选择pg232主机

如果能看到上面的数据,说明监控已经在运行了

九、zabbix action实战

下面说说怎样定义一个action用于监控Postgrsql服务停止服务异常时发邮件通知工程师

1、禁用系统自带Media types

打开zabbix web 管理平台-〉Adminstration-〉Media types

2、创建一个script的Media types

打开zabbix web 管理平台-〉Adminstration-〉Media types-〉Create Media type

3、把新创建的Media types分配给某个用户或用户组使用

打开zabbix web 管理平台-〉Administration-〉Users-〉左边选择Users或组-〉单击要分配的用户

4、安装配置mstmp邮件发送客户端

[root@nfs source]# pwd
/home/postgres/source
[root@nfs source]# wget https://sourceforge.net/projects/msmtp/files/msmtp/1.6.6/
msmtp-1.6.6.tar.xz/download
[root@nfs source]# mv download msmtp-1.6.6.tar.xz
[root@nfs source]# xz -d  msmtp-1.6.6.tar.xz
[root@nfs source]# tar xf msmtp-1.6.6.tar
[root@nfs source]# cd msmtp-1.6.6
[root@nfs msmtp-1.6.6]# ./configure --prefix=/usr/local/msmtp --with-ssl=openssl
[root@nfs msmtp-1.6.6]# gmake
[root@nfs msmtp-1.6.6]# gmake install
[root@nfs msmtp-1.6.6]# yum install mutt -y

[root@nfs msmtp-1.6.6]# vim /etc/Muttrc
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname=4893310@qq.com
set editor="vim"

[root@nfs msmtp-1.6.6]# mkdir -p /usr/local/msmtp/etc
[root@nfs msmtp-1.6.6]# vim /usr/local/msmtp/etc/msmtprc
defaults
account alertmail
from xxx@qq.com     
#QQ邮箱需要配置成tls_starttls off                
tls_starttls off 
#开启ssl认证
tls on
#证书地址
tls_trust_file /etc/ssl/certs/ca-bundle.crt
#smtp服务器域名
host smtp.qq.com
#smtp端口号
port 465
#用户登录认证
auth on
#登录用户名
user xxx@qq.com
#登录密码--QQ邮箱需要使用授权码
password ******
logfile /usr/local/msmtp/msmtp.log
account default:alertmail
[root@nfs msmtp-1.6.6]# echo "zabbix邮件报警测试" | mutt -s "zabbix_alert" 4893310@qq.com

如果能正确的收到邮件,那么邮件发送客户端配置正确无误,如果每天发送的邮件比较多,最好使用企业付费邮箱或者是自己架构一个postfix邮件投递服务器

5、编写邮件发送脚本zabbix_sendmail.sh

前面zabbix_server.conf我们配置Media Types调用脚本存放的目录为 AlertScriptsPath=/usr/local/zabbix/alertscripts,所以需要在该目录下创建zabbix_sendmail.sh脚本来给zabbix发送警报时使用

[root@nfs zabbix]# mkdir alertscripts
[root@nfs zabbix]# cd alertscripts/
[root@nfs alertscripts]# vim zabbix_sendmail.sh
#!/bin/bash
#zabbix调用时会传入三个参数,分别是接收人,主题和发送内容
to=$1
subject=$2
body=$3
echo "$body" | mutt -s "$subject" "$to"
[root@nfs alertscripts]# chmod +x zabbix_sendmail.sh
[root@nfs alertscripts]# /usr/local/zabbix/alertscripts/zabbix_sendmail.sh 4893310@qq.com zabbix_alert zabbix邮件报警测试

如果能正确的收到邮件,那么邮件脚本就是正确无误的,

6、创建一个zabbix action

打开zabbix web 管理平台-〉Configuration-〉Actions-〉Create action

这里我们勾选异常恢复后需要再次发送通知,发送标题和内容都使用默认的即可

在这里我们再选择 “PostgreSQL service is not running.”

7、检验action是否生效

[root@masterdb ~]# su postgres
[postgres@masterdb root]$ cd
[postgres@masterdb ~]$ pg_ctl stop
waiting for server to shut down.... done
server stopped
[postgres@masterdb ~]$ 

如果发现/home/zabbix/zabbix_server.log出现/root/sent: Permission denied (errno = 13) ,用下面的方法即可解决问题

[root@nfs zabbix]# chmod 0755 /root
[root@nfs zabbix]# chmod 0777 /root/sent

邮件的内容如下所示

把postgresql服务开启来,看看能否收到恢复通知

[postgres@masterdb ~]$ pg_ctl start

邮件如下所示

十、给pg_monz模板添加监牢项并实现action

下面讲解怎样自定义添加一个监控备机节点数的监控项目

1、给模板添加item

打开zabbix web 管理平台-〉Configuration-〉Templates -〉Template App PostgreSQL-〉Items-〉Create Item

各个项目的详细说明见

https://www.zabbix.com/documentation/2.2/manual/config/items

http://www.ttlsa.com/zabbix/zabbix-create-item/

其中key的定义为

psql.num_of_slave[{$PGHOST},{$PGPORT},{$PGROLE},{$PGDATABASE}]

录入完成后按“Save”即可保存新添加的item

2、给num_of_slave item添加一个trigger

打开zabbix web 管理平台-〉Configuration-〉Templates -〉Template App PostgreSQL-〉Triggers-〉Create trigger

各个项目详细说明

https://www.zabbix.com/documentation/2.2/manual/config/triggers/trigger

http://www.ttlsa.com/zabbix/zabbix-create-trigger/

Name值为 Num of slave less than alert num

Expression值为

{Template App PostgreSQL:psql.num_of_slave[{$PGHOST},{$PGPORT},{$PGROLE},{$PGDATABASE}].last(0)}<{$PGSLAVE_ALERT_NUM}

监控获取到的值小于配置的宏值{$PGSLAVE_ALERT_NUM}

3、给模板Template App PostgreSQL添加一个宏

打开zabbix web 管理平台-〉Configuration-〉Templates -〉Template App PostgreSQL-〉Macros

新添加的宏名为“{$PGSLAVE_ALERT_NUM}”

4、给pg_monz配置文件增加psql.num_of_slave健

[root@masterdb ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_pgsql.conf

#流复制相关参数检查
#检查备机数量
UserParameter=psql.num_of_slave[*],psql -h $1 -p $2 -U $3 -d $4 -t -c "select case when
 pg_is_in_recovery()=true or current_setting('wal_level') in ('minimal','archive') then 1 
else (select  count(1) from pg_stat_replication) end;"

先判断是否为备节点或名wal_level级别是否为minimal','archive',如果是则直接返回1

5、给trigger添加一个action

打开zabbix web 管理平台-〉Configuration-〉Actions-〉Create action

详细说明参见“九.6”

十一、建立自己的监控模板

下面讲解怎样自定义添加一个监控模板,有了监控模板,主机直接导入模板即可实现快速监控部署工作

1、建立一个新的模板

打开zabbix web 管理平台-〉Configuration-〉Templates -〉Create template

这个宏用于控制磁盘io util值超过参数值时trigger发通知

2、zabbix agentd端编写硬盘发现脚本

[root@masterdb bin]# pwd
/usr/local/zabbix/bin
[root@masterdb bin]# vim discovery_disk.sh
[root@masterdb bin]# chmod +x discovery_disk.sh
#!/bin/bash
for diskname in $(cat /proc/diskstats |grep -E "\bsd[abcdefg]\b|\bxvd[abcdefg]\b"
 |grep -i "\b$1\b"|awk '{print $3}'|sort|uniq   2>/dev/null); do
    disklist="$disklist,"'{"{#DISK_NAME}":"'$diskname'"}'
done
echo '{"data":['${disklist#,}' ]}'

discovery需要固定的格式见这里

https://www.zabbix.com/documentation/2.2/manual/discovery/low_level_discovery

输出的格式如下

[root@masterdb bin]# ./discovery_disk.sh 
{"data":[{"{#DISK_NAME}":"sda"} ]}

3、zabbix agentd使用iostate收集硬盘io数据

[root@masterdb tmp]# /usr/bin/nohup  /usr/bin/iostat -k -x -d 10 >> /tmp/iostat_output 2>&1 &

10秒收集一次,每秒读写字节数按k单位统计,收集到/tmp/iostat_output ,后台运行

收集到的内容如下

[root@masterdb zabbix_agentd.conf.d]# /usr/bin/tail /tmp/iostat_output

Device:      rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await 
r_await w_await  svctm  %util
sda          0.00    33.71    0.00   19.96     0.00   215.48    21.59     0.05    2.70    
0.00    2.70   1.21   2.42

参数解说

rrqm/s: 每秒进行 merge (合并扇区读)的读操作数目。

wrqm/s: 每秒进行 merge (合并扇区写)的写操作数目。

r/s: 每秒完成的读 I/O 设备次数(读ops)。

w/s: 每秒完成的写 I/O 设备次数(写ops)。

rkB/s: 每秒读K字节数。

wkB/s: 每秒写K字节数。

avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。

avgqu-sz: 平均I/O队列长度。队列长度越短越好 。

await: 平均每次设备I/O操作的等待时间 (毫秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。

r_await: 平均每次读设备I/O操作的等待时间 (毫秒)。

w_await: 平均每次写设备I/O操作的等待时间 (毫秒)。

svctm: 平均每次设备I/O操作的服务时间 (毫秒)。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长, 系统上运行的应用程序将变慢。

%util: 在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

4、配置监控主机开始时自动运行iostat收集数据

[root@masterdb ~]# vim /etc/rc.d/rc.local 
/usr/bin/nohup  /usr/bin/iostat -k -x -d 10 >> /tmp/iostat_output 2>&1 &
[root@masterdb ~]# 

5、zabbix agentd配置UserParameters参数文件

[root@masterdb tmp]# cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@masterdb zabbix_agentd.conf.d]# vim userparameter_diskio.conf
#硬盘设备自我发现
UserParameter=disk.io.discovery_disk[*],/usr/local/zabbix/bin/discovery_disk.sh $1

#每秒进行 merge 的读操作数目
UserParameter=disk.io.rrqm[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b"|
tail -1|awk '{print $$2}'  
#每秒进行 merge 的写操作数目。
UserParameter=disk.io.wrqm[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b"|
tail -1|awk '{print $$3}'  
#每秒完成的读 I/O 设备次数。
UserParameter=disk.io.r-ops[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b"|
tail -1|awk '{print $$4}'
#每秒完成的写 I/O 设备次数。 
UserParameter=disk.io.w-ops[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |
tail -1|awk '{print $$5}'
#每秒读K字节数。
UserParameter=disk.io.r-KBps[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |
tail -1|awk '{print $$6}'
#每秒写K字节数。
UserParameter=disk.io.w-KBps[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |
tail -1|awk '{print $$7}'
#平均每次设备I/O操作的数据大小 (扇区)。
UserParameter=disk.io.avgrq-sz[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |
tail -1|awk '{print $$8}'
#平均I/O队列长度。
UserParameter=disk.io.avgqu-sz[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |
tail -1|awk '{print $$9}'
#平均每次设备I/O操作的等待时间 (毫秒)。
UserParameter=disk.io.await[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |
tail -1|awk '{print $$10}'
#平均每次读设备I/O操作的等待时间 (毫秒)。 
UserParameter=disk.io.r_await[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |
tail -1|awk '{print $$11}'
#平均每次写设备I/O操作的等待时间 (毫秒)。 
UserParameter=disk.io.w_await[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |
tail -1|awk '{print $$12}'
#平均每次设备I/O操作的服务时间 (毫秒)。
UserParameter=disk.io.svctm[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |
tail -1|awk '{print $$13}'
#在统计时间内所有处理IO时间,除以总共统计时间
UserParameter=disk.io.util[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |
tail -1|awk '{print $$14}'

6、增加一个Discovery rule

打开zabbix web 管理平台-〉Configuration-〉Templates -〉Template APP Disk IO-〉Discovery rules -〉Create discovery rule

主机的硬盘基本上是不会经常变化的,所以数据刷新上基本300秒足够了

详细说明见

http://www.ttlsa.com/zabbix/zabbix-low-level-discover/

https://www.zabbix.com/documentation/2.2/manual/discovery/low_level_discovery

7、增加需要的ITEM PROTOTYPES

打开zabbix web 管理平台-〉Configuration-〉Templates -〉Template APP Disk IO-〉Discovery rules -〉Item prototypes-〉Create item prototypes

一共增加上面的item项目,对应上面的UserParameters。注意Read Bytes/sec、Write Bytes/sec的Use custom multiplier为1024。

IO util的单位:%

Read Bytes/sec的单位:B/sec

Read ops的单位:ops/s

Write Bytes/sec的单位:B/sec

Write ops的单位:ops/s

详细说明见

https://www.zabbix.com/documentation/2.2/manual/config/items

http://www.ttlsa.com/zabbix/zabbix-create-item/

8、增加需要的Trigger prototypes

打开zabbix web 管理平台-〉Configuration-〉Templates -〉Template APP Disk IO-〉Discovery rules -〉Trigger prototypes-〉Create trigger prototype

更多的说明见

https://www.zabbix.com/documentation/2.2/manual/config/triggers

http://www.ttlsa.com/zabbix/zabbix-create-trigger/

9、增加需要的Graph prototypes

打开zabbix web 管理平台-〉Configuration-〉Templates -〉Template APP Disk IO-〉Discovery rules -〉Graph prototypes-〉Create graph prototype

一共增加了三个Graph prototype,分别显示

1)、IO uitl

2)、Write Bytes and Read Bytes

3)、Write ops and Read ops

更多的说明见

https://www.zabbix.com/documentation/2.2/manual/config/visualisation/graphs

http://www.ttlsa.com/zabbix/zabbix-custom-graph/

10、把模板分配给需要的监控主机

打开zabbix web 管理平台-〉Configuration-〉Templates -〉Template APP Disk IO-〉Discovery rules -〉Trigger prototypes-〉Create trigger prototype

更多的说明见

https://www.zabbix.com/documentation/2.2/manual/config/templates/template

http://www.ttlsa.com/zabbix/zabbix-create-templates/

导入后,pg232主机就能自动的监控硬盘的io性能指标

十二、Dell服务器硬件运行状态监控

下面讲解怎样对服务器的硬件运行状态进行监控,以dell服务器为例

1、安装omsa

[root@masterdb bin]# wget -O - http://linux.dell.com/repo/hardware/latest/bootstrap.cgi|bash
[root@masterdb bin]# yum install srvadmin-all
[root@masterdb bin]# ln -s /opt/dell/srvadmin/sbin/omreport /usr/bin/omreport
[root@masterdb bin]# ln -s /opt/dell/srvadmin/sbin/omconfig /usr/bin/omconfig
[root@masterdb bin]# echo "/usr/bin/omconfig system webserver 
action=stop">>/opt/dell/srvadmin/sbin/srvadmin-services.sh
[root@masterdb bin]# /opt/dell/srvadmin/sbin/srvadmin-services.sh start

2、测试检查服务器硬件健康状态

[root@masterdb bin]# omreport chassis
Health

Main System Chassis

SEVERITY : COMPONENT
Ok       : Fans
Ok       : Intrusion
Ok       : Memory
Ok       : Power Management
Ok       : Processors
Ok       : Temperatures
Ok       : Voltages
Ok       : Hardware Log
Ok       : Batteries

For further help, type the command followed by -?

3、编写UserParameters参数文件

[root@masterdb bin]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_hardwarecheck_dell.conf
#dell服务器健康检测
#电池健康检测
UserParameter=dell.hardware_battery,omreport chassis batteries|awk '/^Status/{if($NF=="Ok")
 {print 1} else {print 0}}'

#风扇健康检测   
UserParameter=dell.hardware_fan_health,awk -v hardware_fan_number=`omreport chassis fans|
grep -c "^Index"` -v hardware_fan=`omreport chassis fans|awk '/^Status/{if($NF=="Ok") 
count+=1}END{print count}'` 'BEGIN{if(hardware_fan_number==hardware_fan) {print 1} 
else {print 0}}'

#内存健康检测
UserParameter=dell.hardware_memory_health,awk -v hardware_memory=`omreport chassis memory|
awk '/^Health/{print $NF}'` 'BEGIN{if(hardware_memory=="Ok") {print 1} else {print 0}}'

#网卡健康检测--只有部分服务器可用
UserParameter=dell.hardware_nic_health,awk -v hardware_nic_number=`omreport chassis nics |
grep -c "Interface Name"` -v hardware_nic=`omreport chassis nics |
awk '/^Connection Status/{print $NF}'|wc -l` 'BEGIN{if(hardware_nic_number==hardware_nic) 
{print 1} else {print 0}}'

#CPU健康检测
UserParameter=dell.hardware_cpu,omreport chassis processors|awk '/^Health/{if($NF=="Ok")
 {print 1} else {print 0}}'

#电源健康检测--只有部分服务器可用,2U双电源以上的服务器
UserParameter=dell.hardware_power_health_2u,awk -v hardware_power_number=`omreport chassis
 pwrsupplies|grep -c "Index"` -v hardware_power=`omreport chassis pwrsupplies|
awk '/^Status/{if($NF=="Ok") count+=1}END{print count}'` 
'BEGIN{if(hardware_power_number==hardware_power) {print 1} else {print 0}}'

#芯片温度健康检测
UserParameter=dell.hardware_temp,omreport chassis temps|awk '/^Status/{if($NF=="Ok") 
{print 1} else {print 0}}'|head -n 1

#物理盘健康检测
UserParameter=dell.hardware_physics_health,awk -v hardware_physics_disk_number=`omreport
 storage pdisk controller=0|grep -c "^ID"` -v hardware_physics_disk=`omreport storage 
pdisk controller=0|awk '/^Status/{if($NF=="Ok") count+=1}END{print count}'` 
'BEGIN{if(hardware_physics_disk_number==hardware_physics_disk) {print 1} else {print 0}}'

#阵列盘健康检测
UserParameter=dell.hardware_virtual_health,awk -v hardware_virtual_disk_number=`omreport
 storage vdisk controller=0|grep -c "^ID"` -v hardware_virtual_disk=`omreport storage 
vdisk controller=0|awk '/^Status/{if($NF=="Ok") count+=1}END{print count}'` 
'BEGIN{if(hardware_virtual_disk_number==hardware_virtual_disk) {print 1} else {print 0}}'

#另一个电源健康检测--一般针对1U单电源服务器
UserParameter=dell.hardware_power_health_1u,omreport chassis|grep Power|awk '{if($1=="Ok") 
{print 1} else {print 0}}'  

4、建立一个新的模板

打开zabbix web 管理平台-〉Configuration-〉Templates -〉Create template

5、给UserParameters增加对应的item

打开zabbix web 管理平台-〉Configuration-〉Templates -〉Template APP Hardware Check Dell-〉Items-〉Create Item

6、给每个Item增加对应的trigger

打开zabbix web 管理平台-〉Configuration-〉Templates -〉Template APP Hardware Check Dell-〉Triggers-〉Create trigger

7、增加一个监控图

打开zabbix web 管理平台-〉Configuration-〉Templates -〉Template APP Hardware Check Dell-〉Graphs-〉Create graphs

把监控指标都全放一个图上面,方便查看

十三、建立监控看板Screens

对于一台主机,我们可能有很多监控图需要查看,如果打开很多窗口,查看起来也不方便,zabbix提供了创建监控看板的功能

1、创建一个新的监控看板Screens

打开zabbix web 管理平台-〉Configuration-〉 Screens -〉Create screen

更多的说明见

https://www.zabbix.com/documentation/2.2/manual/config/visualisation/screens

http://www.ttlsa.com/zabbix/zabbix-screens-configure/

2、看板Screens查看

打开zabbix web 管理平台-〉Monitoring-〉 Screens

社区资源

Postgresql源码安装

http://www.postgres.cn/docs/9.6/installation.html

https://www.postgresql.org/docs/9.6/static/installation.html

Apache源码安装

http://httpd.apache.org/docs/2.2/install.html#configure

http://httpd.apache.org/docs/2.2/programs/configure.html#installationdirectories

Php源码安装

http://php.net/manual/zh/install.unix.apache2.php

http://php.net/manual/zh/configure.about.php

Zabbix官方文档

https://www.zabbix.com/documentation/2.2/manual

德哥关于zabbix的blog

https://yq.aliyun.com/articles/9026

http://blog.163.com/digoal@126/blog/?spm=5176.100239.blogcont9026.3.IrfGs3#m=0&t=1&c=fks_084075080085088066084084082095085080082075083081086071084

pg_bot_banner.jpg


评论:0   浏览: 59715                   顶: 7970  踩: 8191 

请在登录后发表评论,否则无法保存。


发表评论:
加入我们
QQ群1:5276420
QQ群2:3336901
QQ群3:254622631
文档群:150657323
文档翻译平台:按此访问
社区邮件列表:按此订阅
商业支持
扫码关注
加入我们
QQ群1:5276420
QQ群2:3336901
QQ群3:254622631
文档群:150657323
文档翻译平台:按此访问
社区邮件列表:按此订阅
商业支持
扫码关注
© PostgreSQL中文社区 ... (自2010年起)