![[技术干货] zabbix_server正常运行,却提示服务器没有运行,第1张 [技术干货] zabbix_server正常运行,却提示服务器没有运行,第1张](/aiimages/%5B%E6%8A%80%E6%9C%AF%E5%B9%B2%E8%B4%A7%5D+zabbix_server%E6%AD%A3%E5%B8%B8%E8%BF%90%E8%A1%8C%2C%E5%8D%B4%E6%8F%90%E7%A4%BA%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%B2%A1%E6%9C%89%E8%BF%90%E8%A1%8C.png)
Zabbix server is not running:the information displayed may not be current
Zabbix服务器没有运行:显示的信息可能不是当前的
一、SELinux未关闭
selinux一定要关闭,如果开启selinux,可能zabbix的discovery都不能正常使用
关闭selinux方法:
1、修改/etc/selinux/config文件中的SELINUX=“”值为disable是,然后重启。
2、如果不想重启,使用setenforce 0
setenforce 1,selinux为enforcing模式
setenforce 0,selinux为permissive模式
二、zabbix web 目录下面,$ZBX_SERVER 是否为IP,如果是localhost,ping一下localhost是否能解析。如果不能,需要/etc/hosts文件里增加相应的项目。
三、查看php的fsockopen模块是否启用。
方法一:
第一步:
phpini文件中查找
allow_url_fopen = On
使其值为On
第二步:
phpini文件中查找
extension=php_openssldll
如果前面有分号,去掉分号
第三步:
重启web服务器,apache或IIS
方法二:
1 vi phpini
找到 allow_url_fopen 这个参数设置成 On,即
allow_url_fopen = On
2 让你的php支持 opensll扩展。
默认,是没有openssl扩展的,只能重新编译安装。
yum install openssl openssl-devel
cd /usr/local/src/php-5214/ext/openssl
/usr/local/php/bin/phpize
/configure –with-openssl –with-php-config=/usr/local/bin/php-config
make && make install
看提示,把编译成的opensslso 拷贝到你在phpini 中指定的 extension_dir 下
3 vi phpini
加入
extension=opensslso
4 重启web server
四、监控对象占满了trapper进程导致前端与server无法通信
“At least one trapper process must be running to display server availability and view queue in the frontend”——Trapper进程用于接收前端查询server可用性及队列的请求将StartTrappers=20调整到StartTrappers=100,重启zabbix-server。
技术交流欢迎加入Q群:177428068
自动寻找磁盘
说到底,所有的自动判断都是人为的设置好所有的可能性,然后根据实际情况从中选择,方法有很多,看大家具体要求。在这里,我要对磁盘监控,首先要找出有哪些磁盘,这里使用shell脚本实现。由于zabbix的discovery需要固定的格式,具体可以参考这里,最下面部分。
脚本如下:
1 #!/bin/bash 2 #written by lenwood 3 #mail:ccyhaoran@livecn 4 diskarray=(`cat /proc/diskstats |grep -E "\bsd[abcdefg]\b|\bxvd[abcdefg]\b"|grep -i "\b$1\b"|awk '{print $3}'|sort|uniq 2>/dev/null`) 5 length=${#diskarray[@]} 6 printf "{\n" 7 printf '\t'"\"data\":[" 8 for ((i=0;i<$length;i++)) 9 do10 printf '\n\t\t{'11 printf "\"{#DISK_NAME}\":\"${diskarray[$i]}\"}"12 if [ $i -lt $[$length-1] ];then13 printf ','14 fi15 done16 printf "\n\t]\n"17 printf "}\n"
如上,这里通过读取/proc/diskstats,选择其中的磁盘,根据实际情况,我这里就找出类似sda或者xvda的,因为我们用的是sata接口的硬盘以及部分阿里云的服务器。
脚本执行出来的结果类似如下
1 {2 "data":[3 {"{#DISK_NAME}":"sda"}4 {"{#DISK_NAME}":"sdb"}5 ]6 }
然后使用zabbix执行这个脚本,那么就要将其写到zabbix_agentdconf中去,如下
UserParameter=ioscandisk[],/infra/zabbix/os/disk_scansh $1
iostat命令
对于磁盘的监控我采用iostat命令,因为它能给出磁盘的详细信息,如扇区读写情况,io队列长度,iowait,svctime等等。
命令如下:
1 nohup iostat -m -x -d 30 >/tmp/iostat_output &
通过tail -f /tmp/iostat_output,可获得iostat命令收集的磁盘信息,结果类似下面
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
hda 000 020 000 743 000 016 4328 023 3080 243 181hda1 000 020 000 743 000 016 4328 023 3080 243 181hda2 000 000 000 000 000 000 000 000 000 000 000xvdb 000 000 000 000 000 000 000 000 000 000 000xvdb1 000 000 000 000 000 000 000 000 000 000 000hdc 000 000 000 000 000 000 000 000 000 000 000
其中部分参数的详细解释如下
rrqm/s: 每秒进行 merge 的读 *** 作数目。即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写 *** 作数目。即 delta(wmerge)/s
r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/sw/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s: 每秒读扇区数。即 delta(rsect)/s
wsec/s: 每秒写扇区数。即 delta(wsect)/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)
wkB/s: 每秒写K字节数。是 wsect/s 的一半。(需要计算)
avgrq-sz: 平均每次设备I/O *** 作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
await: 平均每次设备I/O *** 作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次设备I/O *** 作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)%util: 一秒中有百分之多少的时间用于 I/O *** 作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)
zabbix可以对CPU负荷、内存使用、磁盘使用、网络状况端实行监控,并且可以端口监视与日志监视。
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
扩展资料:
要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上。
但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。
参考资料来源:百度百科—zabbix
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)