日均百万PV架构第四弹(分布式监控) 推荐
2014-05-18 19:46
267 查看
应该能更早出的第四弹,被虚拟机错误搅乱,迟迟没有上线,不得已将所有
节点用puppet完成上线,稍后整理第五弹(非你不可自动化)也即将上线 : )
zabbix简介
zabbix是基于Php的开源监控软件
基于多重数据采集 SNMP , Agent , Ping , Port
多重告警通知 Mail , Jabber , SMS
可以完成多种操作平台甚至于设备(route,switch,io)的监控工作
易于定制重用(模板机制,函数),甚至于二次开发
告警及时几乎无延迟
它与cacti最大的不同之处在于它还提供一个分布式企业监控解决方案
zabbix组成
zabbix-server 主要完成监控数据的存储与分析告警
zabbix-proxy 分布式环境重要一环,提server完成的数据存储压力
zabbix-agent 数据采集重要节点
zabbix-web 数据展示与监控配置
这些节点便完成了自动化监控中: 数据采集 , 数据存储 , 数据展示 , 分析告警
zabbix组件关系示意
规划如下
server.king.com 172.16.43.6 192.168.43.6
zabbix-server , zabbix-web , php , httpd , mysql
proxy.king.com 172.16.43.5
zabbix-proxy , mysql
slave1-4.king.com 172.16.43.1-4
zabbix-agent
配置过程如下
1 配置安装zabbix-server(172.16.43.6)
# 浏览器访问配置 http://172.16.43.6/zabbix
2 代理服务器安装配置(172.16.43.5)
3 客户端配置(172.16.43.1 - 172.16.43.4)
4. 配置自动发现规则将客户端添加至监控体系
# 配置代理服务器
Administration -> DM -> Create Proxy (均指在WebGui下菜单栏路径)
# 配置自动发现规则
Configuration -> Discovery -> Create discovery rule ->
# 配置发现后的动作
Configuration -> Actions -> Create action -> Event source(Discovery) ->
# 配置完毕重启zabbix-proxy等待即可
5. 使用基本规则完成对cpu,io,net参数的监控
# zabbix内置了很多模板,我们可以使用来完成第5项的监控
# 改动刚才Actions除了发现主机将主机添加至监控列表外,额外定义link to templates即可
# 可以选择 Template OS Linux
# 这样发现之后的主机便可以完成对cpu,io,net的基本监控
# 最后我们还可以定义自动移除规则
Configuration -> Actions -> Create action -> Event source(Discovery) ->
6. 使用自定义函数完成对 nginx , varnish , mysql等服务的监控
节点用puppet完成上线,稍后整理第五弹(非你不可自动化)也即将上线 : )
zabbix简介
zabbix是基于Php的开源监控软件
基于多重数据采集 SNMP , Agent , Ping , Port
多重告警通知 Mail , Jabber , SMS
可以完成多种操作平台甚至于设备(route,switch,io)的监控工作
易于定制重用(模板机制,函数),甚至于二次开发
告警及时几乎无延迟
它与cacti最大的不同之处在于它还提供一个分布式企业监控解决方案
zabbix组成
zabbix-server 主要完成监控数据的存储与分析告警
zabbix-proxy 分布式环境重要一环,提server完成的数据存储压力
zabbix-agent 数据采集重要节点
zabbix-web 数据展示与监控配置
这些节点便完成了自动化监控中: 数据采集 , 数据存储 , 数据展示 , 分析告警
zabbix组件关系示意
规划如下
server.king.com 172.16.43.6 192.168.43.6
zabbix-server , zabbix-web , php , httpd , mysql
proxy.king.com 172.16.43.5
zabbix-proxy , mysql
slave1-4.king.com 172.16.43.1-4
zabbix-agent
配置过程如下
1 配置安装zabbix-server(172.16.43.6)
i)准备如下文件 zabbix-2.0.8-3.el6.x86_64.rpm zabbix-get-2.0.8-3.el6.x86_64.rpm zabbix-server-2.0.8-3.el6.x86_64.rpm zabbix-server-mysql-2.0.8-3.el6.x86_64.rpm zabbix-web-2.0.8-3.el6.noarch.rpm zabbix-web-mysql-2.0.8-3.el6.noarch.rpm mariadb-10.0.10-linux-x86_64.tar.gz(安装过程参见) php-5.4.26.tar.bz2(安装过程参见) httpd-2.2(系统自带) # # ii)安装配置 yum -y install *.rpm # 创建zabbix数据库及账号 mysql -e "create database zabbix;" mysql -e "grant all on *.* to 'zabbix'@'172.16.%.%' identified by 'zabbix';" mysql -e "flush privileges;" # 导入zabbix web所需表 mysql -h172.16.43.6 -uzabbix -p -D zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql mysql -h172.16.43.6 -uzabbix -p -D zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/images.sql mysql -h172.16.43.6 -uzabbix -p -D zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/data.sql # 编辑配置文件,配置数据访问信息 vim /etc/zabbix/zabbix_server.conf DBHost=172.16.43.6 (#81) DBName=zabbix (#90) DBUser=zabbix (#107) DBPassword=zabbix (#115) # 区别于mysql的二进制或编译安装 DBSocket=/tmp/mysql.sock (#124) # 启动zabbix,httpd服务 service zabbix-server start service httpd start# 查看10051端口是否开启
# 浏览器访问配置 http://172.16.43.6/zabbix
2 代理服务器安装配置(172.16.43.5)
i) 准备如下文件 zabbix-2.0.8-3.el6.x86_64.rpm zabbix-proxy-2.0.8-3.el6.x86_64.rpm zabbix-proxy-mysql-2.0.8-3.el6.x86_64.rpm mariadb-10.0.10-linux-x86_64.tar.gz(安装过程参见) # # ii) 安装配置 yum -y install *.rpm # 创建zabbix数据库及账号 mysql -e "create database zabbixproxy;" mysql -e "grant all on *.* to 'zabbixproxy'@'172.16.%.%' identified by 'zabbixproxy';" mysql -e "flush privileges;" # 导入zabbix web所需表 mysql -h172.16.43.5 -uroot -p -D zabbixproxy < /usr/share/doc/zabbix-proxy-mysql-2.0.8/create/schema.sql mysql -h172.16.43.5 -uroot -p -D zabbixproxy < /usr/share/doc/zabbix-proxy-mysql-2.0.8/create/images.sql mysql -h172.16.43.5 -uroot -p -D zabbixproxy < /usr/share/doc/zabbix-proxy-mysql-2.0.8/create/data.sql # 编辑配置文件,配置数据访问信息 vim /etc/zabbix/zabbix_proxy.conf Server=172.16.43.6 (#25) Hostname=proxy.king.com (#44) DBHost=172.16.43.5 (#119) DBName=zabbixproxy (#130) DBUser=zabbixproxy (#145) DBPassword=zabbixproxy (#153) # 启动zabbix-proxy服务 service zabbix-proxy start# 查看10051端口是否开启
3 客户端配置(172.16.43.1 - 172.16.43.4)
i) 准备如下文件 zabbix-2.0.8-3.el6.x86_64.rpm zabbix-agent-2.0.8-3.el6.x86_64.rpm zabbix-sender-2.0.8-3.el6.x86_64.rpm # # ii) 安装配置 yum -y install zabbix-2.0.8-3.el6.x86_64.rpm zabbix-agent-2.0.8-3.el6.x86_64.rpm zabbix-sender-2.0.8-3.el6.x86_64.rpm # 编辑配置文件 vim /etc/zabbix/zabbix_agentd.conf Server=172.16.43.5 (#86) ServerActive=172.16.43.5 (#127) Hostname=slave4.king.com (#138) # 启动zabbix-agent服务 service zabbix-agent start# 查看10050端口是否开启
4. 配置自动发现规则将客户端添加至监控体系
# 配置代理服务器
Administration -> DM -> Create Proxy (均指在WebGui下菜单栏路径)
# 配置自动发现规则
Configuration -> Discovery -> Create discovery rule ->
# 配置发现后的动作
Configuration -> Actions -> Create action -> Event source(Discovery) ->
# 配置完毕重启zabbix-proxy等待即可
5. 使用基本规则完成对cpu,io,net参数的监控
# zabbix内置了很多模板,我们可以使用来完成第5项的监控
# 改动刚才Actions除了发现主机将主机添加至监控列表外,额外定义link to templates即可
# 可以选择 Template OS Linux
# 这样发现之后的主机便可以完成对cpu,io,net的基本监控
# 最后我们还可以定义自动移除规则
Configuration -> Actions -> Create action -> Event source(Discovery) ->
6. 使用自定义函数完成对 nginx , varnish , mysql等服务的监控
# zabbix已经对mysql的自定义参数做出了范例,我们可以进行访问来完成对更多服务的监控 vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf # # 监控nginx的连接活动数,访问数,处理个数 vim /etc/zabbix/zabbix_agentd.d/nginx.conf UserParameter=Nginx.active[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^Active/ {print $NF}' UserParameter=Nginx.accepted[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$1}' UserParameter=Nginx.handled[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$2}' # # 监控varnish的连接数,命中数,命中率 vim /etc/zabbix/zabbix_agentd.d/varnish.conf UserParameter=varnish.conn,/usr/bin/varnishstat -1 | grep "client_conn" | awk '{print $2}' UserParameter=varnish.hit,/usr/bin/varnishstat -1 | grep "cache_hit" | awk '{print $2}' ## 定义好后可以将自动key添加到item,
相关文章推荐
- Mocha BSM产品亮点――分布式监控架构
- 【开源】.net 分布式架构之监控平台
- Ganglia:分布式监控系统 推荐
- Google之大规模分布式系统的监控基础架构Dapper
- GPS部标监控平台的架构设计(十一)-基于Memcached的分布式Gps监控平台
- 微博广告Hubble系统:秒级大规模分布式智能监控平台架构实践
- Zabbix分布式监控之Discovery自动发现配置 推荐
- 日均百万PV架构第二弹(缓存时代来临) 推荐
- [跟我学中小企业架构部署]之七:监控系统cacti部署 推荐
- 蛙蛙推荐:自己写个分布式监控软件玩
- 分布式架构中的统一job调度监控管理的实现(一)
- 【开源】.net 分布式架构之监控平台
- 蛙蛙推荐:自己写个分布式监控软件玩
- 分布式监控系统Zabbix3.2添加自动发现磁盘IO并注册监控(推荐)
- 分布式架构学习之:007--Dubbo 监控中心的介绍与简易监控中心的安装
- linux运维、架构之路-Zabbix监控应用及分布式
- 分布式监控开发 02 整体架构设计
- 结合领域驱动设计的SOA分布式软件架构 推荐
- Zabbix 监控之节点分布式管理 推荐
- 基于Dubbo的分布式系统架构(三):安装dubbo监控中心