zoukankan      html  css  js  c++  java
  • 学习zabbix(一)

    一、zabbix监控简介

    server: 通过收集snmp和agent发送的数据,写入数据库(MySQL,ORACLE),再通过 php+apache 在 web 前端展示。

    agent:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据

    二、Zabbix功能

    --具备常见的商业监控软件所具备的功能

    主机的性能监控、网络设备监控、数据库监控、多种报警方式、实时绘图功能

    --支持自动发现网络设备和服务器

    --支持分布式,能集中展示、管理分布式的监控点

    --扩展性强,server提供通用接口,可以自己开发完善各类监控

    三、安装zbbix

    yum源
    cat /etc/yum.repos.d/a.repo 
    [os]
    name=aliyun
    baseurl=https://mirrors.aliyun.com/centos/6/os/x86_64/
    enabled=1
    gpgcheck=0
    
    
    [zabbix]
    name=zabbix
    baseurl=http://mirrors.ustc.edu.cn/epel/6/x86_64/
    enabled=1
    gpgcheck=0

    server 端:

    1、安装zabbix-server
    yum -y install zabbix22-server zabbix22-web zabbix22-web-mysql zabbix22-dbfiles-mysql zabbix22-agent mysql-server mysql php php-devel php-mysql
    
    2、导入数据结构
    service mysqld start
    mysql
    CREATE DATABASE zabbix CHARACTER SET utf8;
    GRANT ALL ON zabbix.* TO 'zabbix'@'192.168.4.%' IDENTIFIED BY 'zabbix';
    FLUSH PRIVILEGES;
    mysql -u root -p zabbix < schema.sql           各种表结构
    mysql -u root -p zabbix < images.sql           基本数据
    mysql -u root -p zabbix < data.sql             自带模板
    mysql -e 'USE zabbix;SHOW TABLES;'
    
    3、配置文件
    grep -n '^[a-Z]' /etc/zabbix_server.conf 
    39:LogFile=/var/log/zabbixsrv/zabbix_server.log
    48:LogFileSize=0
    68:PidFile=/var/run/zabbixsrv/zabbix_server.pid
    77:DBHost=192.168.4.19
    87:DBName=zabbix
    103:DBUser=zabbix
    111:DBPassword=zabbix
    118:DBSocket=/var/lib/mysql/mysql.sock
    458:AlertScriptsPath=/var/lib/zabbixsrv/alertscripts
    466:ExternalScripts=/var/lib/zabbixsrv/externalscripts
    507:TmpDir=/var/lib/zabbixsrv/tmp

    agent

    1、安装
    yum -y install zabbix22-agent
    2、配置文件
    grep -n '^[a-Z]' /etc/zabbix_agentd.conf
    11:PidFile=/var/run/zabbix/zabbix_agentd.pid
    21:LogFile=/var/log/zabbix/zabbix_agentd.log
    30:LogFileSize=0
    81:Server=192.168.4.19
    122:ServerActive=127.0.0.1
    133:Hostname=Zabbix server

    访问http://192.168.4.19/zabbix

    点Next

    修改配置文件

    vim /etc/php.ini            
     945date.timezone = Asia/Shanghai          设置时区
     440max_execution_time = 300               最大执行时间,秒
     729post_max_size = 32M                    POST数据最大容量
     449max_input_time = 300                   服务器接收数据的时间限制
     457memory_limit = 128M                    PHP内存占用的容量限制
    service httpd restart

    默认管理员账户密码:admin   zabbix

    生成配置文件: /etc/zabbix/web/zabbix.conf.php

    若切至中文有乱码,解决办法:

    1、查看/etc/httpd/conf.d/zabbix.conf得知zabbix网页目录为/usr/share/zabbix/;

    2、查看/usr/share/zabbix/include/defines.inc.php得知字体目录位置:

    define('ZBX_FONTPATH',                             '/usr/share/fonts/dejavu');// where to search for font (GD > 2.0.18)

    define('ZBX_GRAPH_FONT_NAME',           'DejaVuSans'); // font file name;

    3、将win中的任意字体(控制面板-->字体,例如仿宋或华文雅黑)复制到/usr/share/fonts/dejavu/下并覆盖改名为DejaVuSans.ttf;

    添加一台主机

    Configuration-->Hosts,Createhost-->
    
    Host name(test2)
    
    Visable name(test2)
    
    New group(demo)
    
    IP address(192.168.4.19)
    
    Port(10050)
    
    Status(Monitored)

    添加报警:

    注:报警针对用户和用户组;生产环境最好有短信平台,或晚上用SMS,白天email;

    Administration-->Users-->选Zabbixadministrators旁的Users-->右上角Create User,User标签(Alias(demo),
    Name(demo),Groups(Zabbix administrators),Password(demo)两次,勾选Auto-login-->Media标签,
    Add,Type(Email),Send to(*@163.com),Add-->Permissions标签(User-type选Zabbix Super Admin)-->Save;

    右上角logout,用demo登录;

    注:Configuration-->Templates中的Applications应用集是监控项的集合,Item项目是监控的最小单位,有的Templates有Triggers有的没

    四、添加mysql监控

    添加项目:

    Configuration-->Hosts,选test2中的Items-->点右上角Createitem,如下图创建,Name(mysql_check),Key(mysql_alive),update interval(in sec)(60),new flexible interval(300)-->Add,new application(MySQL),Description(MySQL Check)-->Save

     

    agent 端的配置

    vim /etc/zabbix/zabbix_agentd.conf
    UserParameter=mysql_alive,mysqladminping | grep -c alive
    service zabbix-agentd restart

    添加 触发器

    Configuration-->Hosts,选test2的triggers,右上角Createtrigger-->Name(MySQL down),Expression(点Add,如下图,点Select,test2的mysql_check,Function(选Last (most recent) T value is NOT N,N(1))-->Insert-->Severity(disaster) 

     

    点Trigger标签旁边的Dependencies-->Add,选Zabbix agent on {HOST.NAME} is unreachable for 5minutes-->Save

     

    添加图形:

    Configuration-->Hosts,选test2的graph,右上角Creategraph,Name(mysql status),Graph type(Normal),Items-->Add,选test2的mysql_check,点Graph标签旁边的Preview可预览-->Save

     

    添加报警

    Configuration-->Actions,将Reportproblems to Zabbix administrators的status改为Enabled-->点Report problems to Zabbix administrators,Action标签中的项(要精简,一条短信是70个字符),Conditions,Operations(Operation details,from 1 to 3,第1次到第3次报警每次发送通知给指定的人,Operation type选Send message)-->先点Update-->再Save

     

    五、添加报警邮件

    配置邮箱

     vim /etc/mail.rc 
    #######set mail
    set from=usertzc@163.com smtp=smtp.163.com
    set smtp-auth-user=usertzc smtp-auth-password=password smtp-auth=login

    添加脚本

    cd /var/lib/zabbixsrv/alertscripts/   #(此目录下的脚本必须支持三个参数,介质参数(email or SMS),title,content)
    vim /usr/lib/zabbix/alertscripts/mail.sh
    #!/bin/sh
    MAIL_TITLE=$2
    MAIL_CON=$3
    echo "$MAIL_CON" | /bin/mail -s "$MAIL_TITLE" $1
    echo "$1 $2 $3" >> /tmp/alert
    chmod 755 send_mail.sh

    配置报警邮件

    Administration-->Media types-->Create media type,Name(send_mail),Type(Script),Script name(会自动生成),勾选Enabled-->Save

     

     Configuration-->Actions-->点Report problems to Zabbix administrators-->选Operations,Edit,Operation details中,User group为zabbix administrator,Send only to选send_mail-->Update-->Save

    Administration-->Users-->demo-->Media-->Add,Type(send_mail),Send to(jowinchai@163.com)-->Add-->Save

     

    Administration-->Users-->Admin-->Media-->Add,Type(send_mail),Send to(root@localhost)-->Add-->Save

     

    设置报警声音:

    右上角Profile-->Messaging标签,勾选Frontend messaging;

     

    测试:

    1、将test2的mysqld停掉,#service mysqld stop|start
    
    2、在Monitoring-->Dashboard中查看System status、Host status、Last 20issues中的Actions
    
    less
    /var/log/zabbixsrv/zabbix_server.log tail -f /var/log/maillog
  • 相关阅读:
    面向接口程序设计思想实践
    Block Chain Learning Notes
    ECMAScript 6.0
    Etcd Learning Notes
    Travis CI Build Continuous Integration
    Markdown Learning Notes
    SPRING MICROSERVICES IN ACTION
    Java Interview Questions Summary
    Node.js Learning Notes
    Apache Thrift Learning Notes
  • 原文地址:https://www.cnblogs.com/wuhg/p/10237768.html
Copyright © 2011-2022 走看看