开源zabbix 服务器监控

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 agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。

zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(trapping方式),同时还可被动接收zabbix agent发送的数据(trapping方式)

扩展阅读:http://www.oschina.net/p/zabbix

 

环境: LAMP  Centos 6.3-i386

1、安装快速&EPEL 软件源

EPEL 安装
 
  1. 适用于Centos 5&Red Hat5 
  2. rpm -Uvh http://mirrors.ustc.edu.cn/epel/5/i386/epel-release-5-4.noarch.rpm 
  3. rpm -Uvh http://mirrors.ustc.edu.cn/epel/5/x86_64/epel-release-5-4.noarch.rpm 
  4.   
  5. 适用与系统Centos 6&Red Hat 6 
  6. rpm -Uvh http://mirrors.ustc.edu.cn/epel/6/i386/epel-release-6-8.noarch.rpm  
  7. rpm -Uvh http://mirrors.ustc.edu.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm 
网易163源(可忽略)
  1. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup  
  2. cp /root/CentOS6-Base-163.repo /etc/yum.repos.d/  
更新缓存
  1. yum makecache  

2、安装 LAMP +zabbix server 所需软件

  1. yum install -y mysql-server httpd php mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml wget make libtermcap-devel OpenIPMI-devel zlib-devel  glibc-devel  gcc automake  libidn-devel openssl-devel iksemel iksemel-devel

3、下载zabbix-server软件包

  1. 使用wget下载 
  2. wget -c http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.4/zabbix-2.0.4.tar.gz 
  3. 解压到当前目录 
  4. tar -zxf zabbix-2.0.4.tar.gz 
  5. 将zabbix mysql的数据库文件copy 到一个便捷路径,便于数据库导入 
  6. cp /root/zabbix-2.0.4/database/mysql/* /mnt 

4、数据库部分

 
  1. 启动mysql 
  2. service mysqld start 
  3. 为root 创建mysql 密码 
  4. mysqladmin -u root password 'new-password-here' 
  5. 登陆mysql 
  6. mysql -u root -p 
  7. 创建zabbix数据库 
  8. mysql> create database zabbix character set utf8; 
  9. 返回状态:Database changed 
  10. 查看 
  11. mysql> show databases; 
  12. 进入zabbix 库下 
  13. mysql> use zabbix; 
  14. 导入zabbix 的数据sql,导入顺序必须是下面的 
  15. mysql> source /mnt/schema.sql 
  16. mysql> source /mnt/data.sql 
  17. mysql> source /mnt/p_w_picpaths.sql 
  18. 导入返回状态:Query OK 
  19. 查看  mysql> show tables; 
  20. mysql> quit
  21. ps:/mnt 路径下是 先前已经将 /root/zabbix-2.0.4/database/mysql/* 复制在/mnt下, 方便这里 source。数据库导入还有其他方式 
mysql 登陆如果出现错误
  1. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (usingpassword: YES) 
  2. 处理方式 
  3. service mysqld stop 
  4. mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 
  5. mysql -u root mysql 
  6. mysql> UPDATE user SET Password=PASSWORD('密码自己设定') where USER='root' and host='root' or host='localhost'
  7. mysql> FLUSH PRIVILEGES; 
  8. mysql> quit 
  9. service mysqld start 
  10. mysql -uroot -p 
  11. Enter password: <密码自己设定>   

5、zabbix server 编译安装

 
  1. 创建zabbix 用户及用户组 
  2. groupadd -g 130 zabbix 
  3. useradd -u 130 -g zabbix -c 'Zabbix monitoring' zabbix 
  4. 也可 useradd zabbix  
进入到zabbix解压目录
  1. 执行  
  2. ./configure  --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-jabber --with-libcurl --with-openipmi --enable-agent  
  3. 结束后 查看下列几项  
  4. Enable server:         yes  
  5. With database:         MySQL  
  6. WEB Monitoring via:    cURL  
  7. Native Jabber:         yes  
  8. SNMP:                  net-snmp  
  9. IPMI:                  openipmi  
  10. Enable agent:          yes  
  11. 正确后执行 
  12. make && make install  
拷贝zabbix web 文件到html目录下并改名
  1. cp -rf /root/zabbix-2.0.4/frontends/php /var/www/html/  
  2. cd /var/www/html/ && mv php zabbix  
修改php 相关参数
  1. vi /etc/php.ini  
  2. 修改下面这几项
  3. max_execution_time = 300  
  4. date.timezone = Asia/Shanghai  
  5. post_max_size = 32M  
  6. mbstring.func_overload = 2  
  7. max_input_time = 300  

6、关闭防火墙&SELINUX

  1. service iptables stop   
  2. chkconfig --level 0123456  iptables  off   
  3. selinux 修改为disabled.   
  4. vi /etc/selinux/config   
  5. SELINUX=disabled   
  6. 启动http 
  7. service httpd restart  
  8. service mysqld restart  

7、安装web前端

hhtp://IP/zabbix

CentOS 6.0 上源码安装zabbix-server_zabbix-agent

 填写数据库 port 和数据库root 用户密码,填写完后点击Test ...

CentOS 6.0 上源码安装zabbix-server_linux_02

 Host 也可写成 localhost ;Name 可写可不写

CentOS 6.0 上源码安装zabbix-server_zabbix-agent_03 CentOS 6.0 上源码安装zabbix-server_linux_04 CentOS 6.0 上源码安装zabbix-server_zabbix中文安装_05CentOS 6.0 上源码安装zabbix-server_zabbix中文安装_06CentOS 6.0 上源码安装zabbix-server_zabbix中文安装_07

复制启动脚本并修改
 
  1. cp zabbix-2.0.4/misc/init.d/fedora/core/* /etc/init.d/  
  2. 修改执行zabbix启动脚本里的目录执行
  3. vi /etc/init.d/zabbix_server 
  4. vi /etc/init.d/zabbix_agentd
  5. server 和agentd 修改内容一样
  6. BASEDIR=/usr/local/zabbix  
  7. 另外还需 修改server 配置文件,添加DBpassword并取消注释(关键)
  8. vi /usr/local/zabbix/etc/zabbix_server.conf 
  9. DBName=zabbix 
  10. DBUser=root 
  11. DBPassword=your-root-mysql-password 
  1. service zabbix_server start 
  2. 添加为服务,并开机自启动 
  3. chkconfig --add zabbix_server 
  4. chkconfig --add zabbix_agentd 
  5. chkconfig --level 35 zabbix_server on 
  6. chkconfig --level 35 zabbix_agentd on 
  7. chkconfig --level 35 httpd on 
  8. chkconfig --level 35 mysqld on 
CentOS 6.0 上源码安装zabbix-server_zabbix-agent_08

内容参考http://www.zabbix.com/wiki/