gddge11 发表于 2017-2-17 09:16:24

zabbix邮件报警

环境:zabbix-server:172.16.115.157
zabbix-agent:172.16.115.160


一、zabbix服务端安装
说明:和cacti nagios一样,需要lamp的运行环境,lnmp也可以,但是yum安装的Nginx不支持Nginx的配置文件,而默认在apache安装文件下生成一个子配置文件


1. 安装yum扩展源
   centos 5/6 epel yum源安装链接:
   www.lishiming.net/data/attachment/forum/epel-release-5-4_32.noarch.rpm
   www.lishiming.net/data/attachment/forum/epel-release-5-4_64.noarch.rpm
   www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm
www.lishiming.net/data/attachment/forum/epel-release-6-8_64.noarch.rpm

2. yum安装lamp环境,zabbix服务软件包
    yum install -yhttpd
                            mysql mysql-libs mysql-server
                            php php-mysqlphp-bcmath php-gd php-mbstring


   yum install -yzabbix20 zabbix20-agent zabbix20-serverzabbix20-server-mysql
                            zabbix20-web zabbix20-web-mysql net-snmp-devel


3. 启动httpd和mysql,并给mysql创建zabbix一个库,并添加一个用户
    命令 /etc/init.d/httpd start
            /etc/init.d/mysqld start
    数据库命令:
    mysql -uroot -p -e"create database zabbix"
    mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/schema.sql
    mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/images.sql
    mysql -uroot -p --default-character-set=utf8zabbix < /usr/share/zabbix-mysql/data.sql
    mysql -uroot -e "grant all on *.* to 'zabbix'@'localhost' identified by 'zabbix';"


4.编辑zabbix配置文件 vim /etc/zabbix/zabbix_server.conf
   修改为:
                DBName=zabbix
                DBUser=zabbix
                DBPassword=zabbix


5. 启动zabbix的服务端和客户端
    命令 /etc/init.d/zabbix-server start#日志位置: /var/log/log/zabbix_server.log
    命令 /etc/init.d/zabbix-agent start


6.重启apache,浏览器进入web安装界面
   说明:http://ip/zabbix/
   命令 service httpd restart


7.编辑php的配置文件: vim /etc/php.ini
   说明:修改相关参数为zabbix所需求的值
      如:
            post_max_size = 16M         # 最大上传文件
         max_execution_time = 300 # 最大执行时间
         max_input_time = 300      # 最大输入时间
       注:yum安装默认没有时区,需设置date.timezone = 'Asia/Chongqing' ,否则会报错


8. Web上填写数据库名称zabbix,用户zabbix,密码zabbix,测试连接性
    继续,定义name;
    继续,默认的登录管理员用户和密码admin/zabbix
    进入界面,可以在右上角Profile,更改语言
   
二、zabbix增加客户端监控


1. 客户机上安装zabbix的客户端,版本须一致
   命令 yum install zabbix20-agent


2. 编辑配置文件/etc/zabbix/zabbix_agentd.conf
    Server=172.16.115.160
    说明:server修改为服务器的ip


    ServerActive=0.0.0.0:10050
    说明:表示监听所有IP地址,端口号为10050


    Hostname=silen
    说明:自定义主机名,要唯一


3. 客户机启动zabbix,netstat查看确认是否已启动
    命令 /etc/init.d/zabbix-agent start


4. 服务端检查客户端的连通性
    说明:能正确取客户端的主机名,则服务端-客户端连通正常
    命令 zabbix_get -s 172.16.115.160 -p10050 -k "system.hostname"   


5. web上添加客户端机器, 配置监控项目模板
   在web界面下,点”configuration” --> “host” --> 右上角点”Create Host”其中host name,visible name自定义,可以选择groups,这里默认即可,ip address 写入客户端ip;
配置监控项目模板:点“templates”, 点add, 在弹出的小窗口中选择Template OS Linux, 然后点select, 最后点save。
   
6. 自定义templates
   Zabbix自带了很多模板,模板中有很多监控项目,比如CPU、网卡、内存、进程等等。使用系统自带模板有点太多了,所以我们可以自定义模板。点configuration 选择 templates,点右上角的create template,Template name和Visible name自定义,Groups 选择templates, 点save。
然后我们去挑选一些项目拷贝到该模板下:比如我们找到Template OS Linux 点一下items,选择我们想要的项目,然后在下面选择copy selected to … 然后点go,Group 选择templates, 找到刚才我们自定义的templates,点copy。
点configuration 选择 templates可以看到新建的templates中已经有刚刚我们copy的items了,我们可以使用和上面相同的方法自定义拷贝Triggers(触发器 ),它用来设置告警的阀值,当然我们也可以自定义编辑它。


三、zabbix配置邮件告警


1. 主服务器机器上安装一个sendmail或者postfix,调用mailx发邮件
    说明: 调用mailx发邮件,如没有/etc/mail.rc文件,需yum install mailx
    修改配置文件vim /etc/mail.rc
    set from=hzpzc68@126.com
    set smtp=smtp.126.com
    set smtp-auth-user=hzpzc68
    set smtp-auth-password=XXXXXXXX
    set smtp-auth=login


   测试: echo "important" | mail -s "today"1124657106@qq.com

2. 给zabbix创建一个存放脚本的目录,并编辑一个脚本,并授予可执行权限
    命令 mkdir -p /home/zabbix/bin
    说明: $3 邮件内容$2 主题 $1收件邮箱


    命令 vim /home/zabbix/bin/baojing.sh
    脚本内容:
    #! /bin/bash
   echo "$3" |/bin/mail -s "$2" $1


    命令 chmod +x/home/zabbix/bin/baojing.sh


3. 发邮件测试
    命令 cd /home/zabbix/bin/
    命令 ./baojing.sh nihao nihao 1124657106@qq.com
    说明:如果成功会收到邮件提示


4. 编辑主配置文件,将脚本目录改为自定义的脚本存放目录
    命令 vim /etc/zabbix_server.conf
    更改为:
   AlertScriptsPath=/home/zabbix/bin#用户自定义的media types脚本
   ExternalScripts=/home/zabbix/bin    #用户自定义的检查的脚本(item)


5. Web上配置邮件报警
   创建mediea types: “Administration" -->”Media types",点击右上角“Create Media Type"其中Description填"baojing” 或其它自定义名称,Type选择"Script",Script填”baojing.sh”然后点”Save”;


   创建user: “Adimistration” --> “Users”在右上角,选择”Users”,点击”Create User”, alias: sile,自定义name和lastname password:123456;group 选择guest,回到上面点一下media,type 选择baojing,send to 写要发送邮件的邮箱,点add;进入permissions,User type选择zabbix super admin(选其他没有权限触发action);最后点save


   创建action: “configuration” --> actions,右上角“Create Actions”, Name自定义,我这里写”baojing”,其他可以默认也可以自定义(Default subject表示邮件主题,Default message表示邮件内容,Recovery message表示故障恢复后也会发邮件);Conditions表示触发的条件,系统已经有两个,也可以继续添加;然后点右侧的“Operations”下的“New”按钮,“Operation Type”选择“Send message”,“Send Message to”选择一个或多个要发送消息的用户组(可以不填),Send to Users选择我们之前新增的silen, “Send only to”选择baojing , 点一下add,最后点save

   Default subject邮件主题一般这么写:
   服务器:{HOSTNAME1}:{TRIGGER.NAME}


   Default message邮件内容一般这么写:
   告警主机:{HOSTNAME1}
   告警信息: {TRIGGER.NAME}
   当前状态:{TRIGGER.STATUS}
   告警时间:{EVENT.DATE} {EVENT.TIME}
   告警等级:{TRIGGER.SEVERITY}
   告警项目:{TRIGGER.KEY1}
   问题详情:{ITEM.NAME}:{ITEM.VALUE}


6. 测试
    命令 /etc/init.d/zabbix-agent stop
    说明:被监控的客户机,关闭zabbix-agent


7. 结果
    说明:5分钟出现告警:172.16.115.160:Zabbixagent on 172.16.115.160 is unreachable for 5 minutes,并有邮件提示;客户机开启zabbix-agent,有恢复的邮件提示
   




页: [1]
查看完整版本: zabbix邮件报警