您的位置:首页 > 运维架构 > Linux

ubuntu下使用zabbix

2016-05-30 09:58 851 查看

1. Zabbix

    zabbix(音同 zæbix)是一个基于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等平台上。

1.1 Zabbix的主要特点:

- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能

1.2 Zabbix主要功能:

- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视

2.Ubuntu下安装Zabbix

    本来在Ubuntu下安装Zabbix并不复杂,但我在安装中遇到一些问题有必要记录下来,可能其他人也会遇到。

2.1 首先安装apache、php5、mysql

    这一部分还是很轻松的

[html] view
plain copy

 





sudo apt-get install apache2  

  

sudo apt-get install php5  

  

sudo apt-get install libapache2-mod-php5  

  

sudo /etc/init.d/apache2 restart // 重启apache,此时php5已经可用了  

  

sudo apt-get install mysql-server//数据库账号:root密码:root  

  

sudo apt-get install libapache2-mod-auth-mysql  

  

sudo apt-get install php5-mysql  

  

sudo /etc/init.d/apache2 restart // 再次重启apache,使新服务正常激活  

  

然后在终端输入:  

  

sudo ls /etc/apache2/mods-enabled  

  

看看这个目录下(默认存在),有没有php5.conf 和 php5.load,如果没有则:  

  

sudo a2enmod php5  

  

启用 php 模块,然后重启apache即可。OK,apache、php5、mysql都已经可用了。  

  

sudo /etc/init.d/apache2 restart  

    这里还需要配置下/etc/php5/apache2/php.ini

[html] view
plain copy

 





;date.timezone ===>去掉注释在=后添加 Asia/Shanghai  

  

max_input_time =600  

  

max_execution_time= 600  

  

post_max_size =32M  

  

sudo /etc/init.d/apache2 restart  

2.2 Zabbix安装

    这里开始就有些小问题了。

[html] view
plain copy

 





//安装zabbix服务端  

  

sudo apt-get install zabbix-server-mysql  

  

//安装过程会弹出许多窗口,默认就行了,期间要求输入2-3次数据库的密码(这里一直填root)  

    按安装说明来看,会自动设置数据库信息,同时自动建库,但是我在这里安装到一半因不明原因安装失败了。于是只好关闭shell窗口。

    另起shell重新安装时,遇到问题:

[html] view
plain copy

 





运行程序更新时出现报错:  

  

无法获得锁 /var/lib/dpkg/lock - open (11: 资源临时不可用)  

    好吧,刚刚强制关闭,安装程序锁住了资源。于是:

[html] view
plain copy

 





sudo rm /var/cache/apt/archives/lock  

sudo rm /var/lib/dpkg/lock  

sudo rm /var/lib/dpkg/updates/*  

sudo apt-get update  

sudo apt-get upgrade  

sudo apt-get aotuclean  

sudo apt-get aoturemove  

sudo apt-get clean  

    然后重新安装:

[html] view
plain copy

 





sudo apt-get install zabbix-server-mysql  

    这次安装倒是完成了,可是过程中一点反应也没有,启动时失败

[html] view
plain copy

 





yoara@ubuntu:~$ sudo /etc/init.d/zabbix-server start  

 * zabbix_server is disabled in /etc/default/zabbix-server.  

    于是打开相关文档查看

[html] view
plain copy

 





cat /etc/default/zabbix-server  

  

#如下一段  

# This is by default set to "no" because a MySQL database needs to be prepared  

# and configured before you can start the Zabbix server for the first time.  

#  

# Instructions on how to set up the database can be found in  

# /usr/share/doc/zabbix-server-mysql/README.Debian  

START=no  

    难怪,这里被设置成no了,首先要自己去设置数据库信息。。

[html] view
plain copy

 





cat/usr/share/doc/zabbix-server-mysql/README.Debian  

  

create database zabbix character set utf8;  

create user 'zabbix'@'%' identified by 'zabbix';  

grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';  

  

zcat /usr/share/zabbix-server-mysql/{schema,images,data}.sql.gz \  

   | mysql -uzabbix -pzabbix zabbix  

    在安装脚本时,又出了mysql的问题

[html] view
plain copy

 





ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)  

    这问题一般是把socket改到/tmp/mysqld.sock,不过我这里先不管他,直接指定IP访问

[html] view
plain copy

 





zcat /usr/share/zabbix-server-mysql/{schema,images,data}.sql.gz \  

   | mysql -h127.0.0.1 -uzabbix -pzabbix zabbix  

    终于zabbix-server启动成功了。

    接着安装zabbix网站

[html] view
plain copy

 





//安装zabbix的网站程序  

  

sudo apt-get install zabbix-frontend-php(数据库root,root,root)  

    好吧,又是安装完没有一点反应,果然,不知原因的只是解压到了/usr/share/zabbix目录下,什么都没发生。于是,手动拷贝到apache目录下

[html] view
plain copy

 





sudo cp -r /usr/share/zabbix /var/www/html/zabbix  

    现在访问,终于可以出现设置界面了

[html] view
plain copy

 





//停止zabbix-server  

  

sudo/etc/init.d/zabbix-server stop  

  

//启动zabbix-server  

  

sudo/etc/init.d/zabbix-server start  

  
http://服务器地址或域名/zabbix  


    不过安装到最后一步又出问题了,还算好,提供了下载,下载后ftp到服务器

[html] view
plain copy

 





sudo cp /home/yoara/zabbix.conf.php /etc/zabbix/zabbix.conf.php  



    复制过去后还是不行,那就得文件权限的问题了,于是ls- lh 果然如下,

[html] view
plain copy

 





yoara@ubuntu:/etc$ ls -lh /etc/zabbix  

总用量 36K  

drwxr-xr-x 2 root root 4.0K  2月 16  2014 alert.d  

-rw------- 1 root root  425 12月  9 22:46 dbconfig.php  

-rw-r--r-- 1 root root 7.4K  2月 16  2014 zabbix_agentd.conf  

drwxr-xr-x 2 root root 4.0K  2月 16  2014 zabbix_agentd.conf.d  

-rw------- 1 root root  425 12月  9 22:36 zabbix.conf.php  

-rw-r--r-- 1 root root  12K 12月  9 21:10 zabbix_server.conf  

    因为在安装时也没注意账户,实际上对于这种应用,每个应用都要新建用户和用户组,这里就先全部授权

[html] view
plain copy

 





sudo chmod -R 777 /etc/zabbix  

    OK,终于可以了。登录用户名密码admin/zabbix

    最后,安装zabbix客户端,安装过程也就结束了。

[html] view
plain copy

 





//安装zabbix客户端  

  

sudo apt-get install zabbix-agent  

[html] view
plain copy

 





安装客户端后,若不是服务器本机,都需要修改zabbix配置文件/etc/zabbix/zabbix_agent.conf和/etc/zabbix/zabbix_sagentd.conf的一行  

  

server=zabbix服务端地址或域名  

3. 可能遇到的问题

[html] view
plain copy

 





no active checks on server [127.0.0.1:10051]: host [ubuntu] not found  

解决方法:
1.在页面上设置“组态->主机”将主机设置为监控客户端的机器hostname。
2./etc/zabbix/zabbix_agent.conf 中的hostname与1中设置的一致。

    



顶1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux ubuntu zabbix