首页 > 代码库 > 图文详解zabbix的安装以及设置邮件报警

图文详解zabbix的安装以及设置邮件报警

简介:1.zabbix的介绍

          2.zabbix的服务端安装

          3.浏览器安装zabbix

          4.zabbix的客户端安装

          5.添加一个客户端

          6.设置邮件报警


zabbix的介绍


zabbix(音同 zbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。


zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。

zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。

另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。

折叠搭建Zabbix监控环境

要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。

 zabbix:支持画图,查看历史数据,分邮件,自动发现设备





服务端安装zabbix(192.168.0.21)





1.安装epel源


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


rpm -ivh epel-release-6-8_32.noarch.rpm


技术分享


2.安装rpm包的lamp环境


yum install -y  httpd mysql mysql-libs php php-mysql mysql-server php-bcmath php-gd php-mbstring


技术分享


3.安装zabbix服务端


yum install  -y zabbix20 zabbix20-agent zabbix20-server  zabbix20-server-mysql zabbix20-web zabbix20-web-mysql net-snmp-devel


技术分享


4.启动服务


/etc/init.d/zabbix-server start; /etc/init.d/zabbix-agent start


技术分享

发现没有启动zabbix_server服务


技术分享


查看日志 less /var/log/zabbix/zabbix_server.log


技术分享


/etc/init.d/httpd start; /etc/init.d/mysqld start


5.创建文件


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=utf8  zabbix < /usr/share/zabbix-mysql/data.sql


没有密码所以直接回车


6.启动zabbix


/etc/init.d/zabbix-server start


技术分享


7.查看zabbix日志


tail /var/log/zabbix/zabbix_server.log


技术分享

提示无法连接到数据库


创建一个用户

mysql -uroot -e "grant all on *.* to ‘zabbix‘@‘localhost‘ identified by ‘zabbix‘;


技术分享


8.编辑文件

vim /etc/zabbix/zabbix_server.conf


去掉注释DBpassword=zabbix


技术分享


9.启动zabbix-server


/etc/init.d/zabbix-server start


查看端口


netstat -lnpe |grep zabbix


出现zabbix_server   zabbix_agentd表示启动成功


技术分享



错误故障


故障一:
  2637:20151009:050431.719 [Z3001] connection to database ‘zabbix‘ failed: [1045] Access denied for user ‘zabbix‘@‘localhost‘ (using password: YES)
  2637:20151009:050431.719 database is down: reconnecting in 10 seconds
权限问题,执行下面的SQL语句.

MariaDB [(none)]>  grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix‘;




浏览器安装





1.浏览器打开:192.168.0.21/zabbix


出现 以下错误,是时区的问题


  • date(): It is not safe to rely on the system‘s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Chongqing‘ for ‘CST/8.0/no DST‘ instead [include/page_header.php:186]


打开php.ini文件修改时区后重新启动服务


vi /etc/php.ini


技术分享

/etc/init.d/httpd restart


2.点 next 继续


发现php报错 如何解决


技术分享

编辑

vim /etc/php.ini

查找并修改 post_max_size = 16M 


技术分享

查找并修改 max_execution_time = 300


技术分享

查找并修改 max_input_time = 300


技术分享


3.修改完成后重启服务

/etc/init.d/httpd restart


3.点 next 继续


技术分享


user password 都为 zabbix点test connection



4.点 next 继续


技术分享


定义name为:0.21(ip的地址)


技术分享

技术分享

技术分享


登陆的用户名:admin   密码:zabbix


技术分享


点右上角profile 可以修改字体


技术分享





客户端安装(192.168.0.22)






1.安装zabbix软件

 

yum install -y zabbix20-agent


技术分享


2.修改参数


vim /etc/zabbix_agentd.conf

 

//更改Server=服务端ip;


技术分享


更改端口


ServerActive=0.0.0.0:10050;Hostname=test(自定义,但要唯一) 


技术分享


3.启动客户端


/etc/init.d/zabbix-agent start


技术分享


4.测试是否启动


ps aux |grep zabbix


5.服务端上命令行测试:zabbix_get -s 客户端ip -p10050 -k "system.hostname"


 zabbix_get -s 192.168.0.22 -p10050 -k "system.hostname"


技术分享





zabbix添加一个客户端





1.在web界面下,点”configuration(配置)” --> “host(主机)” --> 右上角点”Create Host” 

其中host name,  visible name(可见名)自定义,可以选择groups,选 linux servers 这里默认即可,

ip address 写入客户端ip(192.168.0.22)点存档


技术分享


2.配置监控项目模板:点“templates”, 点add, 在弹出的小窗口中选择Template OS Linux,

然后点select, 最后点save(存档)


技术分享


3.自定义templates

Zabbix自带了很多模板,模板中有很多监控项目,比如CPU、网卡、内存、进程等等。使用系统

自带模板有点太多了,所以我们可以自定义模板。点configuration 选择 templates,

点右上角的create template

Template name和Visible name  host,Groups 选择templates, 点save


技术分享


5.然后我们去挑选一些项目拷贝到该模板下:点Template App MySQLitems 选

mysql status  然后在下面选择copy selected to …然后点go 


技术分享


Group 选择templates, 找到刚才我们自定义的host,点copy


技术分享


点configuration 选择 templates可以看到新建的templates中已经有刚刚我们copy的items了


技术分享


我们可以使用和上面相同的方法自定义拷贝Triggers(触发器 ),它用来设置告警的阀值,


当然我们也可以自定义编辑它


技术分享



邮件报警





客户端操作


1.安装服务


yum install -y sendmail 


技术分享


2.创建指定的邮箱


 mail -s "test" 10882543@qq.com < /etc/inittab


 mailq 查看是否发出去


技术分享

3.开启服务


/etc/init.d/postfix start


mkdir -p /home/zabbix/bin


vim /home/zabbix/bin/baojing.sh //内容:


#! /bin/bash

echo "$3" |/bin/mail -s "$2" $1


技术分享


更改权限


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





服务端操作

1.创建文件夹


mkdir -p /home/zabbix/bin


vim /home/zabbix/bin/baojing.sh //内容:


#! /bin/bash

echo "$3" |/bin/mail -s "$2" $1


技术分享


2.更改权限


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


编辑配置文件


 vim /etc/zabbix_server.conf


修改

AlertScriptsPath=/home/zabbix/bin


ExternalScripts=/home/zabbix/bin


技术分享


4.web界面去配置


创建mediea types: “Administration" -->”Media types",点击右上角“Create Media Type"

其中Description填"baojing” 或其它自定义名称,Type选择"Script",Script填”baojing.sh”

然后点”Save”.  


技术分享


创建user: “Adimistration” --> “Users”在右上角,选择”Users”,点击”Create User”,

alias: test,自定义name和lizheng password:123456;group 选择zabbix administrators,


技术分享


回到上面点一下media,type 选择baojing,send to 写要发送邮件的邮箱,点add, 最后点save


技术分享



创建action: “configuration” --> actions,右上角“Create Actions”, Name自定义,我这里写”baojing”,

其他默认,


技术分享


然后点右侧的“Operations”下的“New”按钮,“Operation Type”选择“Send message”,

“Send Message to”选择一个或多个要发送消息的用户组,组选最后一个,

Send to Users选择我们之前新增的test


 技术分享


“Send only to”选择meijing 点一下add

最后点save


技术分享


图文详解zabbix的安装以及设置邮件报警