首页 > 代码库 > zabbix分布式监控的部署
zabbix分布式监控的部署
zabbix是一个分布式监视,管理系统,基于server-clinet架构,可用于监视各种网络服务,服务器和网络机器等状态.
server端基于C语言,web管理端Frontend则是基于PHPA制作的,在clinet端如UNIX,windows中安装zabbix agent之后,课件是CPU LOAD,网络使用情况,硬盘容量等各种状态.
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级开源解决方案,zabbix能够监视各种网络参数,保证服务器系统安全运营;并提供灵活的通知机制让系统管理员快速的定位/解决存在的各种问题,zabbix由两部分组成,zabbix-server与可选组件zabbix agent。zabbix server 可以通过SNMP,zabbix agent,ping端口监视等犯法体哦给你对远程服务器/网络状态的监视,数据收集等功能,它可以运行在linux,solaris,SIX,Free BSD,openBSD,OS X等平台上;
Zabbix agent 需要安装在被监视的目标服务器上,主要完成对硬件信息或操作系统有关的内存 ,CPU等信息收集,zabbix agent可以运行在linux,solaris,HP-UX,SIX,Free BSD,OS X,Tru64/OSF1,windows NT4.0,windows 2000/2003/XP/Vista等系统之上
Zabbix server可以单独监视远程服务器的服务状态;同事也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(trapping方式),同事还可以被动接收zabbix agentd 发送数据(trapping方式).
Zabbix主要特点:
安装与配置简单,学习成本低;支持多语言;免费开源;自动发现服务器与网络设备;
分布式监视以及WEB集中管理功能;可以无agent监视;用户安全认证和柔软的授权方式;
通过WEB界面设置或查看监视结果;email等通知功能;
Zabbix主要功能:
CPU负载;内存的使用;磁盘的使用;网络状况;端口的监视;日志的监视;
Zabbix主要有5个主菜单栏:
Moniting:主要是对监控对象的一些相关展示,比如说web应用的展示;
Inventory:资产管理,类似于公司里的资产管理,比如一个硬件设备,这里可能会标识设备的名称,操作系统,MAC地址,资产编号等;
Reports:这里主要展示了zabbix服务的状态,比如主机数,报警属,还有就是展示了一写设备的可用性报表等相关的信息;
Congfiguration:这里主要用来对系统的配置,比如创建主机,创建模板,创建报警,创建流量图片等相关的基本配置主要通过这里来实现的,
Adminstration:这里也是用了对系统进行配置,可configuration相比,这里的配置主要实现对zabbix本身的一些相关的配置工作,比如登录zabbix的用户的创建等工作主要通过这里来配置
Zabbix监控功能:
监控服务器的运行状态:CPU,内存,网卡。硬盘容量,磁盘I/O,负载locad;
监控应用的port,连接数,web网站的关键词
监控网络设备,防火墙,交换机,路由器,带宽流量,以及运行是否正常
服务底层硬件:CPU温度,风扇转速以及硬盘损坏
开源主流的监控软件:
- zabbix(C/S):自动发现,自动监控,分布式
- cacti,Nagios,Ganglia,Mrtg(分布式不支持,自动发现,自动监控)
- 支持自动发现服务器和网络设备;
- 支持底层自动发现,
- 分布式的监控体系和集中式的web管理;
- 支持主动监控和被动监控模式
- 服务器端支持多中操作系统:linux,solaris,HP-UX,ALX,Freebsd,openbsd,MAC等
- Agent客户端支持多种操作系统:linux,solaris,HP-UX,ALX,FreeBSD,windows等
- 基于SNMP,IPMI接口方式也可以监控Agent;
- 安全的用户认证及权限配置
- 基于WEB的管理方法,支持自由的自定义时间和邮件发送;
- 高水平的业务管理方法,支持自由的自定义事件和邮件发送;
- 高水平的业务视图监控资源,支持日志审计,资产管理等功能 ;
- 支持高水平APL二次开发,脚本监控,自KEY定义,自动化运维整合的调用
环境部署:
Centos6.5(zabbix-server)ip:192.168.20.138
Centos6.5(zabbix-agent被控端)ip:192.168.20.150
zabbix-server端的部署于配置:
root@localhost ~]# rpm -ivh php-bcmath-5.3.3-3.el6_2.5.x86_64.rpm –nodeps #rpm安装,注意php-bcmath和php-mbstring属于第三方软件
root@localhost ~]# rpm -ivh php-mbstring-5.3.3-3.el6_2.5.x86_64.rpm –nodeps
[root@localhost ~]# yum -y install gcc mysql-server mysql-devel libcurl-devel net-snmp-devel php php-gd php-xml php-mysql httpd #yum安装lamp,以及zabbix环境
[root@localhost ~]# tar zxvf zabbix-2.2.6.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/zabbix-2.2.6/
[root@localhost zabbix-2.2.6]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config
[root@localhost zabbix-2.2.6]# make
[root@localhost zabbix-2.2.6]# make install
[root@localhost zabbix-2.2.6]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
[root@localhost zabbix-2.2.6]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/
[root@localhost zabbix-2.2.6]# vim /etc/services
[root@localhost zabbix-2.2.6]# vim /usr/local/zabbix/etc/zabbix_server.conf
[root@localhost zabbix-2.2.6]# vim /usr/local/zabbix/etc/zabbix_agent.conf
[root@localhost zabbix-2.2.6]# cp /usr/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@localhost zabbix-2.2.6]# cp /usr/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_server /etc/init.d/
[root@localhost zabbix-2.2.6]# vim /etc/init.d/zabbix_server
[root@localhost zabbix-2.2.6]# vim /etc/init.d/zabbix_agentd
root@localhost zabbix-2.2.6]# chmod +x /etc/init.d/zabbix_server
[root@localhost zabbix-2.2.6]# chmod +x /etc/init.d/zabbix_agentd
[root@localhost zabbix-2.2.6]# /etc/init.d/zabbix_server start
Starting zabbix_server: [确定]
[root@localhost zabbix-2.2.6]# /etc/init.d/zabbix_agentd start
Starting zabbix_agentd: [确定]
[root@localhost zabbix-2.2.6]# chkconfig zabbix_server on
[root@localhost zabbix-2.2.6]# chkconfig zabbix_agentd on
之前 通过yum的方式已经安装LAMP的环境,现在启动并进行相应的配置
root@localhost ~]# service httpd start
正在启动 httpd:httpd: Could not reliably determine the server‘s fully qualified domain name, using localhost.localdomain for ServerName
[确定]
[root@localhost ~]# service mysqld start
[root@localhost ~]# chkconfig --add mysqld
[root@localhost ~]# chkconfig mysqld on
root@localhost ~]# mysqladmin -u root password ‘123.com‘
[root@localhost ~]# mysql -u root -p
mysql> create database zabbix default character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘123.com‘;
[root@localhost ~]# mysql -u zabbix -p zabbix < /usr/src/zabbix-2.2.6/database/mysql/schema.sql
[root@localhost ~]# mysql -u zabbix -p zabbix < /usr/src/zabbix-2.2.6/database/mysql/images.sql
[root@localhost ~]# mysql -u zabbix -p zabbix < /usr/src/zabbix-2.2.6/database/mysql/data.sql
[root@localhost ~]# vim /etc/php.ini
max_execution_time = 300
max_input_time = 300
post_max_size = 16M
date.timezone = Asia/Shanghai
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
root@localhost ~]# cp -r /usr/src/zabbix-2.2.6/frontends/php/ /var/www/html/zabbix
[root@localhost ~]# chown -R apache:apache /var/www/html/zabbix/
[root@localhost ~]# service httpd restart
[root@localhost ~]# chkconfig --add httpd
[root@localhost ~]# chkconfig httpd on
验证:
firefox http://localhost/zabbix
到此,zabbix服务端已经配置完成,接下来我们进行被控端的配置
Zabbix被控端配置
[root@localhost ~]# hostname www.benet.com
[root@www ~]# useradd -M -s /sbin/nologin zabbix
[root@www ~]# tar zxvf zabbix-2.2.6.tar.gz -C /usr/src/
[root@www ~]# cd /usr/src/zabbix-2.2.6/
[root@www zabbix-2.2.6]# ./configure --prefix=/usr/local/zabbix --enable-agent
[root@www zabbix-2.2.6]# make && make install
[root@www zabbix-2.2.6]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
[root@www zabbix-2.2.6]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/
[root@www zabbix-2.2.6]# vim /usr/local/zabbix/etc/zabbix_agent.conf
[root@www zabbix-2.2.6]# vim /etc/services
添加: zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
[root@www zabbix-2.2.6]# cp /usr/src/zabbix2.2.6/misc/init.d/fedora/core/zabbix_agentd
/etc/rc.d/init.d/zabbix_agentd
[root@www zabbix-2.2.6]# chmod +x /etc/rc.d/init.d/zabbix_agentd
[root@www zabbix-2.2.6]# vim /etc/rc.d/init.d/zabbix_agentd
[root@www zabbix-2.2.6]# /etc/rc.d/init.d/zabbix_agentd restart
Shutting down zabbix_agentd: [确定]
Starting zabbix_agentd: [确定]
[root@www zabbix-2.2.6]# chkconfig --add zabbix_agentd
[root@www zabbix-2.2.6]# chkconfig zabbix_agentd on
最后我们开始 安装zabbix向导
[root@localhost ~]# vim /var/www/html/zabbix/include/locales.inc.php
[root@localhost ~]# cd /var/www/html/zabbix/fonts/
[root@localhost fonts]# rz
[root@localhost fonts]# ls
DejaVuSans.ttf sserife.fon
到目前为止!zabbix部署完成!!!
zabbix分布式监控的部署