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 12:12

相关推荐

  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 注:命令last的信息中,首行为最后登录的用户 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 注:uniq命令显示的重复必须满足重复且相连条件,否则会分开计数。 4、将/etc/passwd中的第三…

    2017-02-19
  • Linux基础-第三周

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。 5、取出当前主机的…

    2018-03-19
  • 第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -i sum_login=0 declare -i sum_nologin=0 while read line;do shell=$(echo $l…

    Linux干货 2017-03-05
  • 用户\组的管理

    1、用户的标识符:UID与GID   每个登录的用户都至少会识别两个ID,那么就是UID与GID(username与groupneme)当我们要显示文件属性时,系统会根据/etc/passwd与/etc/group的内容,找到id对应的账号与组名再显示出来。 /etc/passwd文件结构   他的每一行都代表一个账号,并且里面许多账号都…

    Linux干货 2016-08-04
  • 第11天:网络基础,属性配置

    http://note.youdao.com/noteshare?id=bf6e776e7271953bffe1bdf949df4e8f

    Linux干货 2016-09-06
  • Linux磁盘与文件系统管理

    对于一块磁盘,如果我们想要使用的话,需要对磁盘进行分区并建立文件系统。下面,我们就了解一下Linux中的磁盘与文件系统管理 一、MBR 硬盘的0扇区为MBR扇区,其由以下几部分组成: l  主引导程序(偏移地址0000H–0088H),它负责从活动分区中装载,并运行系统引导程序。 l  出错信息数据区,偏移地址0089H&#8…

    Linux干货 2016-08-28