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

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

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

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

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温度,风扇转速以及硬盘损坏

开源主流的监控软件:

  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成功!!!!!!!!!!!!!!!

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

批量发现

1、  下载与解压

参考: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、  配置与安装

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是否是自启动?

即可

zabbix分布式监控的部署与win被控端的更多相关文章

  1. zabbix分布式监控的部署

    zabbix是一个分布式监视,管理系统,基于server-clinet架构,可用于监视各种网络服务,服务器和网络机器等状态. server端基于C语言,web管理端Frontend则是基于PHPA制作 ...

  2. zabbix分布式监控部署--技术流ken

    前言 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix pr ...

  3. Zabbix分布式监控系统实践

    https://www.zabbix.com/wiki/howto/install/Ubuntu/ubuntuinstall 环境介绍OS: Ubuntu 10.10 Server 64-bitSer ...

  4. LNMP+zabbix分布式监控搭建及版本升级

    LNMP+zabbix分布式监控搭建需要组件:gcc gcc-c++ openssl* pcre pcre-devel gd gd-devel libjpeg-devel libpng-devel l ...

  5. 06 Zabbix分布式监控和主被动模式

    06 Zabbix分布式监控和主被动模式 zabbix proxy设置 使用zabbix代理的好处 监控拥有不可靠的远程区域 当监控项目数以万计的时候使用代理分担zabbix-proxy压力 简化分布 ...

  6. Zabbix分布式监控

    上一篇:Zabbix的API的使用 zabbix分布式监控 新建一台主机 安装zabbix proxy和数据库 yum -y install mariadb-server zabbix-proxy-m ...

  7. zabbix 分布式监控及优化

    1..zabbix分布式监控,模拟多机房实现监控? 1.有多机房时,需要用到proxy 1.网络不通 2.网络延迟 2.当监控的主机较多时,也可以用proxy来缓解压力 1.安装proxy [root ...

  8. 第6章Zabbix分布式监控

    Zabbix是一个分布式的监控系统.分布式监控适合跨机房.跨地域的网络监控.从多个Proxy收集数据,而每个Proxy可以采集多个设备的数据,从而轻松地构建分布式监控系统. ZabbixProxy可以 ...

  9. zabbix分布式监控服务 安装与配置

    zabbix安装与配置   一.什么是zabbix及优缺点(对比cacti和nagios) Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存 ...

随机推荐

  1. C#如何使用SqlCacheDependency

    1.数据库依赖类SqlCacheDependency 数据库缓存依赖主要解决的是当数据库的内容发生改变时,如何及时通知缓存,并更新缓存中的数据的问题. 语法定义: SqlCacheDependency ...

  2. 解决log4j和self4j日志报错Could NOT find resource [logback.groovy]及Could NOT find resource [logback-test.xml]问题

    事件背景: 我的log4j和self4j按照网上的配置,配置成功了,但是报错如下: 让我很是郁闷,于是找了一大圈........ 解决方案: 总结来说就是:log4j.properties和logba ...

  3. tornado的异步效果

    第一种方式: import tornado.ioloop import tornado.web from tornado import gen from tornado.concurrent impo ...

  4. 排查linux系统是否被入侵

    在日常繁琐的运维工作中,对linux服务器进行安全检查是一个非常重要的环节.今天,分享一下如何检查linux系统是否遭受了入侵? 一.是否入侵检查 1)检查系统日志 检查系统错误登陆日志,统计IP重试 ...

  5. 时间格式化 Date-formatDate

    //日期格式化 export function formatDate(date,fmt){ var o = { "M+":date.getMonth() + 1,//月份 &quo ...

  6. Confluence 6 配置一个 Confluence 环境

    本部分对你 Confluence 的外部设置进行描述.包括有如何配置 Web 服务器,应用服务器,目录和文件等信息—— Confluence 运行所需要的所有环境.有关在服务器内部对配置进行修改的内容 ...

  7. Confluence 6 为外部用户管理获得支持

    本页面描述了如果你在配置外部用户管理的时候遇到了问题,如何向 Atlassian 支持项目组寻求帮助.外部用户目录挂你包括 Active Directory,其他 LDAP 服务器,Atlassian ...

  8. django中数据库的配置及相关增删改查

    ORM ORM是什么?:(在django中,根据代码中的类自动生成数据库的表也叫--code first) ORM:Object Relational Mapping(关系对象映射) 类名对应---- ...

  9. json的转换操作

    toJSON 把JS对象{ 'x': 2, 'y': 3 }转为JSON对象格式的字符串   不能转化字符串 比如"{ 'x': 2, 'y': 3 }" 可以转格式不标准的jso ...

  10. es6简单介绍

    1.ECMAScript 6 简介 2.let和const命令 3.变量的解构赋值 4.字符串的扩展之模板字符串 5.正则的扩展 6.数值的扩展 7.函数的扩展 8.数组的扩展 9.对象的扩展 10. ...