zabbix分布式监控的部署与win被控端

     zabbix是一个分布式监视,管理系统,基于server-clinet架构,可用于监视各类网络服务,服务器和网络机器等状态.php

server端基于C语言,web管理端Frontend则是基于PHPA制做的,在clinet端如UNIX,windows中安装zabbix agent以后,可监控CPU,负载,网络使用状况,硬盘容量等各类状态.html

      zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级开源解决方案,Zabbix可以监视各类网络参数,保证服务器系统安全运行;并提供灵活的通知机制让系统管理员快速的定位/解决各类问题;mysql

zabbix由两部分组成,zabbix-server与可选组件zabbix agent。zabbix server 能够经过SNMP,zabbix agent,ping端口监视监控远程主机,数据收集等功能;linux

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

          Zabbix主要特色:web

   安装与配置简单,学习成本低;支持多语言;免费开源;自动发现服务器与网络设备;sql

   分布式监视以及WEB集中管理功能;能够无agent监视;用户安全认证和柔软的受权方式;数据库

   经过WEB界面设置或查看监视结果;email等通知功能;vim

   Zabbix主要功能:windows

CPU负载;内存的使用;磁盘的使用;网络情况;端口的监视;日志的监视;

    Zabbix主要有5个主菜单栏:

Moniting:主要是对监控对象的一些相关展现,好比说web应用的展现;

Inventory:资产管理,相似于公司里的资产管理,好比一个硬件设备,这里可能会标识设备的名称,操做系统,MAC地址,资产编号等;

Reports:这里主要展现了zabbix服务的状态,好比主机数,报警属,还有就是展现了一写设备的可用性报表等相关的信息;

Congfiguration:这里主要用来对系统的配置,好比建立主机,建立模板,建立报警,建立流量图片等相关的基本配置主要经过这里来实现的,

Adminstration:这里也是用了对系统进行配置,可configuration相比,这里的配置主要实现对zabbix自己的一些相关的配置工做,好比登陆zabbix的用户的建立等工做主要经过这里来配置

Zabbix监控功能:

监控服务器的运行状态:CPU,内存,网卡。硬盘容量,磁盘I/O,负载locad;

监控应用的port,链接数,web网站的关键词

监控网络设备,防火墙,交换机,路由器,带宽流量,以及运行是否正常

服务底层硬件:CPU温度,风扇转速以及硬盘损坏

开源主流的监控软件:

  1. zabbix(C/S):自动发现,自动监控,分布式
  2. cacti,Nagios,Ganglia,Mrtg(分布式不支持,自动发现,自动监控)
  3. 支持自动发现服务器和网络设备;
  4. 支持底层自动发现,
  5. 分布式的监控体系和集中式的web管理;
  6. 支持主动监控和被动监控模式
  7. 服务器端支持多中操做系统:linux,solaris,HP-UX,ALX,Freebsd,openbsd,MAC等
  8. Agent客户端支持多种操做系统:linux,solaris,HP-UX,ALX,FreeBSD,windows等
  9. 基于SNMP,IPMI接口方式也能够监控Agent;
  10. 安全的用户认证及权限配置
  11. 基于WEB的管理方法,支持自由的自定义时间和邮件发送;
  12. 高水平的业务管理方法,支持自由的自定义事件和邮件发送;
  13. 高水平的业务视图监控资源,支持日志审计,资产管理等功能 ;
  14. 支持高水平APL二次开发,脚本监控,自KEY定义,自动化运维整合的调用

    环境部署:

Centos6.5(zabbix-server)ip:192.168.20.209

centos6.5(zabbix-proxy):192.168.20.20.207

Centos6.5(zabbix-agent被控端)ip:192.168.20.150

 

zabbix-server端的部署于配置:

yum搭建LAMP环境
yum install httpd httpd-devel httpd-tools mysql mysql-devel mysql-server
因为Zabbix3.2+ PHP版本须要使用PHP5.4.0版本,请将本机PHP版本升级至5.4.0+,PHP5.3升级至PHP5.6;
rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm
yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-mbstring php56w-bcmath php56w-gd php56w-xml -y --skip-broken
部署zabbix-server端(ps:centos6.x版本在后面邮件报警)
 Zabbix邮件发送失败,报错Support for SMTP authentication was not compiled in,缘由是因为Zabbix CURL版本要求至少是7.20+版本,升级CURL,升级方法:
root@zabbix-server ~]# wget http://mirror.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm
[root@zabbix-server ~]# rpm -ivh city-fan.org-release-1-13.rhel6.noarch.rpm
[root@zabbix-server ~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/libnghttp2-1.6.0-1.el6.1.x86_64.rpm
[root@zabbix-server ~]# yum upgrade libcurl libcurl-devel -y
 
[root@zabbix-server ~]# yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI gcc
[root@zabbix-server ~]# useradd -M -s /sbin/nologin zabbix
[root@zabbix-server ~]# tar zxvf zabbix-3.2.7.tar.gz
[root@zabbix-server ~]# cd zabbix-3.2.7/
server zabbix-3.2.7]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
[root@zabbix-server zabbix-3.2.7]# make
[root@zabbix-server zabbix-3.2.7]# make install
[root@zabbix-server zabbix-3.2.7]# ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
root@zabbix-server zabbix-3.2.7]# cd /usr/local/zabbix/etc/
[root@zabbix-server etc]# ls
zabbix_agentd.conf zabbix_agentd.conf.d zabbix_server.conf zabbix_server.conf.d
[root@zabbix-server etc]# cp zabbix_server.conf zabbix_server.conf.back
[root@zabbix-server etc]# vim zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
[root@zabbix-server ~]# /etc/init.d/mysqld start #启动mysql服务&进入数据库
mysql> create database zabbix charset=utf8;
mysql> grant all on zabbix.* to zabbix@localhost identified by '123456';
mysql> flush privileges;
[root@zabbix-server ~]# cd zabbix-3.2.7/database/mysql/
[root@zabbix-server mysql]# mysql -uzabbix -p123456 zabbix < schema.sql
[root@zabbix-server mysql]# mysql -uzabbix -p123456 zabbix < images.sql
[root@zabbix-server mysql]# mysql -uzabbix -p123456 zabbix < data.sql
[root@zabbix-server ~]# cp -a zabbix-3.2.7/frontends/php/* /var/www/html/ #将zabbix的php配置文件拷贝到网站根目录&进行图形化安装
[root@zabbix-server ~]# ls /var/www/html/
更改PHP配置文件相关设置
[root@zabbix-server ~]# sed -i 's/\;always_populate_raw_post_data/always_populate_raw_post_data/g' /etc/php.ini
[root@zabbix-server ~]# sed -i '/max_execution_time/s/30/600/g;/max_input_time/s/60/600/g;/memory_limit/s/128M/256M/g;/post_max_size/s/8M/32M/g;/upload_max_filesize/s/2M/16M/g;s/\;date.timezone.*/date.timezone \=\Asia\/Shanghai/g' /etc/php.ini
重启httpd,zabbix_server,mysqld(已启动)
[root@zabbix-server ~]# cd zabbix-3.2.7/misc/init.d/tru64/
[root@zabbix-server tru64]# cp zabbix_* /etc/init.d/
[root@zabbix-server tru64]# chmod o+x /etc/init.d/zabbix_server
[root@zabbix-server tru64]# /etc/init.d/zabbix_server start
[root@zabbix-server ~]# /etc/init.d/httpd start
[root@zabbix-server ~]# netstat -anput | grep httpd
tcp 0 0 :::80 :::* LISTEN 10751/httpd
udp 0 0 192.168.20.209:39651 192.168.20.2:53 ESTABLISHED 10751/httpd
[root@zabbix-server tru64]# netstat -anput | grep zabbix
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 10679/zabbix_server
tcp 0 0 :::10051 :::* LISTEN 10679/zabbix_server

[root@zabbix-server ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

LogFile=/tmp/zabbix_agentd.log
Server=192.168.20.209
ServerActive=192.168.20.209
Hostname =192.168.20.209
[root@zabbix-server etc]# /etc/init.d/zabbix_agentd start 便可!
上传字体windows中文字体,是zabbix图形监控能有识别乱码

[root@zabbix-server fonts]# mv SIMKAI.TTF DejaVuSans.ttf

 

######################################################################################################################

zabbix-proxy分布式的配置

Zabbix是一个分布式监控系统,它能够以一个中心点、多个分节点的模式运行,使用Proxy能大大的下降Zabbix Server的压力,Zabbix Proxy能够运行在独立的服务器上,

Zabbix agent 在windows上安装部署

首先,咱们须要在zabbix-server端建立zabbix-proxy端的新数据库

mysql> create database zabbix_proxy charset=utf8;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on zabbix_proxy.* to zabbix@‘%’ identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

[root@zabbix-server ~]# cd zabbix-3.2.7/database/mysql/

[root@zabbix-server mysql]# mysql -uzabbix -p123456 zabbix_proxy <schema.sql
[root@zabbix-server mysql]# mysql -uzabbix -p123456 zabbix_proxy <images.sql

接下来咱们在zabbix_proxy部署分布式

[root@zabix-proxy ~]# yum  install -y mysql mysql-devel

[root@zabix-proxy ~]# yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBIc

[root@zabix-proxy ~]# useradd -M -s /sbin/nologin zabbix

 [root@zabix-proxy zabbix-3.2.7]# make install 

root@zabix-proxy ~]# tar zxvf zabbix-3.2.7.tar.gz

[root@zabix-proxy ~]# cd zabbix-3.2.7
[root@zabix-proxy zabbix-3.2.7]# ./configure --prefix=/usr/local/zabbix/ --enable-proxy --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl

[root@zabix-proxy zabbix-3.2.7]# make

[root@zabix-proxy zabbix-3.2.7]# make install 

root@zabix-proxy zabbix-3.2.7]# ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/

[root@zabix-proxy zabbix-3.2.7]# cd /usr/local/zabbix/etc/
[root@zabix-proxy etc]# cp zabbix_proxy.conf zabbix_proxy.conf.back
[root@zabix-proxy etc]# vim zabbix_proxy.conf

Server=192.168.20.209
Hostname=192.168.20.207
LogFile=/tmp/zabbix_proxy.log
DBHost=192.168.20.209
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=123456
Timeout=4
LogSlowQueries=3000
DataSenderFrequency=30
HistoryCacheSize=128M
CacheSize=128M

[root@zabix-proxy etc]# mysql -h192.168.20.209 -uzabbix -p123456

 

[root@zabix-proxy ~]# /usr/local/zabbix/sbin/zabbix_proxy    #启动proxy
[root@zabix-proxy ~]# netstat -anput | grep zabbix_proxy

zabbi-proxy启动完成以后,接下来咱们须要在zabbi-server端上添加proxy

 

建立主机使用proxy端监控

PS:proxy监控某台机器,须要将该机器的配置IP指向proxy端,不能再指向zabbi-server端,由于是由proxy监控并将监控数据上报给zabbix-server端

重启agent端生效!

新建的主机监控须要添加监控模板

 

ps:若是server端未能正常获取到监控图形数据,在保证server端配置无误的状况下,咱们能够检查proxy和agent端,包括时间是否同步,IP地址指向是否正确!

 到此为止zabbix-server经过proxy端监控agent成功!!!!!!!!!!!!!!!

########################################################

批量发现

 

一、  下载与解压

参考:http://www.cnblogs.com/likehua/p/3968689.html

http://10.0.251.154/pub/zabbix/zabbix.zip 

解压到D盘

conf目录存放是agent配置文件 bin文件存放windows下32位和64位安装程序

二、  配置与安装

2.1 配置zabbix agent相关配置。

找到conf下的配置文件 zabbix_agentd.win.conf ,修改LogFile、Server、Hostname这三个参数。具体配置以下:

LogFile=c:\zabbix_agentd.log

Server=10.4.200.2

Hostname=主机地址。

ServerActive=10.4.200.2 #zabbix server地址

其中logfile是zabbix日志存放地址。Server 是zabbix服务端ip地址。Hostname是本机机器名。

2.2 安装agent

在windows控制台下执行如下命令:

D:\zabbix\zabbix_agents_2.4.0.win\bin\win32\zabbix_agentd.exe  -c D:\zabbix\zabbix_agents_2.4.0.win\conf\zabbix_agentd.win.conf  -i

2.3 启动agent客户端

启动命令以下:

D:\zabbix\zabbix_agents_2.4.0.win\bin\win32\zabbix_agentd.exe  -c D:\zabbix\zabbix_agents_2.4.0.win\conf\zabbix_agentd.win.conf -s

执行完成以后,须要 在终端输入services.msc命令,查看zabbix_agentd是不是自启动?

便可

相关文章
相关标签/搜索