设为首页 收藏本站
查看: 2878|回复: 0

[经验分享] 日均百万PV架构第四弹(分布式监控)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-5-19 15:03:31 | 显示全部楼层 |阅读模式
应该能更早出的第四弹,被虚拟机错误搅乱,迟迟没有上线,不得已将所有
节点用puppet完成上线,稍后整理第五弹(非你不可自动化)也即将上线 : )
wKiom1N4mKWiPepeAAF1cIW1BPs388.jpg

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组件关系示意
wKioL1N4mJWTwJQrAAF31fzdbT0477.jpg

规划如下
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端口是否开启
wKiom1N4mbqyEnxKAAopgQpwTYI698.jpg
# 浏览器访问配置
http://172.16.43.6/zabbix
wKiom1N4mdPCpyCnAAxjGdI64ks946.jpg

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端口是否开启
wKioL1N4mffgnlebAAn8w8HKIOM463.jpg

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下菜单栏路径)

wKiom1N4mp7g8iSoAAEOhZt7uyQ370.jpg
# 配置自动发现规则
Configuration -> Discovery -> Create discovery rule ->
wKioL1N4mqvCxrsmAAGS4mwglAI194.jpg
# 配置发现后的动作
Configuration -> Actions -> Create action -> Event source(Discovery) ->
wKioL1N4msjCQ-LVAAHLAK7rMVw909.jpg
wKiom1N4mvTCMDMOAAIH0sbkzRg341.jpg
wKioL1N4msmjtfC2AAEPU3qz59U014.jpg
# 配置完毕重启zabbix-proxy等待即可
wKiom1N4nT-jrNHbAAbR5CNqfPU505.jpg
wKioL1N4nRTQdR9AAAOVWq_jCZc624.jpg

5. 使用基本规则完成对cpu,io,net参数的监控
# zabbix内置了很多模板,我们可以使用来完成第5项的监控
# 改动刚才Actions除了发现主机将主机添加至监控列表外,额外定义link to templates即可
# 可以选择 Template OS Linux
# 这样发现之后的主机便可以完成对cpu,io,net的基本监控
wKioL1N4nTjCjTpSAAJxRuf7vwc822.jpg
# 最后我们还可以定义自动移除规则
Configuration -> Actions -> Create action -> Event source(Discovery) ->
wKiom1N4nYGDlENiAAHlSxqaTQI873.jpg

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 '/^[         ]+[0-9]+[         ]+[0-9]+[         ]+[0-9]+/ {print $$1}'
UserParameter=Nginx.handled, /usr/bin/curl -s "http://$1:$2/status" | awk '/^[         ]+[0-9]+[         ]+[0-9]+[         ]+[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,
wKiom1N4niHQYcG_AASSTFhtx6I752.jpg


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-19315-1-1.html 上篇帖子: 日均百万PV架构第三弹(分布内容为王) 下篇帖子: Http状态码大全
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表