1.安装部署
安装epel源:yum -y install epel-release
安装webtatic源:rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
配置zabbix源:
vim /etc/yum.repos.d/zabbix.repo
[zabbix]name=zabbixbaseurl=http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/enabled=1gpgcheck=0
[zabbix-deprecated]name=zabbix-deprecatedbaseurl=http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/deprecated/enabled=1gpgcheck=0
清空yum cache,重建yum缓存
yum clean all
yum repolist
yum makecache
升级php前台页面版本:
查看当前版本:php -v
删除当前版本:yum remove php*
安装php5.6版本:yum install php56w php56w-devel php56w-common php56w-mysql php56w-pdo php56w-opacache php56w-xml
安装mysql服务
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent mysql-server mysql -y
/etc/init.d/mysqld start
mysql -e "create database zabbix character set utf8 collate utf8_bin;"
mysql -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"
mysql -e "FLUSH PRIVILEGES;"
安装zabbix
yum install zabbix-agent zabbix-get zabbix-java-gateway zabbix-proxy zabbix-proxy-mysql zabbix-release zabbix-sender zabbix-server zabbix-server-mysql zabbix-web zabbix-web-mysql
进入目录:cd /usr/share/doc/zabbix-server-mysql-3.2.11/
解压gz包:gunzip create.sql.gz
建议最好,登陆mysql后,直接执行create.sql中的sql语句
编辑zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
AlertScriptsPath=/usr/lib/zabbix/alertscripts
编辑zabbix_agentd.conf vi /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.2.20.34
ServerActive=10.2.20.34
Hostname=xiaovdw34.data.com
Include=/etc/zabbix/zabbix_agentd.d/*.conf
EnableRemoteCommands=1(这个配置在远程执行命令时候需要配置,并且给执行脚本的sudo权限)
启动zabbix服务:service zabbix-server restart
配置apache服务
开启http服务:service httpd start
设置开机启动:chkconfig httpd on
关闭防火墙:service iptables stop
将/usr/share/目录下的zabbix目录复制到/var/www/html/目录下cp -r /usr/share/zabbix /var/www/html/
打开页面:http://10.103.70.140:1181/zabbix 默认超级管理员账户是Admin zabbix
2.微信报警
配置报警媒介类型:
2.添加用户,给用户超级管理员权限
脚本目录:/usr/lib/zabbix/alertscripts
#!/bin/sh
sendto=$1
subject=$2
Msg=$3
echo $Msg
/usr/bin/curl -H "Content-type:application/json" -X POST -d "{\"unit\":\"数据中心服务器\",\"token\":\"48dc495e6bff485f\",\"targets\":\"zabbix-msg\",\"content\":\"$Msg\"}" "http://10.2.20.21:9928
/inform/sendwechat"
3.在agent的配置文件配置开启远程命令:vi /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1
4.给zabbix用户赋予执行当前脚本的sudo权限
visudo
添加:
zabbix ALL=NOPASSWD:/etc/init.d/tomcat-restartup.sh
修改权限,chmod 755 /etc/init.d/tomcat-restartup.sh
3.遇到问题总结
1.自定义key方式监控
UserParameter=agent.islive,/opt/cm-5.11.0/etc/init.d/cloudera-scm-agent status | grep -c running
UserParameter=agent.islive,/opt/cm-5.11.0/etc/init.d/cloudera-scm-server status | grep -c running
监控haproxy服务
UserParameter=HAproxy.status,service haproxy status | grep -c running
将此命令可以在agent端定义成key,使用UserParameter即可,格式是:UserParameter=,,值就可以发送到server端,一般key不可以重名
在/etc/zabbix目录下,可以直接定义zabbix_agentd.conf文件,或者可以在/etc/zabbix/zabbix_agentd.d目录下新建一个以conf结尾的文件
UserParameter=memory.free,/usr/bin/free |awk '/^Mem:/{print $4}'
必须重启agent服务
在服务器端,我们可以模拟获取:
zabbix_get -s 10.2.20.44 -k "HAproxy.status"
(10.2.20.44是agent的服务器地址,不是zabbix server的地址,zabbix_get命令要在server上执行)
在添加监控项的时候,要手写key值即可:比如:
2.修改中文乱码问题
/usr/share/zabbix/include/defines.inc.php下改成 define('ZBX_GRAPH_FONT_NAME', 'simkai');
/usr/share/zabbix/fonts目录下放上simkai.ttf文件,可以去网上下载
4.zabbix变量取值
默认接收人:{TRIGGER.STATUS}: {TRIGGER.NAME}
默认信息:
Status: {TRIGGER.STATUS}
Host: {HOST.NAME}
IP: {HOST.IP}
TIME: {EVENT.DATE} {EVENT.TIME}
Item values:
1. {ITEM.KEY1}): {ITEM.VALUE1}
Original event ID: {EVENT.ID}
5.新加机器
1.安装zabbix agent
2.修改配置文件,修改成本机的host
3.在zabbix web页面添加,重启agent服务,server服务
service zabbix-agent restart
service zabbix-server restart
4.添加完之后默认是启用状态,但是可用性为灰色,需要添加模板后才可以变成绿色
***************flume监控**********************
在/etc/zabbix/zabbix_agentd.d目录下新建一个userparameter_flume.conf文件
ps -ef | grep flume| grep -v grep|wc -l
UserParameter=agent.islive,/opt/cm-5.11.0/etc/init.d/cloudera-scm-agent status | grep -c running
102启动flume:
nohup /server/flume-1.7.0/bin/flume-ng agent --conf /server/flume-1.7.0/conf/ -f /server/flume-1.7.0/conf/a1.conf -n a1 >> /server/flume-1.7.0/logs/flume.log 2>&1 &
*************************************linux系统启动,自动启动zabbix-agent服务和zabbix-server
/etc/rc.d/rc.local是一个文件,这个文件用于用户自定义开机启动程序,也就是说用户可以把需要开机启动的程序、命令写入这个文件,这样就可以在系统启动时自动执行这个命令,比如把一个shell脚本的完整路径写入这个文件,那这个shell脚本就会在开机后自动执行。
注意:可能由于权限问题导致脚本不能自动启动
cd /etc/rc.d
chmod +x rc.local
vi /etc/rc.d/rc.local 文件,最后添加脚本:service zabbix-agent restart