Ubuntu下安装Zabbix

1. Zabbix

    zabbix(音同 zbix)是一个基于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 plaincopy在CODE上查看代码片派生到我的代码片

  1. sudo apt-get install apache2  

  2.   

  3. sudo apt-get install php5  

  4.   

  5. sudo apt-get install libapache2-mod-php5  

  6.   

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

  8.   

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

  10.   

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

  12.   

  13. sudo apt-get install php5-mysql  

  14.   

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

  16.   

  17. 然后在终端输入:  

  18.   

  19. sudo ls /etc/apache2/mods-enabled  

  20.   

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

  22.   

  23. sudo a2enmod php5  

  24.   

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

  26.   

  27. sudo /etc/init.d/apache2 restart  

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

[html] view plaincopy在CODE上查看代码片派生到我的代码片

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

  2.   

  3. max_input_time =600  

  4.   

  5. max_execution_time600  

  6.   

  7. post_max_size =32M  

  8.   

  9. sudo /etc/init.d/apache2 restart  


2.2 Zabbix安装

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

[html] view plaincopy在CODE上查看代码片派生到我的代码片

  1. //安装zabbix服务端  

  2.   

  3. sudo apt-get install zabbix-server-mysql  

  4.   

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


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

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

[html] view plaincopy在CODE上查看代码片派生到我的代码片

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

  2.   

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


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

[html] view plaincopy在CODE上查看代码片派生到我的代码片

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

  2. sudo rm /var/lib/dpkg/lock  

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

  4. sudo apt-get update  

  5. sudo apt-get upgrade  

  6. sudo apt-get aotuclean  

  7. sudo apt-get aoturemove  

  8. sudo apt-get clean  


    然后重新安装:

[html] view plaincopy在CODE上查看代码片派生到我的代码片

  1. sudo apt-get install zabbix-server-mysql  


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

[html] view plaincopy在CODE上查看代码片派生到我的代码片

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

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


    于是打开相关文档查看

[html] view plaincopy在CODE上查看代码片派生到我的代码片

  1. cat /etc/default/zabbix-server  

  2.   

  3. #如下一段  

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

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

  6. #  

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

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

  9. START=no  

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

[html] view plaincopy在CODE上查看代码片派生到我的代码片

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

  2.   

  3. create database zabbix character set utf8;  

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

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

  6.   

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

  8.    | mysql -uzabbix -pzabbix zabbix  


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

[html] view plaincopy在CODE上查看代码片派生到我的代码片

  1. 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 plaincopy在CODE上查看代码片派生到我的代码片

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

  2.    | mysql -h127.0.0.1 -uzabbix -pzabbix zabbix  


    终于zabbix-server启动成功了。

    接着安装zabbix网站

[html] view plaincopy在CODE上查看代码片派生到我的代码片

  1. //安装zabbix的网站程序  

  2.   

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


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

[html] view plaincopy在CODE上查看代码片派生到我的代码片

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


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

[html] view plaincopy在CODE上查看代码片派生到我的代码片

  1. //停止zabbix-server  

  2.   

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

  4.   

  5. //启动zabbix-server  

  6.   

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

  8.   

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




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

[html] view plaincopy在CODE上查看代码片派生到我的代码片

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


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

[html] view plaincopy在CODE上查看代码片派生到我的代码片

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

  2. 总用量 36K  

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

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

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

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

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

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


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

[html] view plaincopy在CODE上查看代码片派生到我的代码片

  1. sudo chmod -R 777 /etc/zabbix  


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

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

[html] view plaincopy在CODE上查看代码片派生到我的代码片

  1. //安装zabbix客户端  

  2.   

  3. sudo apt-get install zabbix-agent  

[html] view plaincopy在CODE上查看代码片派生到我的代码片

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

  2.   

  3. server=zabbix服务端地址或域名  



3. 可能遇到的问题

[html] view plaincopy在CODE上查看代码片派生到我的代码片

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


解决方法:

1.在页面上设置“组态->主机”将主机设置为监控客户端的机器hostname。

2./etc/zabbix/zabbix_agent.conf 中的hostname与1中设置的一致。


你可能感兴趣的:(ubuntu,zabbix)