zoukankan      html  css  js  c++  java
  • Zabbix简介及安装

    前言

    未经监控就上线的系统,就是裸奔,耍流氓

    监控对我们来说太重要了,监控工具也有很多,像,Cacti,Nagios,Ganglia,Zabbix等等,今天我们要介绍的是Zabbix,它的功能很强大,在介绍Zabbix之前,我们先说说Cacti和Nagios。

    • Cacti:它是一款数据采集,数据存储,外加web界面展示的工具,它的数据展示功能很强大,但是故障报警方面很薄弱
    • Nagios:告警功能异常强大,但是数据展示方面薄弱,并且监控主机数量有限

    而Zabbix集以上两款工具的优点于一身,并且更加强大,能实现企业级的分布式监控。

    Zabbix简介

    Zabbix中常用的组件有如下:

    • Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行;
    • Database Storage:专用于存储所有配置信息,以及由zabbix收集的数据;
    • Web interface:zabbix的GUI接口,通常与Server运行在同一台主机上
    • Proxy:可选组件,常用于分布式监控环境中,代理Server收集被监控端的监控数据并统一发往Server端;
    • Agent:部署在被监控主机上,负载收集本地数据并发往Server端或Proxy端;


    Zabbix常用术语:
    主机(host):要监控的网络设备,可由IP或DNS名称指定;
    主机组(host group):主机的逻辑容器,可以包含主机和模版,但同一个组内的主机和模版不能互相链接;主机组通常在给用户或用户组指派监控权限时使用;
    监控项(item):一个特定监控指标的相关的数据,这些数据来自于被监控对象;item时zabbix进行数据采集的核心,没有item将没有数据;相对某监控对象来说,每个item都由“key”进行标识;
    触发器(trigger):一个表达式,用于评估某监控对象的某特定item内所接受到的数据是否在河里范围内,即阈值;接受到的数据量大于阈值时,触发器状态将从“OK”转变为“Problem”,但数据在此回归到河里范围时,其状态将从“Problem”转换回“OK”;
    事件(event):即发生的一个值得关注的事情,如触发器的状态转变,新的agent或重新上线的agent的自动注册等;
    动作(action):指对于特定时间事先定义的处理方法,通过包含操作(如发送通知)和条件(何时执行操作);
    报警升级(escalation):发送报警或执行远程命令的自定义方案,如每5分钟发送一次警报,共发送5次等;
    媒介(media):发送通知的手段或通道,如Email,Jabber或SMS等;
    通知(notification):通过选定的媒介向用户发送的有关某事件的信息;
    远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件时自动执行;
    模版(template):用于快速定义被监控主机的预设条目集合,通常包含了item,trigger,graph,screen,application以及low-level discovery rule;模版可以直接链接至单个主机;
    应用(application):一组item的集合;
    web场景(web scennario):用于检测web站点可用性的一个或多个HTTP请求;
    前端(frontend):Zabbix的web接口;
    Zabbix的逻辑架构图如下:

    安装Zabbix

    这里是直接配置好epel源,采用yum 方式安装
    安装zabbix db

        yum install mariadb-server
        systemctl start mariadb.service
        
        MariaDB [(none)]> CREATE DATABASE zabbix CHARSET 'utf8';
        MariaDB [(none)]> GRANT ALL ON zabbix.* TO 'zbxuser'@'172.16.%.%' IDENTIFIED BY 'admin@123';
    

    安装服务端:

        yum install zabbix-sever-mysql  zabbix-get -y
        yum install zabbix-web  zabbix-web-mysql -y
    

    安装agent端:

        yum install zabbix-agent zabbix-sender -y 
    

    zabbix server数据库初始化:

        2.x:三个sql脚本
        3.x:一个脚本:(我们用的是这个3.0.2)
            gzip -d /usr/share/doc/zabbix-server-mysql-3.02/create.sql.gz
            mysql -h172.16.47.101 -uzbxuser -p zabbix <create.sql
    

    show tables;可以看到,生成了很多表


    配置zabbix-server:vim /etc/zabbix/zabbix_server.conf

    指令有四类:
        ############ GENERAL PARAMETERS #################
        ############ ADVANCED PARAMETERS ################
        ####### LOADABLE MODULES #######
        ####### TLS-RELATED PARAMETERS #######
     
    通用参数:
        ListenPort=10051
        SourceIP=     #(一个主机可能有多个IP)
        LogType=file
        LogFile=/var/log/zabbix/zabbix_server.log
        LogFileSize=0   #日志滚动,为0不滚动
        PidFile=/var/run/zabbix/zabbix_server.pid #PID文件路径
     
        DBHost=172.16.47.101 #数据库主机地址
        DBName=zabbix
        DBUser=zbxuser
        DBPassword=admin@123
        DBPort=3306
        DBSocket=/var/lib/mysql/mysql.sock  #本地通信才要(数据库和zabbix主机在同一台主机
    

    配置zabbix-web:

    配置php时区指定:有2种方法
    (1)php.ini  #php全局配置
    (2)/etc/httpd/conf.d/zabbix.conf  #只为zabbix应用开启的时区
        php_value date.timezone Asia/Shanghai
    

    启动服务:systemctl start zabbix-server.service
    ss -tul可以看到10051端口已经起来
    在浏览器中输入http://172.16.47.101/zabbix
    会出现图形界面,按照之前的配置,一路next,最后输入用户名和密码(admin/zabbix),登陆成功后出现如下界面。


    下面我们配置agent端,让Zabbix server能监控到

    yum install zabbix-agent zabbix-sender
    
    配置文件:/etc/zabbix/zabbix_agent.conf
    ##### Passive checks related (被动检测相关的配置,agent等待server过来请求数据)
        *Server=172.16.47.101
            以逗号分隔授权给哪些zabbix-server或zabbix-proxy过来采集数据的服务器地址列表
        ListenPort=10050
        ListenIP=0.0.0.0
        StartAgents=3
     
        ##### Active checks related(主动检测相关,agent主动向server发送数据)
        *ServerActive=127.0.0.1
            以逗号分隔的,当前agent主动发送监控数据过去的server端
        *Hostname=Zabbix server
    

    启动agentsystemctl start zabbix-agent.service
    在server上添加agent(172.16.47.102),然后在server端上添加,最后可以看到Number of hosts增加了。

    至此,我们的Zabbix监控就搭好了,但是,这只是第一步,重要的是监控项的添加,发现故障后zabbix能实现的各种操作。。。

    我的个人站点iLurker.cn

    个人站点:www.ilurker.cn
  • 相关阅读:
    正经学C#_循环[do while,while,for]:[c#入门经典]
    Vs 控件错位 右侧资源管理器文件夹点击也不管用,显示异常
    asp.net core 获取当前请求的url
    在实体对象中访问导航属性里的属性值出现异常“There is already an open DataReader associated with this Command which must be
    用orchard core和asp.net core 3.0 快速搭建博客,解决iis 部署https无法登录后台问题
    System.Data.Entity.Core.EntityCommandExecution The data reader is incompatible with the specified
    初探Java设计模式3:行为型模式(策略,观察者等)
    MySQL教程77-CROSS JOIN 交叉连接
    MySQL教程76-HAVING 过滤分组
    MySQL教程75-使用GROUP BY分组查询
  • 原文地址:https://www.cnblogs.com/ilurker/p/6446553.html
Copyright © 2011-2022 走看看