Zabbix介绍、安装配置

前言

本篇文章转自我的个人博客 http://anyisalin.com 欢迎大家访问

我们为什么需要监控?

没有监控就将系统上线, 就是在耍流氓; 在生产环境中, 监控是必不可少的, 因为我们需要实时了解业务的运行状态, 并且将数据以图表的方式直观的展示出来, 甚至当服务出现故障还可以根据事先定义好的规则自动执行相应脚本, 从而实现自动恢复、转移等功能

常用的开源监控系统有哪些?

运维工作就是大部分时候都是通过各种工具来让我们完成特定的任务, 监控也是如此, 目前也有很多开源的监控软件可供我们使用

常见的开源监控简单介绍

  • Cacti: 通过snmpget来获取数据, 使用RRDTool来绘制图形, 使用PHP语言编写, 提供强大的数据展示功能, 但是在故障报警方面不是很擅长

  • Nagios: 异常强大的报警功能, 多节点监控、数据图形展示的功能薄弱, 因此经常整合Cacti来进行监控

  • Zabbix: 融合CactiNagios的大部分功能, 通过WEB界面提供分布式的网络监控

Zabbix架构

Zabbix是一款强大的开源分布式监控系统, 能够将SNMPJMXZabbix Agent提供的数据通过WEB GUI的方式进行展示.

Zabbix有四个组件, Zabbix-ServerZabbix-AgentZabbix-Webzabbix-proxy

  • Zabbix-Server: 服务端, 通过C语言编写, 获取Zabbix-Agent端的数据并存储在数据库中

  • Zabbix-Proyx: 代理服务端收集数据并保存在本地的数据库中, 定期将数据提交给Zabbix-Server

  • Zabbix-Agent: 客户端, 通过C语言编写, 收集定义的item的数据, 定期发给服务端在不同工作模式下、也可能是服务器主动收集

  • Zabbix-Web: Web-GUI结构, 可以运行在任意主机中, 连接Zabbix-Server并将数据库中的内容在前端展示

1462925923227840.jpg

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仓库

1462925558910529.jpg

安装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=zabbix
DBPassword=passwd
DBHost=172.16.1.7

启动并进入web-gui初始化

[root@node6 ~]# service zabbix-server start
[root@node6 ~]# service httpd start

启动后一定要看一下端口是否监听, 如果没有监听, 查看/var/log/zabbix/zabbix-server.log是否有错误记录

1462925558127515.jpg

1462925561877413.gif

安装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.7
ServerActive=127.0.0.1,172.16.1.7
Hostname=node6.anyisalin.com

启动agent并测试

[root@node6 ~]# service zabbix-agent start

1462925562191707.gif

总结

我们轻松的实现了Zabbix-ServerZabbix-Agent. 尽管我没有将它们分离开来, 但是效果已经达到了, 关于Zabbix的更多文章,还会继续写

文章内容浅尝辄止, 大家有更好的见解可以提出, 觉得我写的不错, 可以点一波赞~(≧▽≦)/~ 
作者: AnyISaIln QQ: 1449472454 
感谢: MageEdu

原创文章,作者:Net18-AnyISalIn,如若转载,请注明出处:http://www.178linux.com/16273

(2)
Net18-AnyISalInNet18-AnyISalIn
上一篇 2016-05-13 22:20
下一篇 2016-05-14

相关推荐

  • shell脚本之测试命令(test、[])

    话不多说,直接开车 在编写shell脚本中,我们经常需要判断命令执行的正确与否,从而进行不同的操作。首先我们来介绍下条件性的执行操作符:根据退出状态而定,命令可以有条件地运行。其中,利用echo的话方便我们对测试结果的查看。 (1)&& 代表条件性的AND THEN 可以理解为短路与:当&&前面命令为真时,执行&am…

    Linux干货 2017-08-05
  • 学会在命令行中获取帮助

    在命令行中获取帮助是学习Linux必须get的一项技能,学会之后受益多多。  Linux中的命令有内部命令和外部命令之分,通常使用 type 命令来区分 除此之外还可以使用 enable 命令来查看内部命令 enable命令后的许多option可以对这些内部命令了解更多,比如: 想要知道内部命令有多少个 enable -a |wc -l 禁用某个内…

    2017-07-15
  • N22-第十一周作业

    第十一周作业 1、详细描述一次加密通讯的过程,结合图示最佳 (1)为了做到数据的安全,应该同时满足 保密性 完整性 可用性 (2)假设A,B通信,A是客户机,B是服务器 a、客户端向服务器端发送自己支持的加密方式,并且向服务器端请求其CA颁发给的证书 b、服务器选择共同支持的加密方式并发送自己的证书; c、客户端收到其证书,并验证证书,证书必须同时满足以下条…

    Linux干货 2016-12-06
  • 文件挂载

    (1)创建目录 /mnt/file,利用dd命令创建一个大文件; (2)将文件格式化,这个文件有文件系统,相当于一个分区; (3)直接用blkid 看不到文件,可以用mount -o loop 挂载文件,挂载上后,文件就可以当作分区来用了; (4)挂载文件的优势在于,方便移动。分区不能随便移动而文件可以; centos6是要加-o loop的 centos7…

    2017-05-03
  • 26期全程班-第一周博客作业

    1、描述计算机的组成与功能。 计算机由以下五大单元组成: 一:CPU的算法计算和逻辑判断单元; 二:CPU的控制单元;协调各设备协同工作。 三:内存:RAM(random accace memory)随机读取内存;数据处理的必经路段。 四:输入设备:键盘、鼠标等;负责数据的输入。 五:输出设备:屏幕、终端、文件、硬盘等;负责数据的输出 2、按系列罗列Linu…

    Linux干货 2016-12-30
  • 内核编译安装

    编译内核前期准备工作 (1)准备好开发环境 (2)获取目标主机航硬件设备的相关信息 (3)获取目标主机系统功能的相关信息 (4)获取内核源代码包     可以从www.kernel.com上下载 (5)安装好需要使用的包组     Server Platform&nbs…

    Linux干货 2016-09-13