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小时!