Task 7
目标:监控线上服务的正常运行
意义:了解运维的另一份重要职责,系统监控
步骤:1.安装zabbix 2.配置监控任务7的Web项目
要求:1.停止服务之后,发出报警邮件
2.启动服务之后,发出故障恢复邮件
3.查看系统的其他负载。了解CPU,IO,内存的使用率。超过设定阈值之后报警。
掌握技能:
1.zabbix的配置 2.邮件发送的配置 3.了解服务器的基本状况
http://www.osyunwei.com/archives/7984.html,这就是安装及汉化的全部过程,感谢先人栽树!
这篇文章写的已经很到位了,一步一步按着来肯定能安装完毕,不过要注意他的Nginx安装包不是官方下载的,而是lnmp的包,如果是官方下载的话,需要在.conf那里多改一点东西。
这里面有几个细节问题,原作者没有说,都是发生在网页调试阶段
1)http://本地ip/zabbix/setup.php 网页打不开
将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,如图:
改完之后,需要#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了它,发现出现这样的字样:
说链接mysql的zabbix数据库失败,那么就要返回去zabbix的配置文件,看一下用户名和密码是否填写正确,默认的zabbix的配置文件在/user/local/zabbix/etc/zabbix_server.conf,vim一下,找到DBname,这个是zabbix,不要改,DBuser这个是mysql的登录名,DBpasswd这个就是登陆的密码。
我这个情况很奇怪,我使用账号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的情况如下:
看到配置的socket位置是/tmp/mysql.sock,而不是日志写的/var/lib/mysql/mysql.sock,于是乎,来到zabbix_server.conf里更改如下:
然后重启zabbix_server服务即可。
==========================================分割线======================================
centos7.1 通过yum安装 zabbix 3.0的方法主要参考:http://www.cnblogs.com/hanyifeng/p/5353068.html。
这里说一点其他地方的坑:
1)Requires: libnetsnmp.so.20()(64bit)的错误:
# yum install zabbix-agent zabbix-server zabbix-server-pgsql -y ... Error: Package: zabbix-server-pgsql-2.4.1-1.el6.x86_64 (zabbix) Requires: libnetsnmp.so.20()(64bit) # yum provides libnetsnmp* --showduplicates | grep -w libnetsnmp Provides : libnetsnmp.so.31 Provides : libnetsnmp.so.31()(64bit) Provides : libnetsnmp.so.31()(64bit)
找我要libnetsnmp.so.20()(64bit),但是7.1已经没有20()了,那么就去/etc/yum.repos.d/zabbix.repo这个文件里,把下面两行更改一下:
1
2
|
baseurl=http:
//repo
.zabbix.com
/zabbix/2
.4
/rhel/6/
$basearch/
baseurl=http:
//repo
.zabbix.com
/non-supported/rhel/6/
$basearch/
|
更改成
1
2
|
baseurl=http:
//repo
.zabbix.com
/zabbix/2
.4
/rhel/7/
$basearch/
baseurl=http:
//repo
.zabbix.com
/non-supported/rhel/7/
$basearch/
|
2)启动zabbix的时候会启动失败,这个时候需要先把seforce停止,然后安装下面两个东西:
[root@test ~]# yum install trousers -y [root@test ~]# yum install gnutls -y
3)进入web界面却是下面这样的样子,那是因为这台机器是原机zabbix2.2升级到3.0.8,需要在浏览器把cookie重新清理一下即可:
本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1736330