zabbix安装不在演示,前面有文章
先监控一台主机
被监控主机安装Zabbix-Agent
同样需要安装zabbix官方源
rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
安装客户端需要的软件包:
yum -y install zabbix zabbix-agent zabbix-sender
修改配置文件
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
特定情况配置zabbix_agentd.conf需改变的参数如下:
Server:被动模式,允许哪台服务器连接agent。
serverActive:主动模式,向哪台服务器传送数据。
一个agent是可以向多个服务器发送数据的,多个ip用逗号分隔。例如:
Server=127.0.0.1,192.168.0.240表server的ip为127.0.0.1和192.168.0.240这两台zabbix-server
服务器端可获取次agent的监控数据。
[root@localhost ~]# egrep -v "(^#|^$)" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1,192.168.0.240 #被动模式:zabbix-server的ip地址
ServerActive=192.168.0.240:10051 #主动模式
#主动和被动可以同时开启
启动zabbix-agent
[root@localhost ~]# service zabbix-agent start
Starting Zabbix agent: [确定]
Zabbix-agent监听端口10050
[root@localhost ~]# ss -tanlp
添加主机
查看监控数量
邮件报警配置
邮件报警有两种情况:
1、Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:[email protected]),只能发送,不能接收外部邮件。
2、使用一个可以在互联网上正常收发邮件的邮箱账号(例如:[email protected]),通过在Zabbix服务端中设置,使其能够发送报警邮件到指定邮箱。
第一种:使用Zabbix服务端本地邮箱账号发送邮件
一、安装sendmail或者postfix
yum install sendmail #安装
service sendmail start #启动
chkconfig sendmail on #设置开机启动
yum install postfix
service postfix start
chkconfig postfix on
CentOS 5.x 默认已经安装好sendmail
CentOS 6.x 默认已经安装好postfix
sendmail和postfix只需要安装一个即可并开启服务即可。
一般我们用第二种方式
先添加用户
添加用户一定要添加到zabbix超级用户组
许可权一定要给超级管理员权限
最后存档。
用新用户登录
自定义item
监控mysql状态
找一个被监控主机安装MySQL并启动
然后命令行检测mysql进程数:
mysqladmin -p123456 ping |grep -c alive
1
“1”说明mysql存活
在被监控的主机上修改zabbix-agentd.conf配置文件添加下面一行(下面的密码指的是被监控主机MySQL的登录密码如果没有设置密码就不用写)
UserParameter=mysql_alive,mysqladmin –p”123456”ping |grep -c alive
重启zabbix-agent服务
配置完成后在zabbix-server上检测与被监控主机上的mysql是否通信:
zabbix_get -s 10.3.45.233 -k mysql_alive
1
自定义创建项目
再创建一个触发器(报警触发)
记得选择“严重性”
还可以试着创建一个图形
预览
设置一个自定义报警类型
在zabbix-server端查看如下存储脚本路径
先在zabbix-sever本地测试发送是否成功(我下面测试都是秒送)
echo "hahaha" |mail -s "hahaha" [email protected]
#如果不行修改下面文件
vim /etc/mail.rc
set [email protected] smtp=smtp.163.com
set [email protected] smtp-auth-password=Benng#这里是邮箱客户端授权码
set smtp-auth=login
直到能收到邮件为准。
然后编写脚本
Cd /usr/lib/zabbix/alertscripts
Vim zabbix_mail.sh
#!/bin/bash
MAIL_TITLE=$2
MAIL_COM=$3
echo "$MAIL_CON" | /bin/mail -s "$MAIL_TITLE" $1
echo "$1 $2 $3" /tmp/zab_baoj
修改示警媒介类型
添加用户示警媒介
添加动作
注意下面有一个“更新”要先点,然后存档
记得基本资料修改
测试
关闭被监控主机的mysql:/etc/init.d/mysqld stop
查看主面板刷新时间为60秒
再查看邮箱(时间和发送次数都遵循与组态-动作-操作细节的设置)
注意:上面内容是自己多文档拆分组合总结,存在有些截图和内容里面对应的IP对不上,重点是原理清楚就好。
邮箱报警到此完毕。