zoukankan      html  css  js  c++  java
  • 邮件报警(postfix)

    postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件。这真是一个让人吃惊的数字。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性

    系统:CentOS release 6.5 (Final)  x86_64

    由于centos6后系统就安装了postfix 因此只需启动即可:
    配置如下:

    service postfix start                    //启动服务
    chkconfig postfix on                   //设置开机自启
    

     安装mailx:

    yum install -y mailx 
    改修配置文件添加如下内容:
    vim /etc/mail.rc 
    
    set from=xxx@xxx.com smtp=smtp.xxx.com              //邮件服务器
    set smtp-auth-user=xxx smtp-auth-password=xxx     //用户及密码
    set smtp-auth=login
    

     测试:

    echo '123'|mail -s "123" xxxx@xx.com
    

     业务需要监控主机是否宕机及服务状态所有我通过配置单向ssh免秘钥登录运用ssh命令来监控服务。

    ssh批量分发脚本:

    #!/bin/bash
    User=root
    passWord=123
    port=2266
    function YumBuild(){
    echo "正在安装epel源yum仓库,请稍后..."
    cd /etc/yum.repos.d/ &&
    [ -d bak ] || mkdir bak
    [ `find ./*.* -type f | wc -l` -gt 0 ] && find ./*.* -type f |  xargs -i mv {} bak/
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo &>/dev/null
    yum -y clean all &>/dev/null
    yum makecache &>/dev/null
    }
    rpm -q sshpass &>/dev/null || yum -y install sshpass &>/dev/null
    if [ $? -gt 0 ];then
        YumBuild
        yum -y install sshpass &>/dev/null || (echo "sshpass build error!" && exit)
    fi
    [ -d ~/.ssh ] || mkdir ~/.ssh;chmod 700 ~/.ssh
    echo "正在创建密钥对...."
    rm -rf ~/.ssh/id_dsa ~/.ssh/id_dsa.pub
    ssh-keygen -t dsa -f ~/.ssh/id_dsa -P "" &>/dev/null
    for ip in `cat /root/Pingip.txt`
    do
        ping $ip -c1 &>/dev/null
        if [ $? -gt 0 ];then
            echo "$ip无法ping通请检查网络" 
            continue
        fi
        sshpass -p "$passWord" ssh-copy-id -i ~/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no -p2266 ${User}@$ip" &>/dev/null
        echo "$ip 密钥分发成功"
    done
    

    fping与ping的对比

    fping与ping中的date数据不同

    1. 它们使用的协议相同都是ICMP。

    2. 探测机制和默认回显相同都是延迟延迟。

    3. fping可同时探测多个ip,ping只能手工输出不通ip段。

    4. fping的数据包大小为56字节,ping的数据包字节为48(ping全部默认字节为56)。

    5. fping默认ping间距为25毫秒,ping默认为1秒。

    邮件报警脚本:

    #!/bin/sh
    if [ `which fping |wc -l` -eq 0 ];then 
    wget --limit-rate 500k http://www.fping.org/dist/fping-3.8.tar.gz
    tar zxvf fping-3.8.tar.gz && cd fping-3.8
    ./configure && make && make install
    fi
    rm -f result.txt
    cat /root/baojing/Pingip.txt |fping -u >>result.txt         //Pingip.txt为监控主机ip -u只显示ping不通的机子
    while read line
    do
            echo "$line宕机"|mail -s "报警" xxx@qq.com
    done <result.txt
    for line in `cat /root/baojing/ATSip.txt`                 //ATSip.txt 为服务机子IP
    do
    wget -SO /dev/null "http://www.baidu.com" -e "http_proxy=$line" &> /dev/null                  //wget代理访问
    if [ `echo $?` -eq 0 ] && [ `ssh -p2266 root@$line ps aux|grep /usr/local/tcacheserver/bin/traffic_ |grep -v grep |wc -l` -eq 3 ]
            then
         echo "" >/dev/null
     else
            echo "$line ATS is down"|mail -s "报警" xxx@qq.com
    fi
    done
    

  • 相关阅读:
    word设置的密码忘了怎么办?
    Navicat Report Viewer 设置 HTTP 的方法
    如何处理Navicat Report Viewer 报表
    excel密码忘记了怎么办
    Beyond Compare文本比较搜索功能详解
    Popular Cows POJ
    Problem B. Harvest of Apples HDU
    网络流模型整理
    The Shortest Statement CodeForces
    Vasya and Multisets CodeForces
  • 原文地址:https://www.cnblogs.com/Dev0ps/p/7834789.html
Copyright © 2011-2022 走看看