环境:

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/p_w_upload/forum/epel-release-5-4_32.noarch.rpm

   www.lishiming.net/data/p_w_upload/forum/epel-release-5-4_64.noarch.rpm

   www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_32.noarch.rpm

  www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_64.noarch.rpm

 

2. yum安装lamp环境,zabbix服务软件包

    yum install -y  httpd

                            mysql mysql-libs mysql-server

                            php php-mysql  php-bcmath php-gd php-mbstring


   yum install -y  zabbix20 zabbix20-agent zabbix20-server  zabbix20-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 charset=utf8 "

    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/p_w_picpaths.sql

    mysql -uroot -p --default-character-set=utf8  zabbix < /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增加客户端监控


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"    

 wKiom1ildRugdB75AAAQMhNtRzU821.png


5. web上添加客户端机器, 配置监控项目模板

     在web界面下,点”configuration” --> “host” --> 右上角点”Create Host”  其中host name,  visible name自定义,可以选择groups,这里默认即可,ip address 写入客户端ip;

配置监控项目模板:点“templates”, 点add, 在弹出的小窗口中选择Template OS Linux, 然后点select, 最后点save。

    zabbix邮件报警_第2张图片


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 [email protected]

    set smtp=smtp.126.com

    set smtp-auth-user=hzpzc68

    set smtp-auth-password=XXXXXXXX

    set smtp-auth=login


   测试: echo "important" | mail -s "today"  [email protected]


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 [email protected]

    说明:如果成功会收到邮件提示


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”;

 zabbix邮件报警_第3张图片


     创建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

 zabbix邮件报警_第4张图片


     创建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}

 zabbix邮件报警_第5张图片


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,有恢复的邮件提示

   

 zabbix邮件报警_第6张图片


zabbix邮件报警_第7张图片