本篇文章转自我的个人博客, http://anyisalin.com,欢迎大家访问
我们为什么需要监控?
没有监控就将系统上线, 就是在耍流氓
; 在生产环境中, 监控是必不可少的, 因为我们需要实时了解业务的运行状态, 并且将数据以图表的方式直观的展示出来, 甚至当服务出现故障还可以根据事先定义好的规则自动执行相应脚本, 从而实现自动恢复、转移等功能
常用的开源监控系统有哪些?
运维工作就是大部分时候都是通过各种工具来让我们完成特定的任务, 监控也是如此, 目前也有很多开源的监控软件可供我们使用
常见的开源监控简单介绍
Cacti: 通过
snmpget
来获取数据, 使用RRDTool来绘制图形, 使用PHP语言编写, 提供强大的数据展示功能, 但是在故障报警方面不是很擅长Nagios: 异常强大的报警功能, 多节点监控、数据图形展示的功能薄弱, 因此经常整合Cacti来进行监控
Zabbix: 融合Cacti和Nagios的大部分功能, 通过WEB界面提供分布式的网络监控
Zabbix架构
Zabbix是一款强大的开源分布式监控系统, 能够将
SNMP
、JMX
、Zabbix Agent
提供的数据通过WEB GUI
的方式进行展示.Zabbix有四个组件, Zabbix-Server, Zabbix-Agent, Zabbix-Web, zabbix-proxy
Zabbix-Server: 服务端, 通过C语言编写, 获取Zabbix-Agent端的数据并存储在数据库中
Zabbix-Proyx: 代理服务端收集数据并保存在本地的数据库中, 定期将数据提交给Zabbix-Server
Zabbix-Agent: 客户端, 通过C语言编写, 收集定义的item的数据, 定期发给服务端
在不同工作模式下、也可能是服务器主动收集
Zabbix-Web: Web-GUI结构, 可以运行在任意主机中, 连接Zabbix-Server并将数据库中的内容在前端展示
Zabbix的安装和配置
搭建一个lamp环境
[root@node6 ~]# yum install httpd mysql-server php-mysql php -y --nogpgcheck
使用阿里云的Zabbix_yum和epel仓库
[root@node6 ~]# yum-config-manager --add-repo="http://mirrors.aliyun.com/zabbix/zabbix/2.4/rhel/6/x86_64/" #添加yum仓库
安装Zabbix-Server
[root@node6 ~]# yum install zabbix zabbix-server zabbix-server-mysql zabbix-get zabbix-sender zabbix-web-mysql zabbix-web -y --nogpgcheck
配置mysql数据库
mysql> GRANT ALL ON zabbix.* TO zbxuser@'%' IDENTIFIED BY 'passwd';mysql> CREATE DATABASE zabbix;#导出zabbix默认的数据表[root@node6 ~]# mysql zabbix < /usr/share/doc/zabbix-server-mysql-2.4.8/create/schema.sql [root@node6 ~]# mysql zabbix < /usr/share/doc/zabbix-server-mysql-2.4.8/create/images.sql [root@node6 ~]# mysql zabbix < /usr/share/doc/zabbix-server-mysql-2.4.8/create/data.sql
配置php时区
[root@node6 ~]# vim /etc/php.ini #设置时区为某个地区date.timezone = Asia/Shanghai
配置zabbix-server
[root@node6 ~]# vim /etc/zabbix/zabbix_server.conf #修改下面两项DBName=zabbixDBPassword=passwdDBHost=172.16.1.7
启动并进入web-gui初始化
[root@node6 ~]# service zabbix-server start[root@node6 ~]# service httpd start
启动后一定要看一下端口是否监听, 如果没有监听, 查看/var/log/zabbix/zabbix-server.log是否有错误记录
右击新标签页打开查看大图
安装agent
[root@node6 ~]# yum install zabbix-agent -y
配置agent
[root@node6 ~]# vim /etc/zabbix/zabbix_agentd.conf ##我这里是监控本机, 其实不用修改配置文件,如果是其他节点需要监控, 则需要按如下配置Server=127.0.0.1,172.16.1.7ServerActive=127.0.0.1,172.16.1.7Hostname=node6.anyisalin.com
启动agent并测试
[root@node6 ~]# service zabbix-agent start
右击新标签页打开查看大图
总结
我们轻松的实现了Zabbix-Server和Zabbix-Agent. 尽管我没有将它们分离开来, 但是效果已经达到了, 关于Zabbix的更多文章,还会继续写
文章内容浅尝辄止, 大家有更好的见解可以提出, 觉得我写的不错, 可以点一波赞~(�R��Q)/~
作者: AnyISaIln QQ: 1449472454
感谢: MageEdu
本文出自 “运维工程师之路” 博客,请务必保留此出处http://anyisalin.blog.51cto.com/10917514/1772524