mysql 日均pv100w_日均百万PV架构第四弹(分布式监控)_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
配置过程如下
1 配置安装zabbix-server(172.16.43.6)i)准备如下文件zabbix-2.0.8-3.el6.x86_64.rpmzabbix-get-2.0.8-3.el6.x86_64.rpmzabbix-server-2.0.8-3.el6.x86_64.rpmzabbix-server-mysql-2.0.8-3.el6.x86_64.rpmzabbix-web-2.0.8-3.el6.noarch.rpmzabbix-web-mysql-2.0.8-3.el6.noarch.rpmmariadb-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.sqlmysql -h172.16.43.6 -uzabbix -p -D zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/images.sqlmysql -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.confDBHost=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 startservice httpd start
# 查看10051端口是否开启
# 浏览器访问配置
http://172.16.43.6/zabbix
2 代理服务器安装配置(172.16.43.5)i) 准备如下文件zabbix-2.0.8-3.el6.x86_64.rpmzabbix-proxy-2.0.8-3.el6.x86_64.rpmzabbix-proxy-mysql-2.0.8-3.el6.x86_64.rpmmariadb-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.sqlmysql -h172.16.43.5 -uroot -p -D zabbixproxy < /usr/share/doc/zabbix-proxy-mysql-2.0.8/create/images.sqlmysql -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.confServer=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.rpmzabbix-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.confServer=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.confUserParameter=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.confUserParameter=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,
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
mysql 日均pv100w_日均百万PV架构第四弹(分布式监控)_MySQL相关推荐
- Spring Cloud构建微服务架构(四)分布式配置中心
Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持.配置服务器为各应用的所有环境提供了一个中心化的外部配置.它实现了对服务端和客户端对Spring Environm ...
- 也谈架构:百万pv项目与虚拟化
也谈架构:百万pv项目与虚拟化 一 说明 100万pv的项目网站,说大不大,说小又具备了一定规模,最近公司网站的xxx项目从物理机迁移到了VMware虚拟化平台(ESXI),这里总结下该项目的网站架构 ...
- (转)MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验...
标签:服务器 数据库 老男孩 高薪技能 一线城市 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangweilinux.bl ...
- MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验...
原文地址:http://liangweilinux.blog.51cto.com/8340258/1728131 首先在此感谢下我的老师-老男孩专家拥有16年一线实战经验,我当然不能和我的老师平起平坐 ...
- 《MySQL性能优化和高可用架构实践》阅读总结
文章目录 介绍 第1章 MySQL架构介绍 1.1 MySQL简介 1.2 MySQL主流的分支版本 1.3 MySQL存储引擎 1.4 MySQL逻辑架构 1.5 MySQL物理文件体系结构 第2章 ...
- 【session】Java电商平台开发技能图谱,探秘双十一百万PV
您将学习 Java电商平台开发技能图谱,探秘双十一百万PV 分享内容 企业级Java开发技能图谱 从宏观到微观,Java到底怎么学 为了支撑双十一,我们对Java程序做了什么 你将认识 热爱分享的常乐 ...
- php操作mysql迅速插入上百万数据
想要学习mysql存储,双机备份,主从架构的前提是必须要有大量的数据,大量数据插入数据表的速度很慢 超过百万级别的数据就需要几个小时.那么如何在几分钟内插入上百万数据呢? 原理:mysql插入数据库 ...
- 记CentOS7一个百万PV商城的测试
PV PV(Page View,页面浏览量)即点击量,通常意义上说PV的多少是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标.pv的解释是这样的:一个访问者在24小时(0点-23点)内到底看了网 ...
- Mysql在大型网站的应用架构演变
原创文章,转载请注明: 转载自http://www.cnblogs.com/Creator/ 本文链接地址: Mysql在大型网站的应用架构演变 本文已经被多处转载,包括CSDN推荐以及码农周刊等等, ...
最新文章
- Java位运算在程序设计中的使用:位掩码(BitMask)
- 使用jQuery-UI来实现一个Ajax的自动完成功能(自动填充搜索框的下拉值)
- vue打包配置发布路径
- C++ FAQs 第二版
- 以人为本的机器学习:谷歌人工智能产品设计概述 By 机器之心2017年7月17日 12:13 取代了手动编程,机器学习(ML)是一种帮助计算机发现数据中的模式和关系的科学。对于创建个人的和动态的经历
- VC用MFC开发的圆形进度条控件
- C++实现教学信息管理系统
- 形容计算机老师风采的句子,关于老师的句子
- 映射到另一台计算机,远程服务器硬盘映射到本地电脑
- 问题:anaconda: command not found 解决方案
- JAVA字符串功能,Java分析字符串功能
- 编译Android指定JDK/OpenJdk版本
- 关于通信知识的思维导图
- 安卓ps2模拟器_安卓PS2模拟器评测:真魂斗罗,不卡完美运行
- 鱼眼和全向视图的图像深度学习方法
- 代码练习——数组_实战
- DSP之TMS320F28335学习总结与笔记(二)————ADC模块
- python-货币转换
- 玩一玩Spring容器(可视化笔记02)
- 解决Error: EPERM: operation not permitted, mkdir
热门文章
- Silverlight3 Tools Download link
- ajax常见问题汇总(一)
- Java黑皮书课后题第1章:1.6(数列求和)编写程序,显示1+2+3+4+5+6+7+8+9的结果
- Lomsat gelral
- Git 系列(二):初步了解 Git
- ASP.NET开发,从二层至三层,至面向对象 (4)
- 唐骏《我的成功也可以复制》1,盖婚房
- [Pyhon疫情大数据分析] 三.新闻信息抓取及词云可视化、文本聚类和LDA主题模型文本挖掘
- 【数据结构与算法】之深入解析“两两交换链表中的节点”的求解思路与算法示例
- SwiftUI之深入解析布局如何自定义AlignmentGuides