天天看点

Zabbix服务器端安装过程(含centos 7.1安装 zabbix3.0.8的故障排除)

Task 7

 目标:监控线上服务的正常运行

 意义:了解运维的另一份重要职责,系统监控

 步骤:1.安装zabbix                  2.配置监控任务7的Web项目

 要求:1.停止服务之后,发出报警邮件 

                  2.启动服务之后,发出故障恢复邮件                  

                  3.查看系统的其他负载。了解CPU,IO,内存的使用率。超过设定阈值之后报警。

 掌握技能:     

   1.zabbix的配置 2.邮件发送的配置 3.了解服务器的基本状况

这篇文章写的已经很到位了,一步一步按着来肯定能安装完毕,不过要注意他的Nginx安装包不是官方下载的,而是lnmp的包,如果是官方下载的话,需要在.conf那里多改一点东西。

这里面有几个细节问题,原作者没有说,都是发生在网页调试阶段

将lnmp的nginx.conf中的local位置改成setup.php的目录,即由原来的/home/wwwroot/default改成/usr/local/nginx/html/。这样配置文件会默认打开新的路径并且找到index.html,同时在这个路径下输入/zabbix/setup.pjp也是可读的。

2)下一步,即Check of pre-requisites这步会有红字错误,文中作者说是要改/etc/php.ini,其实不对,#find / -name php.ini一下就会发现,其实有两个php.ini,需要改的其实是/usr/local/php/etc/php.ini,如图:

<a href="http://s2.51cto.com/wyfs02/M02/79/DC/wKiom1ac6ZOQNes6AABs4_Sn-zI879.png" target="_blank"></a>

<a href="http://s5.51cto.com/wyfs02/M00/79/DB/wKioL1ac6c3TW-_uAAA1eJAlyfo145.png" target="_blank"></a>

改完之后,需要#service php-fpm reload一下,然后刷新一下网页就能看到,配置文件里改成了303,而网页显示的也是303,这证明了这个php.ini才是真的需要更改的配置文件,其实改成300就可以了。

如果Zabbix server is not running怎么办?

先#netstat -anp|grep zabbix,看看是否有zabbix server的项目,若是没有的话,#service zabbix_server start,这句命令有的机器是#service zabbix-server start。

同时要关闭selinux,这玩意我也不知道美国国家安全局发明它有啥用,貌似我接触的运维软件都是要关闭这个的。#vim /etc/selinux/conf,然后将SELINUX = disabled。

还有一种超级情况,就是这样:

明明启动了zabbix_server,但是检查端口的使用,却没有server这个服务,可见server根本没有启动,如果你使用#service zabbix_server restart,会发现shutdown那一步是“失败”的。

出现这种情况第一件事先检查mysql的服务器是否打开,#service mysql start,如果依旧,那就调用启动日志。默认的启动日志是/tmp/zabbix_server.log,vim了它,发现出现这样的字样:

我这个情况很奇怪,我使用账号zabbix和对应的密码是可以登录mysql的,但是SHOW DATABASES一下却看不到这个zabbix的数据库,而使用root账号登陆却是有的,我想是用户权限出了问题。于是我把zabbix_server.conf的DBuser改成root,密码也对应更改,就提示OK了。

情况二:检查日志,zabbix的日志写的比较好,比较通俗,发现日志的内容是这样的:

connection to database 'ZABBIX' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

 26986:20160707:092553.068 Database is down. Reconnecting in 10 seconds.

由于我这次设置的数据库叫ZABBIX,区分大小写。所以第一时间要登陆mysql,然后使用SHOW DATABASESE;这个命令检查一下这个账户和密码是否能看到ZABBIX这个数据库,如果没有,就CREATE DATABASE ZABBIX;建立ZABBIX数据库。

建立完毕,还是提示连接不上,那么就去zabbix_server.log里检查一下DBName和DBPasswd是否正确,顺便再去zabbix.conf.php检查一下,如果不正确,请按设定更改,然后#service zabbix_server restart。

如果还不正确,那就是socket的问题,#ps auxwww|grep mysql,检查一下看一下mysql的socket,比如这台机器检查到mysql的情况如下:

<a href="http://s2.51cto.com/wyfs02/M01/83/D1/wKioL1d9suOCCwZTAAAcQJ2k03s766.png" target="_blank"></a>

然后重启zabbix_server服务即可。

==========================================分割线======================================

这里说一点其他地方的坑:

1)Requires: libnetsnmp.so.20()(64bit)的错误:

找我要libnetsnmp.so.20()(64bit),但是7.1已经没有20()了,那么就去/etc/yum.repos.d/zabbix.repo这个文件里,把下面两行更改一下:

1

2

<code>baseurl=http:</code><code>//repo</code><code>.zabbix.com</code><code>/zabbix/2</code><code>.4</code><code>/rhel/6/</code><code>$basearch/</code>

<code>baseurl=http:</code><code>//repo</code><code>.zabbix.com</code><code>/non-supported/rhel/6/</code><code>$basearch/</code>

更改成

<code>baseurl=http:</code><code>//repo</code><code>.zabbix.com</code><code>/zabbix/2</code><code>.4</code><code>/rhel/7/</code><code>$basearch/ </code>

<code>baseurl=http:</code><code>//repo</code><code>.zabbix.com</code><code>/non-supported/rhel/7/</code><code>$basearch/</code>

2)启动zabbix的时候会启动失败,这个时候需要先把seforce停止,然后安装下面两个东西:

3)进入web界面却是下面这样的样子,那是因为这台机器是原机zabbix2.2升级到3.0.8,需要在浏览器把cookie重新清理一下即可:

<a href="https://s3.51cto.com/wyfs02/M01/8F/4B/wKiom1jaFxqyVZjHAAEu6u4mgz8102.png-wh_500x0-wm_3-wmp_4-s_872966403.png" target="_blank"></a>

 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1736330