首页 > 数据库 > 数据库开发技术 > 企业级监控方案——zabbix!(上)
这段时间里,除了忙毕业设计之余,我可算体会到了什么叫做彻底摆烂,这样的生活让人感觉到时间过得特别快,很快乐。不知道你们会不会跟我一样,白天该吃吃喝喝,尽情享乐,一旦到了晚上回想起今天所做的一切,就会给我带来深深的焦虑,躺在床上的我暗暗发誓明天醒来一定不能再这样下去了,但第二天醒来就会忘掉晚上的自责和焦虑,依旧摆烂躺平。


最开心的事莫过于夏天跟朋友出去烧烤啤酒!

回家啦
现如今,我已褪去大学生的身份,成为了一名打工人。我也对当时的焦虑和不安逐渐释怀,偶尔躺平何尝不是一种发泄方式呢?人的一生如此短暂,我们不能只顾埋头苦干而忽略了身边美好的事物——夏天跟三五好友吹着晚风吃着烧烤喝着啤酒;感受游戏给你带来提高肾上腺素的快感;吃过晚饭去操场看晚会...
我们应该学会既不被卷入盲目的竞争,每天埋头苦干,也不会陷入无止境的懈怠中。
上山的过程中不要只顾低头爬坡,要偶尔歇一歇,看看周围的风景;松弛的人生会更有意义,更有趣。
我的生活回到正轨,每天有工作要忙,有许多新知识要我去发掘,我很乐意将自己学到的知识分享给大家,适合自己的节奏才是最重要的,把目光多放在自己身上。
废话有点多了,开始进入正题吧。
监控是整个运维以及产品在整个生命周期中最重要的一环,旨在事前能够及时告警通告故障,事中能够结合监控数据定位问题,事后能够提供数据分析问题
zabbix是一个企业级的监控方案,我们可以通过zabbix第一时间了解到服务器的一些基本情况,保证服务可靠性安全性,或者当服务器出现异常时候及时采取措施,保证业务的稳定、可持续运行。
除了zabbix,还有其他一些监控方案像Cacti、Nagios、Ganglia、Promethus等等。
zabbix的特性
说到zabbix的优点,我第一个想到的就是开源,极大地减少了企业的成本投入;其次是功能较为齐全,自带多种监控模板,满足各种监控需求;在一些分布式集群中,zabbix支持分布式集中管理,而且有自动发现功能,可以实现自动化监控,极大地提高了运维效率。
缺点:
需要在被监控主机上安装zabbix-agent
所有数据都存放在数据库里面,数据库容易成为瓶颈
自定义报警监控项需要自己定义,过程较为繁琐
zabbix架构以及组件结构

zabbix-server+proxy架构图
zabbix-server:整个监控体系中最核心的组件,它负责接收客户端发送的报告信息,所有配置、 统计数据及操作数据都由它组织。
Database:所有配置信息和zabbix收集到的数据都存储在数据库中。
zabbix-proxy:用于分布式系统中,可以代理zabbix-server的功能,减轻server的压力。
zabbix-agent:客户端软件,装在被监控主机上,用于采集监控数据,并把采集到的的数据发送给proxy或者server。
web界面:web界面可以让用户随时随地都能够轻松的访问到zabbix,是zabbix-server的一部分,通常跟server运行在同一台物理机上。

zabbix web界面
zabbix监控方式
zabbix有两种监控方式——主动模式和被动模式
agent主动向zabbix-server请求与自己相关的监控项配置,主动将监控数据发送给server(有proxy情况下发送给proxy)
server向agent请求获取监控数据,agent收到请求,之后获取数据并响应给server
这两个方式的区别在于主动模式能够极大地节约server的资源,不需要server自己去找agent要,一般生产环境里面大多都是设置成主动模式。

https://www.zabbix.com/cn/download/
[][][]
接着下载数据库,实现数据存储的功能
[][][]
初始化数据库
[root@server ~]# # mysql -uroot -ppassword :#回车即可创建一个名为zabbix的库并设置为utf8的字符编码格式create database zabbix character set utf8 collate utf8_bin;#创建用户并授权设置密码create user zabbix@localhost identified by 'password';grant all privileges on zabbix.* to zabbix@localhost;flush privileges;quit;
all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等
on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user
to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:”xianyu”@”192.168.0.%”,表示xianyu这个用户只能在192.168.0IP段登录
identified by:指定用户的登录密码
导入表
[]导入之后验证一下

我们对zabbix-server进行配置数据库密码
配置文件路径:
/etc/zabbix/zabbix_server.conf
[]DBPassword=password[][]
进行前端php配置
[]php_value date.timezone Asia/Shanghai[][]
验证
至此完成zabbix 服务端的部署,我们可以在浏览器输入:ip/zabbix 进行访问。




至此我们成功登录zabbix的web页面,我们也可以点击左上角头像图标进行语言设置


原文作者:咸鱼运维杂谈;如有侵权,请联系管理员删除。