zabbix监控系统的实际应用(原理-安装篇)

前言:笔者个人学习总结,结合实际应用到工作项目。其中参考各位大神博客,个人消化总结,摸石头过河,不对的地方请多指正。

项目目的:

     由于之前缺乏对实施过的软件项目进行监控,导致客户先于维护工程师发现问题,引起相关售后服务和市场的被动。现在通过在公司内部部署一套zabbix系统结合互联网的监控系统,实现对公司现有重要项目的统一监控,监控内容包括:服务器硬件运行情况cpu 网卡流量 硬盘空间 内存,软件项目的相关端口、web服务、mysql服务等。当发生报警时,结合139邮箱和微信实现及时提醒。


zabbix简单介绍:

监控平台的组成

数据采集 --> 数据存储 --> 数据展示和分析 --> 报警

常见监控实现方案对比

cacti

优点:利用rrdtool绘图,图形美观;

缺点:报警功能薄弱,不适合大规模监控场景;

nagios

优点:报警功能强大;

缺点:只关心正常与否的状态,数据采集展示功能薄弱,不适合大规模监控场景;

zabbix

优点

  • 兼具cacti和nagios的优点,集数据采集、数据存储、数据展示及报警功能为一体;

  • 数据存储使用RDBMS,如MySQL等,可存储大量历史数据;

  • 可以分布式部署,适合大规模监控场景;

Zabbix基本功能

数据采集方式:zabbix agent,agent(active),SNMP,SSH等;

数据存储方式:RDBMS,如MySQL,Pgsql等;

数据展示方式:php,web,gui;

报警功能:支持报警升级;

ZABBIX官网推荐部署资源规划:

场景

平台

CPU/内存

数据库

监控主机数量

小型

CentOS

Virtual  Appliance

MySQL  InnoDB

100

中型

CentOS

2  CPU cores/2GB

MySQL  InnoDB

500

大型

RedHat  Enterprise Linux

4  CPU cores/8GB

RAID10  MySQL InnoDB 或 PostgreSQL

>1000

超大型

RedHat  Enterprise Linux

8  CPU cores/16GB

Fast  RAID10 MySQL InnoDB 或 PostgreSQL

>10000

一个完整的zabbix监控组成

wKioL1N08VKzPW6dAANWLsNnJHI264.jpg

主要术语

  • Host主机:要监控的网络设备;

  • Host Group主机组:主机的逻辑容器,可包含主机和模板;通常用于给用户或用户组指派监控权限时使用;

  • Item监控项:一个特定监控指标的相关数据,是数据采集的核心,每个item都由key进行唯一标识;

  • Trigger触发器:用于为监控项item所收集的数据定义阈值,触发器的状态在OK和PROBLEM间不断切换;

  • Event事件:触发器的状态转变,新的agent或重新上线的agent的自动注册等,都会产生event;

  • Action动作:指对于特定event实现定义的处理方法,由通知内容、条件、操作这3部分组成;

  • Escalation报警升级:发送警报或执行远程命令的自定义方案;

  • Media Type媒介:发送通知的手段或通道,如Email,Jabber或SMS等;

  • Notification通知:通过选定的media向用户发送的有关某event的信息;


yum安装步骤:

  1. 更新官方yum源

    rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm

  2. 改主机名   hostname zabbix-server     logout

  3. 安装zabbix

    yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mysql-server mysql

  4. 安装zabbix两个命令,便于调试

    yum -y install zabbix-get zabbix-sender

  5. 配置数据库,初始化zabbix数据库

    service mysqld start

    mysql -e "create database zabbix character set utf8 collate utf8_bin;"

    mysql -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"

    mysql -e "flush privileges;"

    cd /usr/share/doc/zabbix-server-mysql-2.4.5/create/

    mysql -uroot zabbix < schema.sql   按顺序执行

    mysql -uroot zabbix < images.sql

    mysql -uroot zabbix < data.sql

  6. 基础配置

    vi /etc/zabbix/zabbix_server.conf 修改db连接密码为zabbix

    改php时区为 date.timezone = Asia/Chongqing

    启动apache 访问页面 service httpd start 并setup 用户名密码Admin zabbix

    [root@zabbix-server create]# chkconfig mysqld on
    [root@zabbix-server create]# chkconfig zabbix-server on
    [root@zabbix-server create]# chkconfig zabbix-agent on
    [root@zabbix-server create]# chkconfig httpd on
    [root@zabbix-server create]# service zabbix-server start

  7. 组态-主机 开启

  8. AGENT部署

    rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm

    yum install zabbix-agent zabbix-sender zabbix-get -y

  9. 编辑客户端配置文件

    vi /etc/zabbix/zabbix_agentd.conf   注意改2个server指向服务端IP 一个是服务端主动取一个是被动上报模式,改后重启服务 service zabbix-agent restart

    zabbix_get -s 192.168.1.166 -k system.hostname 测试是否能获取到客户端主机名

    zabbix_get -s 192.168.1.166 -k agent.ping 返回1正常

10.添加主机,并加入到组,添加基本监控项模版。

查看日志 tail -n500 -f /var/log/zabbix/zabbix_server.log


基本使用和功能实现会在下篇介绍。

本文出自 “MJ为的笔记和总结” 博客,转载请与作者联系!

你可能感兴趣的:(项目,zabbix,实际应用)