您的位置:首页 > 运维架构

Zabbix监控主机及邮箱报警设置

2018-01-11 23:38 465 查看
Zabbix-Server安装可以参考这篇文章:http://blog.csdn.net/qq_39591494/article/details/78983861

OS:Centos7.2--zabbix-server{IP地址:192.168.146.100}

Centos7.2--zabbix-agent{IP地址:192.168.146.110}

这边我zabbix服务端已经安装好了,并且可以访问zabbix页面如下:











1)设置zabbix页面中文显示










以上图中所示,已经是中文的界面,但是还是会存在乱码的情况如下:






解决办法,我们可以讲windows的字体下载到本地,随后传到zabbix服务端,操作如下:

windows--控制面板---字体下载



复制到windows本地桌面后,我们通过rz的方式上传到linux服务器:

[root@yankerp-zabbix fonts]# pwd
/usr/local/nginx/html/zabbix/fonts
[root@yankerp-zabbix fonts]# ls
DejaVuSans.ttf  simsun.ttc
[root@yankerp-zabbix fonts]# mv simsun.ttc DejaVuSans.ttf
mv: overwrite ‘DejaVuSans.ttf’? y
[root@yankerp-zabbix fonts]#


simsun.ttc是我们上传的字体,zabbix默认字体为DejaVuSans.ttf 所以我们可以直接拷贝上传的字体起名为DejaVuSans.ttf覆盖就好了,随后刷新zabbix监控页面如下:




2、zabbix客户端安装(192.168.146.110)


既然我们要监控我们就要添加监控的主机,在添加监控主机之前我们需要在被监控主机上安装agent,安装agent很简单,我们也是按照安装zabbix-server的流程安装,不过在安装的过程中只指定agent就可以了。

1)安装zabbix-配置zabbix-agent

[root@zabbix-agent src]# tar zxf zabbix-3.2.1.tar.gz
[root@zabbix-agent src]# cd  zabbix-3.2.1/
[root@zabbix-agent zabbix-3.2.1]# ./configure --prefix=/usr/local/zabbix --enable-agent && make;make install
[root@zabbix-agent zabbix-3.2.1]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@zabbix-agent zabbix-3.2.1]# mkdir -p /usr/local/zabbix/logs
[root@zabbix-agent zabbix-3.2.1]# groupadd zabbix
[root@zabbix-agent zabbix-3.2.1]# useradd -g zabbix zabbix
[root@zabbix-agent zabbix-3.2.1]# chown -R zabbix:zabbix /usr/local/zabbix/


2)配置开机自启动

[root@zabbix-agent zabbix-3.2.1]# chkconfig --add zabbix_agentd
[root@zabbix-agent zabbix-3.2.1]# chkconfig zabbix_agentd on


3)修改zabbix开机启动脚本的安装目录

[root@zabbix-agent zabbix-3.2.1]# vim /etc/rc.d/init.d/zabbix_agentd 如下:




[root@zabbix-agent zabbix-3.2.1]# systemctl daemon-reload



4)编辑zabbix_agentd.conf修改如下:

[root@zabbix-agent ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid

LogFile=/usr/local/zabbix/logs/zabbix_agentd.log

Server=192.168.146.100

ListenPort=10050

ServerActive=192.168.146.100

Hostname=192.168.146.110

Timeout=15

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/



注:

其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被动后者是主动。也就是说Server这个配置是用来允许192.168.146.100这个ip来我这取数据。而serverActive的192.168.146.100的意思是,客户端主动提交数据给他。

Hostname=XXX,这个定义的名字必须和web页面里面host的名字一样。



启动zabbix-agent(测试中-关闭防火墙)

[root@zabbix-agent ~]# /etc/init.d/zabbix_agentd start
Starting zabbix_agentd (via systemctl):                    [  确定  ]
[root@zabbix-agent ~]# netstat -anput | grep zabbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      11055/zabbix_agentd


到这里zabbix客户端已经安装完毕!接下来配置zabbix-server端来监控zabbix客户端

3、配置zabbix-server

先在“配置”-“主机”里添加主机监控,监控os资源:内存,cpu,io,负载,带宽等.






添加完成后选择模版如下:











到这里zabbix监控linux主机设置完成






检测Linux主机的cpu情况如下:






要出现上图效果,需要等待5-10分钟...

例:在zabbix-agent主机上安装web服务器,使用zabbix-server端服务器监控web服务器的流量等情况

安装Apache(在zabbix-agent操作)

[root@zabbix-agentd ~]# yum install httpd -y




导入页面后,测试能够正常的访问!如下:






配置zabbix-server监控web主机

1)添加应用集










配置---->主机---->选择web检测
















不断刷新页面,效果如下:






2)触发器配置

















在这里已经配置好了,接下来关闭httpd服务,查看状态。










当web服务访问不等于200ok时就会启用触发器 严重!!!

三、设置zabbix邮箱报警

abbix监控服务端、客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常。在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。



1)安装依赖包

[root@yankerp-zabbix ~]# yum install perl-Net-SSLeay perl-IO-Socket-SSL -y


2)解压软件,然后将sendemail复制到/usr/local/bin/目录下,并加上可执行权限,然后修改用户和群组。

[root@yankerp-zabbix ~]# tar zxf sendEmail-v1.56.tar.gz
[root@yankerp-zabbix ~]# cd sendEmail-v1.56/
[root@yankerp-zabbix sendEmail-v1.56]# cp sendEmail /usr/local/bin/sendEmail
[root@yankerp-zabbix sendEmail-v1.56]# chown zabbix:zabbix /usr/local/bin/


/usr/local/bin/sendEmail -f yankerpcs@163.com -t ywyankerp@163.com -s smtp.163.com -u "Zabbix报警测试" -o message-content-type=html -o message-charset=utf8 -xu yankerpcs -xp **** -m "邮件告警正在测试中"

/usr/local/bin/sendEmail #命令主程序

-f yankerpcs@163.com #发件人邮箱

-t ywyankerp@163.com #收件人邮箱

-s smtp.163.com #发件人邮箱的smtp服务器

-u "我是邮件主题" #邮件的标题

-o message-content-type=html #邮件内容的格式,html表示它是html格式

-o message-charset=utf8 #邮件内容编码

-xu yankerpcs #发件人邮箱的用户名

-xp ********** #发件人邮箱密码 注意:此密码是授权码如果是163的话

-m "我是邮件内容" #邮件的具体内容





以上图中表示我们可以正常的接受邮件,接下来配置zabbix邮件告警!

在以下目录下创建报警脚本sendmail.sh








给mail脚本执行权限并执行测试!






zabbix-web端配置

上面的邮件脚本配置好后,就要在web端添加报警媒介,在web页面的管理,报警媒介类型页面,点击右边的创建媒体类型








进入创建页面,然后输入名称“邮件报警脚本”,类型选择脚本,名称选择mail.sh,点击添加按钮,添加三个脚本参数,分别是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESAGE},分别对于mail.sh中的to、subject和body。添加完成后点下面的添加按钮,我们的报警媒介就创建完成了








创建好报警媒介后,就需要将报警媒介关联到我们的用户。点击管理,用户,然后选择我们的用户admin也可新建一个用户,点击用户名就进入到用户配置界面。点击报警媒介,然后点添加,选择我们上一步创建的邮件报警脚本,输入收件人,选择报警时间和类型,然后点击添加,就将创建好的报警媒介关联到我们的用户上面了。















现在需要做的是,创建一个触发动作,即系统出现故障时,触发这个动作,然后给我们的邮箱发送报警邮件。点击配置,选择动作,然后点击右边的创建动作。在动作这一页名称中写入我们定义的动作名以及触发条件







设置操作








步骤是1-3,也即是从1开始到3结束。一旦故障发生,就是执行Email.sh脚本发生报警邮件给zabbix用户。

假如故障持续了1个小时,它也只发送3次,第1-3次(即前3次)邮箱发送给zabbix用户,时间间隔为0秒。



设置恢复操作











报警测试,将被监控服务器的zabbix_agent进程关闭。






发现可以正常收到故障报警邮件





最后,点击”报表“->”动作日志“,可以看到触发动作的次数(右边还看查看到邮件发送状态“已发送”)。



本次测试需要注意:

出现以下的故障

*******************************************************************

Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client

is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER

together with SSL_ca_file|SSL_ca_path for verification.

If you really don't want to verify the certificate and keep the

connection open to Man-In-The-Middle attacks please set

SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.

*******************************************************************

at /usr/local/bin/sendEmail line 1906.



解决办法:

原因是sendemail软件和perl5里面的ssl版本不兼容导致的,通过修改sendemail里面的内容可以解决这个问题。

解决方法:

在sendemail中1906行的内容,从

if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {

修改为

if (! IO::Socket::SSL->start_SSL($SERVER)) {



2:

*******************************************************************

Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client

is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER

together with SSL_ca_file|SSL_ca_path for verification.

If you really don't want to verify the certificate and keep the

connection open to Man-In-The-Middle attacks please set

SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.

*******************************************************************

at /usr/local/bin/sendEmail line 1906.

Jan 13 04:29:51 yankerp-zabbix sendEmail[29686]: ERROR => Received: 554 DT:SPM 163 smtp11,D8CowADHZO69GllahKFICQ--.40213S3 1515788991,please see http://mail.163.com/help/help_spam_16.htm?ip=221.205.62.253&hostid=smtp11&time=1515788991


如果有一直发邮件发不出去的情况,请检查smtp服务等是否打开,在邮箱中设置,如果打开,那么可以修改测试邮箱时--邮箱中的具体内容,因为如果写上很多英文字母测试的话,163邮箱会直接删掉,它会认为是垃圾邮件,亲测5小时!

希望对您有所帮助,再见~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: