企业应用监控利器-ZABBIX

zabbix简介php

  zabbix(http://www.zabbix.com/)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。html

  zabbix能监视各类网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各类问题。mysql

  zabbix由2部分构成,zabbix server与可选组件zabbix agent。linux

  zabbix server能够经过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它能够运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。  c++

  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)等系统之上。web

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

  另外zabbix server还支持SNMP (v1,v2),能够与SNMP软件(例如:net-snmp)等配合使用。数据库

  zabbix的主要特色:  vim

  - 安装与配置简单,学习成本低  windows

  - 支持多语言(包括中文)  

  - 免费开源  

  - 自动发现服务器与网络设备  

  - 分布式监视以及WEB集中管理功能  

  - 能够无agent监视  

  - 用户安全认证和柔软的受权方式  

  - 经过WEB界面设置或查看监视结果  

  - email等通知功能 宋体黑色

附加说明

  其实网上已有不少的文章说明怎么搭建监控系统,其中最多的要属cacti其次就属zabbix了。我的对这两个软件都体验了一把,感受zabbix最大的优点是简单、高效;而cacti虽然图然很好看但监控出来的数据不许确(和现实系统表现出来的有出入下面是cacai的图,你们可对比一下)。

  最后决定发现zabbix是正确的选择。网上看上去有不少参考资料,但当你参考时发现仍会出现不一样的问题:系统环境不同;zabbix的版本不一致;相关的PHP模块找不到;相关的MYSQL版本不一致;找不到合适的监控模板等等,本文的目的是尽可能解决这些问题同时将本身的作法及想法贡献出来你们一块儿参考。其中有些部份的内容可能用不到放在这里的缘由仅作参考用。

网络设定相关

1.增长路由

  1. route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.0.22

2.系统启动后网卡需手动激活

  缘由是最小化安装CentOS6.2后,网卡是没有默认启动的(onboot=“no”),而且设置了依赖NetworkManager 的选项(NM_CONTROLLED="yes"),可是minimal的状况下并无安装系统默认提供的网络管理工具NetworkManger。咱们须要修改/etc/sysconfig/network-script/ifcfg-eth0文件

3.安装传输文件协方式

  1. yum install lrzsz

时间设定

1.时间设定

  1. hwclock --set --date= "07/07/06 10:19"
  2. hwclock --hctosys

  时间的正确设定很重要,时间不一样步将致使监控的数据不一致,有可能出现监控了一周却始终只有三五天数据或是没法获得当前时间数据的状况。其中第一条语句是设定硬件时钟,第二条语句是设定系统时钟和硬件时钟同步。

2.时区设定

  1. tzselect

  时区的设定也很重要,若是系统及硬件时钟正确而时区设定不正确的话会致使图形显示出来的数据相关几个小时,因些调整好时区也是一个重要的步骤。

  查找系统文件etc/sysconfig/clock并修改成:

  1. ZONE= "Asia/Shanghai"
  2. UTC=true
  3. ARC=false

  找到系统文件/usr/share/zoneinfo/Asia/Shanghai用这个文件替换当前的/etc/localtime文件

  1. cp /usr /share /zoneinfo /Asia /Shanghai /etc /localtime

  修改php.ini

  1. date .timezone = Asia /Shanghai

字体设定

  zabbix自带的中文字体不太好看,你能够将本身替换喜欢的字体。经常使用的字体windows其实已经自带了(系统字体的存放位置位于c:\windows\font中,以下图所示),你能够直接用windows中的字体进行替换。

2012-6-20 21-56-43

  1. wget http: //nchc.dl.sourceforge.net /project /zabbix /ZABBIX %20Latest %20Stable /2.0.0 /zabbix-2.0.0.tar.gz
  2. tar zxvf zabbix-2.0.0.tar.gz
  3. cp -r /root /zabbix-2.0.0 /frontends /php /var /www /html /
  4. mv /var /www /html /php / /var /www /html /zabbix
  5. cd /var /www /html /zabbix /fonts /
  6. cp -frp DejaVuSans.ttf DejaVuSans.ttf.old
  7. mv simsunb.ttf DejaVusans.ttf

XDMCP设定

  对于在windows下想用xmanager链接linux进行图形化远程操做的人员来讲,设定好XDMCP是必不可少的步骤。这里仅仅介绍linux端的设定,对于该方式和该软件不了解的能够本身google下。

  1. vi /etc /gdm /custom.conf

  修改配置文件。

  1. [daemon ]
  2. [security ]
  3. AllowRemoteRoot=true
  4. [xdmcp ]
  5. Enable=true
  6. [greeter ]
  7. IncludeAll=true
  8. [chooser ]
  9. [ debug ]

iptables设定

  iptables的做用及它的重要性不需作太多解释,这里只列出必要开放的端口,对于语句或内容有疑问的请自行google或和我联系。

  1.   vi /etc /sysconfig /iptables

  修改iptables配置文件

  1. :INPUT ACCEPT [ 0 : 0 ]
  2. :FORWARD ACCEPT [ 0 : 0 ]
  3. :OUTPUT ACCEPT [ 0 : 0 ]
  4. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  5. -A INPUT -p icmp -j ACCEPT
  6. -A INPUT -i lo -j ACCEPT
  7. -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
  8. -A INPUT -m state --state NEW -m udp -p udp --dport 177 -j ACCEPT
  9. -A INPUT -m state --state NEW -m tcp -p tcp --dport 6000 : 6010 -j ACCEPT
  10. -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 : 10051 -j ACCEPT
  11. -A INPUT -m state --state NEW -m udp -p udp --dport 10050 : 10051 -j ACCEPT
  12. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
  13. -A INPUT -j REJECT --reject -with icmp -host -prohibited
  14. -A FORWARD -j REJECT --reject -with icmp -host -prohibited
  15. COMMIT

HTTPD设定

  HTTPD的做用也无需太多介结你们都能明白,这里须要说明的是HTTPD的设定多是在安装了HTTP和PHP组件后,这里仅作参考用并不表明安装必定按些步骤。实在不明白的google吧。

  1. vi /etc /httpd /conf.d /zabbix.conf

  增长配置文件

  1. <VirtualHost *: 80 >
  2.         ServerAdmin zabbix
  3.         DocumentRoot /var /www /html /zabbix
  4.         ErrorLog /var /log /httpd /zabbix .log
  5.         HostnameLookups Off
  6.         UseCanonicalName Off
  7.         ServerSignature Off
  8.  
  9. <Directory />
  10.         Options FollowSymLinks
  11.         AllowOverride None
  12.         Order allow,deny
  13.         Allow from all
  14. </Directory >
  15.  
  16. <Directory "/var/www/html" >
  17.         Options Indexes FollowSymLinks
  18.         AllowOverride None
  19.         Order allow,deny
  20.         Allow from all
  21. </Directory >
  22. </VirtualHost >

禁用selinux

  selinux确实提升了系统的安全性,但另外一方面也给应用程序增长了不少的不肯定性。我在安装配置完zabbix后曾出现过始终没法打开浏览页面没法进入web安装界面的状况,后来禁用selinux后问题解决。对于selinux的启用与否我的见仁见智能够根据自已的需求决定是否开启。

  1. vi /etc /selinux /config

  禁用selinux

  1. SELINUX=disabled
  2. SELINUXTYPE=targeted

禁用ctrl+alt+del

  禁用ctrl+alt+del的做用是防止机房管理人员误操做致使系统重启的问题。需注意的是在centos6以前的版本中该设置文件是/etc/inittab,而到了centos6之后被放到了/etc/init/control-alt-delete.conf中。

  1. vi /etc /init /control-alt-delete.conf

  禁用ctrl+alt+del

  1. #start on control -alt - delete
  2. #exec /sbin /shutdown -r now "Control-Alt-Delete pressed"

1.增长用户组

  主要是增长zabbix用户组,若是不增长该用户和组,在后面的编译安装时将会有相关提示。

  1. groupadd -g 130 zabbix
  2. useradd -u 130 -g zabbix -c "Zabbix Monitoring" zabbix

2.增长软件源

  1. wget http: //mirrors.163.com /.help /CentOS6-Base- 163.repo
  2. mv CentOS6-Base- 163.repo /etc /yum.repos.d /
  3. wget http: //mirrors.ustc.edu.cn /fedora /epel // 6 /i386 /epel-release- 6- 7.noarch.rpm
  4. rpm -ivh epel-release- 6- 7.noarch.rpm

3.安装相关软件

  1. yum --enablerepo=epel install iksemel iksemel-devel
  2. yum install mysql-server httpd php mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath   php-mbstring php-xml postfix zlib-devel glibc-devel automake mysql libidn-devel openssl-devel rpm-devel   OpenIPMI-devel
  3. yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
  4. yum  install net-snmp *

4.配置数据库

  1. service mysqld start
  2. mysqladmin -u root password 'password'
  3. mysql_secure_installation
  4. mysql -uroot -p
  5. create database zabbix default character set utf8;
  6. grant all privileges on zabbix. * to 'zabbix' @ 'localhost' identified by 'password';
  7. quit;
  8. tar zxvf zabbix-2.0.0.tar.gz
  9. cd database /mysql
  10. cat schema.sql |mysql -u zabbix -p zabbix
  11. cat p_w_picpaths.sql |mysql -u zabbix -p zabbix
  12. cat data.sql |mysql -u zabbix -p zabbix 

5.编译zabbix

  1. . /configure --prefix= /usr /local /zabbix --enable-server --with-mysql --with-net-snmp --with-jabber --with-libcurl   --with-openipmi --enable-proxy --enable-agent
  2. make
  3. make install
  4. cp misc /init.d /redhat / 8.0 /zabbix_ * /etc /init.d /
  5. chmod 755 /etc /init.d /zabbix_ *
  6. chown -R zabbix:zabbix /usr /local /zabbix
  7. chkconfig --add zabbix_server
  8. chkconfig --add zabbix_agentd
  9. chkconfig --level 35 zabbix_server on
  10. chkconfig --level 35 zabbix_agentd on

6.配置zabbix

  1. vi /usr /local /zabbix /etc /zabbix_server.conf

  配置zabbix_server.conf文件

  1. SourceIP=192 .168 .0 .189
  2. DBName=zabbix
  3. DBUser=zabbix
  4. DBPassword=password
  5. vi /usr /loca /zabbix /etc /zabbix_agent .conf
  6. hostname=myj -jk
  7. Server=192 .168 .0 .189

  启动zabbix服务

  1. service zabbix_server start
  2. service zabbix_agentd start

7.配置php.ini

  1. memory_limit = 256M
  2. date .timezone = Asia /Shanghai
  3. post_max_size = 32M
  4. max_execution_time = 600
  5. upload_max_filesize = 16M
  6. max_input_time = 600

8.启动httpd服务

  1. service httpd start

  到这里就能够启动web服务进行zabbix的安装了,httpd服务启动后直接在浏览器中输入服务器的IP地址开始安装,按照图形的方式一步一步安装完成吧。后面就如何自定义监控模板(IIS六、IIS七、SQL200五、SQL2008),如自定义MAP图标以及zabbix简单的性能优化写出我本身的理解。

相关文章
相关标签/搜索