• Zabbix监控


    这几天由于公司的核心交换机CPU比较高,再加上之前遇到的内网环路问题导致光猫死机问题,所以网络组的同事询问我有无比较好的监控手段。于是借此机会我研究了下大名鼎鼎的Zabbix,现将过程记录与下:

    1. 首先还是平台的部署,我选择的是Ubuntu 14.04,按照https://www.zabbix.com/documentation/3.0/manual/installation/install_from_packages/repository_installation官方文档所述的二进制包安装方法基本没什么难度,唯一要注意的是几个有用的配置文件的位置:

    /etc/zabbix/zabbix_server.conf    # 修改数据库连接信息

    /etc/zabbix/apache.conf    # 修改php的timezone

    /etc/zabbix/web/zabbix.conf.php

    /usr/share/zabbix/    # Zabbix网页的主目录

    /usr/lib/zabbix/alertscripts    # 默认存放发邮件脚本的位置

    /etc/zabbix/zabbix_agentd.conf    # 客户端配置文件,修改Server属性

    2. 由于监控Cisco网络设备,所以必须依靠SNMP,收集了几个常用的OID,以后还需要什么去官网查即可(http://snmp.cloudapps.cisco.com/Support/SNMP/do/BrowseOID.do?local=en)。需要注意的是在Zabbix里填写OID时开头要加个“.”,末尾视情况加个“数字”:

    CPU utilization for one minute: .1.3.6.1.4.1.9.2.1.57.0
    Free Memory: .1.3.6.1.4.1.9.2.1.8.0 (在后续IOS中似乎已弃用这个,而是改成下面的那些)
    ciscoMemoryPoolType 1.3.6.1.4.1.9.9.48.1.1.1.1
    ciscoMemoryPoolName 1.3.6.1.4.1.9.9.48.1.1.1.2
    ciscoMemoryPoolAlternate 1.3.6.1.4.1.9.9.48.1.1.1.3
    ciscoMemoryPoolValid 1.3.6.1.4.1.9.9.48.1.1.1.4
    ciscoMemoryPoolUsed .1.3.6.1.4.1.9.9.48.1.1.1.5.1
    ciscoMemoryPoolFree .1.3.6.1.4.1.9.9.48.1.1.1.6.1
    ciscoMemoryPoolLargestFree 1.3.6.1.4.1.9.9.48.1.1.1.7

    3. 邮件通知也是必不可少的一块。我用的是sendEmail+公网SMTP来发送邮件的,这块折腾比较久的时间,还是权限问题吧。

    chown -R zabbix:zabbix /usr/lib/zabbix/alertscripts

    vi /usr/lib/zabbix/alertscripts/sendmail.sh

    #!/bin/bash
    #
    # Filename:    SendEmail.sh
    # Revision:    1.0
    # Date:        2014/07/04
    # Author:      Qicheng
    # Email:
    # Website:     http://qicheng0211.blog.51cto.com/
    # Description: zabbix邮件告警脚本
    # Notes:       使用sendEmail
    #
    
    # 脚本的日志文件
    LOGFILE="/tmp/Email.log"
    :>"$LOGFILE"
    exec 1>"$LOGFILE"
    exec 2>&1
     
    SMTP_server='smtp.exmail.qq.com'    # SMTP服务器,变量值需要自行修改
    username='chend@qq.com.cn'     # 用户名,变量值需要自行修改
    password='XXXXXX'             # 密码,变量值需要自行修改
    from_email_address='chend@qq.com.cn' # 发件人Email地址,变量值需要自行修改
    to_email_address="$1"               # 收件人Email地址,zabbix传入的第一个参数
    message_subject_utf8="$2"           # 邮件标题,zabbix传入的第二个参数
    message_body_utf8="$3"              # 邮件内容,zabbix传入的第三个参数
     
    # 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。
    message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
    $message_subject_utf8
    EOF`
    [ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"
     
    # 转换邮件内容为GB2312,解决收到邮件内容乱码
    message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
    $message_body_utf8
    EOF`
    [ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"
     
    # 发送邮件
    sendEmail='/usr/local/bin/sendEmail'
    set -x
    $sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312

    touch /tmp/Email.log

    chown zabbix:zabbix /tmp/Email.log

    chown zabbix:zabbix /usr/lib/zabbix/alertscripts/sendmail.sh

    chmod +x /usr/lib/zabbix/alertscripts/sendmail.sh

    测试:/usr/lib/zabbix/alertscripts/sendmail.sh 1234567@qq.com "测试邮件标题" "测试邮件内容"

    最后在Zabbix里面触发Trigger的话,你可以在Report->Action log里看到邮件发送的记录。

    目前为止涉及到了以上几个知识点,日后有更多需求的话我会继续更新。

  • 相关阅读:
    mongo的csv文件参考
    apache安装配置
    部署Java的运行环境
    ubuntu下没有ping命令
    webbench压力测试
    判断当前是否是微信浏览器,还是APP客户端
    PHP uniqid 高并发生成不重复唯一ID
    http_build_query()函数使用方法
    防XSS攻击
    PHP中json_encode()使用须知,JSON数组和JSON对象
  • 原文地址:https://www.cnblogs.com/IvanChen/p/5998992.html
Copyright © 2020-2023  润新知