Zabbix帮助网站
http://www.zabbix.org/wiki/Main_Page
https://github.com/zabbix/zabbix-community-repos
一、 配置zabbix监控apache服务
1、 安装apache服务并启动服务
[root@xuegod120 ~]# yum -y install httpd
[root@xuegod120 ~]# systemctl start httpd
[root@xuegod120 ~]# systemctl enable httpd
2、 修改apache配置文件,开启apache的server-status
[root@xuegod120 ~]# vim /etc/httpd/conf/httpd.conf #末尾加入如下内容
ExtendedStatus On
<location /server-status>
SetHandler server-status
Order allow,deny
Allow from 127.0.0.1 192.168.1.0/24
3、 重启apache服务,测试
[root@xuegod120 ~]# systemctl restart httpd
看到如下界面,说明配置已经成功
4、 下载apache模板文件
Apache模板文件下载链接:https://github.com/lorf/zapache/archive/master.zip
将模板文件下载到服务器
[root@xuegod120 opt]# wget https://github.com/lorf/zapache/archive/master.zip
5、 解压下载包,并将文件复制到相关位置
[root@xuegod120 opt]# unzip master.zip
[root@xuegod120 opt]# cd zapache-master/
[root@xuegod120 zapache-master]# ls
httpd-server-status.conf.sample zapache
README.md zapache-template-active.xml
userparameter_zapache.conf.sample zapache-template.xml
文件用途说明:
httpd-server-status.conf.sample #是用于配置server-status的上个步骤已经配置过了
userparameter_zapache.conf.sample 、zapache #关键的文件
zapache-template-active.xml zapache-template.xml #模板
将解压的文件放到相应目录
[root@xuegod120 zapache-master]# cp zapache /usr/local/bin/
[root@xuegod120 zapache-master]# cp userparameter_zapache.conf.sample /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@xuegod120 zapache-master]# cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@xuegod120 zabbix_agentd.conf.d]# mv userparameter_zapache.conf.sample userparameter_zapache.conf
6、 修改zapache配置文件
[root@xuegod120 zabbix_agentd.conf.d]# vim userparameter_zapache.conf
改:6 UserParameter=zapache[],/var/lib/zabbixsrv/externalscripts/zapache $1
为:6 UserParameter=zapache[],/usr/local/bin/zapache $1
查看是否有执行权限,如果没有增加执行权限
[root@xuegod120 zabbix_agentd.conf.d]# ll /usr/local/bin/zapache
-rwxr-xr-x 1 root root 6110 Jul 4 20:26 /usr/local/bin/zapache
7、 修改zabbix-agentd.conf文件
[root@xuegod120 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
改:264 #Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
为:264 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ #启用引用此目录文件
8、 前端页面导入apache模板文件
将master.zip文件解压缩,然后导出模板文件
配置-----模板----导入,选择apache模板文件导入
9、 关联模板到主机
配置----主机(选择安装apache的客户端)
模板----选择(选择上面导入的模板)—添加----更新
10、 查看数据,筛选apache
这里看到下面的监控都是正常启用状态,说明apache监控模板配置成功
可以选择生产图形
选择需要查看的监控项目,点击—显示堆叠图案,如下,有数据显示,说明已经开始监控apache服务
注意:这里如果添加完监控模板后,发现apache的很多监控项目显示不支持状态,如下:
首先查看/tmp目录下的日志提示,如果提示如下错误:
可以看到提示访问server-status被拒绝,这里就说明,上面我们配置的server-status有问题
经过排查后,发现是允许列表的问题,修改为允许所有之后,等待几分钟后,所有监控模板都显示启用状态
修改为如下:
[root@xuegod120 ~]# vim /etc/httpd/conf/httpd.conf #末尾加入如下内容
ExtendedStatus On
<location /server-status>
SetHandler server-status
Order allow,deny
Allow from all
重启httpd访问,再次查看apache的监控模板,如下
二、 配置zabbix监控mysql
和监控我们的Apache 一样,寻找合适的脚本,不过,脚本并不是那么容易就可以找得到的! 要么自己手动去写,要么自己找到的拿来修改,都是需要花费代价的! Zabbix 默认提供了 MySQL 的监控模板。
1、 数据库用户授权
[root@xuegod120 ~]# mysql -uroot -p123456 –A
mysql> grant usage on . to zabbix@’%’ identified by ‘`123456’;
Query OK, 0 rows affected, 1 warning (0.09 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.05 sec)
2、 拷贝数据库模板到zabbix配置目录
[root@xuegod120 ~]# cp /root/zabbix-3.4.3/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/
3、 修改上述文件
[root@xuegod120 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
改:265 #Include=/usr/local /etc/zabbix_agentd.conf.d/.conf #启用并修改
为:265 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/.conf
注意:在zabbix_agentd.conf文件中的Include项仅能开启一项,如果在配置apache时开启了一项Include了,那么在此就不需要再开启,否则会出错。
4、 建立数据库和zabbix的链接信息
[root@xuegod120 ~]# vim /usr/local/zabbix/etc/.my.conf
#Zabbix Agent
[mysql]
host=localhost
user=zabbix
password=123456
socket=/var/lib/mysql/mysql.sock
[mysqladmin]
host=localhost
user=zabbix
password=123456
socket=/var/lib/mysql/mysql.sock
5、 修改mysql模板文件的路径
[root@xuegod120 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
将 HOME=/var/lib/zabbix 全部改成 HOME=/usr/local/zabbix/etc/
使用vim批量修改 :%s#/var/lib/zabbix#/usr/local/zabbix/etc/#g # #号表示分隔符
6、 重启zabbix-agentd服务
[root@xuegod120 ~]# /etc/init.d/zabbix_agentd restart
Restarting zabbix_agentd (via systemctl): [ OK ]
7、 将模板应用到主机
8、 查看数据
三、 Zabbix邮件报警配置
邮件服务可以使用系统自带的邮件服务来发送邮件或者使用其他邮件服务调用第三方邮件来发送警告邮件。
这里演示如何调用第三方邮件服务来发送邮件:
第一步:首先安装mailx组件并配置好能够通过三方邮箱发送邮件
[root@xuegod63 ~]# yum install mailx
然后编辑mailx的配置文件
[root@xuegod63 ~]# vim /etc/mail.rc
在最末尾添加如下信息:
set from=xuegodman@163.com
set smtp=smtp.163.com
set smtp-auth-user=xuegodman@163.com
set smtp-auth-password=你的密码 注意:此为163邮箱设置的客户端授权密码
set smtp-auth=login
这里的xxxxxx@163.com 表示发送账号
保存退出后测试邮件是否能够正常发送出去
[root@xuegod63 ~]# echo “zabbix test mail” |mailx -s “zabbix” XXXX@163.com
在zabbix服务端写邮件发送脚本:
[root@xuegod63 ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/
[root@xuegod63 alertscripts]# vim sendmail.sh
#!/bin/bash
messages=echo $3 | tr '\r\n' '\n'
subject=echo $2 | tr '\r\n' '\n'
echo “
m
e
s
s
a
g
e
s
"
∣
m
a
i
l
x
−
s
"
{messages}" | mailx -s "
messages"∣mailx−s"{subject}” $1 >>/tmp/sendmail.log 2>&1
[root@xuegod63 alertscripts]# chown zabbix.zabbix sendmail.sh
[root@xuegod63 alertscripts]# chmod +x sendmail.sh
修改主配置文件,让服务读取到这个脚本:
[root@xuegod63 alertscripts]# vim /usr/local/zabbix/etc/zabbix_server.conf
修改:
改:466 # AlertScriptsPath=${datadir}/zabbix/alertscripts
为
为:466 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
[root@xuegod63alertscripts]# chmod 777 /tmp/sendmail.log
测试发送脚本
/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh 136xxx@126.com “测试邮件标题” “测试邮件内容” #不需要加引号将变量值引起来
页面添加:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
很多人安装zabbix 3.0之后,写的脚本一直发信不成功,手动执行时可以的。
这是因为zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的。
在2.x版本不存在这个问题,默认会传3个参数。
这个地方的类型选择sendmail,需要注意
内容如下
动作
名称:Action-Email
操作
默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
恢复操作
默认接收人:已恢复!{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}
恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
测试,关闭 zabbix 客户端服务 zabbix_agentd
[root@xuegod64 ~]# /etc/init.d/zabbix_agentd stop 结果:
延迟比较大,大概要5-10分钟
可以在日志看送达状态:
参考:
http://thedream.blog.51cto.com/6427769/1827984
http://xiao987334176.blog.51cto.com/2202382/1768339
http://clovemfong.blog.51cto.com/3297559/1702105
https://ywwd.net/read-1044
http://www.cnblogs.com/Eivll0m/p/5446993.html
配置 zabbix 自动发现并监控(监控Windows为案例)
首先下载安装Windows端agent
下载链接:https://assets.zabbix.com/downloads/3.4.0/zabbix_agents_3.4.0.win.zip
找到conf下的配置文件 zabbix_agentd.win.conf (建议用文本编辑软件打开),修改LogFile、Server、ServerActive、Hostname这四个参数。具体配置如下:
LogFile=e:\zabbix_agentd.log
Server=192.168.1.63
Hostname=download
ServerActive=192.168.1.63 #zabbix server地址
其中logfile是zabbix日志存放地址。Server 是zabbix服务端ip地址。Hostname是本机机器名。
一定要以管理员身份来运行CMD,否则安装不了
cd C:\Users\Administrator\Desktop\zabbix_agents_3.4.0.win\bin\win64
安装windos zabbix客户端
zabbix_agentd.exe -c C:\Users\Administrator\Desktop\zabbix_agents_3.4.0.win\conf\zabbix_agentd.win.conf -i
启动客户端
zabbix_agentd.exe -c C:\Users\Administrator\Desktop\zabbix_agents_3.4.0.win\conf\zabbix_agentd.win.conf -s
创建自动发现规则
添加关联动作
操作-可添加发现主机发送邮件通知
发送模版
默认接收人
自动发现主机: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}
默认信息
发现规则: {DISCOVERY.RULE.NAME}
设备IP:{DISCOVERY.DEVICE.IPADDRESS}
设备DNS: {DISCOVERY.DEVICE.DNS}
设备状态: {DISCOVERY.DEVICE.STATUS}
设备运行时间: {DISCOVERY.DEVICE.UPTIME}
设备服务端口: {DISCOVERY.SERVICE.NAME}
这里注意操作细节 需要添加四个动作
等待一会,就可以发现自动探测监控了
推荐一款监控:http://www.weadmin.com/