1.安装zabbix
官网下载地址 www.zabbix.com/download
wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql //zabbix-agent 客户端软件;zabbix-get 服务端的工具,能够经过命令行得到客户端数据;zabbix-server-mysql 跟mysql相关的文件;zabbix-web web界面;zabbix-web-mysql web与mysql相关的文件
安装结果
已安装:
zabbix-agent.x86_64 0:3.2.11-1.el7 zabbix-get.x86_64 0:3.2.11-1.el7 zabbix-server-mysql.x86_64 0:3.2.11-1.el7 zabbix-web.noarch 0:3.2.11-1.el7
zabbix-web-mysql.noarch 0:3.2.11-1.el7 php
做为依赖被安装:
OpenIPMI-libs.x86_64 0:2.0.19-15.el7 OpenIPMI-modalias.x86_64 0:2.0.19-15.el7 dejavu-fonts-common.noarch 0:2.33-6.el7 dejavu-sans-fonts.noarch 0:2.33-6.el7
fontpackages-filesystem.noarch 0:1.44-8.el7 fping.x86_64 0:3.10-4.el7 iksemel.x86_64 0:1.4-6.el7 libX11.x86_64 0:1.6.5-1.el7
libX11-common.noarch 0:1.6.5-1.el7 libXau.x86_64 0:1.0.8-2.1.el7 libXpm.x86_64 0:3.5.12-1.el7 libxcb.x86_64 0:1.12-1.el7
libzip.x86_64 0:0.10.1-8.el7 php.x86_64 0:5.4.16-43.el7_4.1 php-bcmath.x86_64 0:5.4.16-43.el7_4.1 php-cli.x86_64 0:5.4.16-43.el7_4.1
php-common.x86_64 0:5.4.16-43.el7_4.1 php-gd.x86_64 0:5.4.16-43.el7_4.1 php-ldap.x86_64 0:5.4.16-43.el7_4.1 php-mbstring.x86_64 0:5.4.16-43.el7_4.1
php-mysql.x86_64 0:5.4.16-43.el7_4.1 php-pdo.x86_64 0:5.4.16-43.el7_4.1 php-xml.x86_64 0:5.4.16-43.el7_4.1 t1lib.x86_64 0:5.1.2-14.el7
unixODBC.x86_64 0:2.3.1-11.el7 mysql
会连带安装httpd和php
vim /etc/my.cnf //须要增长配置
character_set_server = utf8 为了web页面可以显示中文
重启mysqld服务后,进入mysql命令行,建立zabbix库
create database zabbix character set utf8;
再建立用户
grant all on zabbix. * to 'zabbix'@'127.0.0.1' identified by '123456';
导入数据
cd /usr/share/doc/zabbix-server-mysql-3.2.11
gzip -d create.sql.gz
mysql -uroot -pxxx zabbix < create.sql
systemctl start httpd; systemctl enable httpd
vim /etc/zabbix/zabbix_server.conf //修改或增长
DBHost=127.0.0.1 //在DBName=zabbix上面增长,与前文对应
DBPassword=123456 //在DBuser下面增长,与前文对应
systemctl start zabbix-server
systemctl enable zabbix-server
日志文件:/var/log/zabbix/zabbix_server.log
netstat -lntp |grep zabbix //查看监听端口
zabbix监听10051端口
浏览器访问http://ip/zabbix/ web界面下面配置zabbix
安装网页一步步来就好(出现PHP option "date.timezone" unknown Fail,须要设置时区:vi /etc/php.ini设置timezone=Asia/Shanghai)
用户名Admin 密码zabbix
进入后台第一件事情就是修改密码
若是忘记了密码:
进入mysql命令行,选择zabbix库
mysql -uroot -p zabbix
update users set passwd=md5(‘newpasswd’) where alias=‘Admin’;
这样就更改了Admin用户的密码
客户端安装
wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
yum install -y zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf //修改以下配置
Server=127.0.0.1修改成Server=192.168.133.130 //定义服务端的ip(被动模式)
ServerActive=127.0.0.1修改成ServerActive=192.168.133.130 //定义服务端的ip(主动模式)
Hostname=Zabbix server修改成Hostname=slx-123 //这是自定义的主机名,一会还须要在web界面下设置一样的主机名
systemctl start zabbix-agent
systemctl enable zabbix-agent
监控端口为10050linux
2.工做模式
主动或者被动是相对客户端来说的
被动模式,服务端会主动链接客户端获取监控项目数据,客户端被动地接受链接,并把监控信息传递给服务端
主动模式,客户端会主动把监控数据汇报给服务端,服务端只负责接收便可。
当客户端数量很是多时,建议使用主动模式,这样能够下降服务端的压力。
服务端有公网ip,客户端只有内网ip,但却能连外网,这种场景适合主动模式git
3.配置主机
在web界面:配置-->主机群组 添加主机群组
配置-->主机 添加主机
点击如下几个项目能够查看各组信息
应用集为监控项目的集合
监控项目
触发器是对监控项目设置的告警规则
图形是根据历史数据作图表
自动发现规则 自动配置合适的分区和网卡
web检测 监控网址web
4.添加自定义模板
自定义模板的群组要选择templates
自定义的模板开始建立时能够不须要应用集、监控项等等,能够从其余已有模板里复制
或者干脆在建立时选择连接的模板,再取消连接(取消与原来的联系可是不清空),把不想要的项目删除(若不取消连接,则不能删除)
5.处理图形中的乱码
图中小方块本来应是汉字,缘由在于缺乏字库
设置为中文后,zabbix图形的中文文字会显示小方框
这是由于在zabbix的字体库中没有中文字体,须要从windows上借用一个过来
vim /usr/share/zabbix/include/defines.inc.php //搜索ZBX_FONTPATH
它定义的路径是“fonts”,它是一个相对路径,绝对路径为/usr/share/zabbix/fonts,而字体文件为“ZBX_GRAPH_FONT_NAME”所定义的“graphfont”,它是一个文件,绝对路径为/usr/share/zabbix/fonts/graphfont
windows字体路径为“C:\Windows\Fonts\”,找到“simfang.ttf”(其实就是那个仿宋简体),先把它复制到桌面上,而后上传到linux的/usr/share/zabbix/fonts/,而且更名为graphfont.ttf
结果发现这个字体不行,换成黑体了……过程是同样的
6.自动发现设置
点进去能够进行更改
能够更改时间间隔,方便监控
重启zabbix服务端和客户端后,刷新web,图形出现新项目,来源是自动发现(刚才把时间间隔改成60s,刷新一下就出现了,可是考虑到负载,最好再把间隔时间调大些)sql
7.添加自定义监控项目(模板里没有的,须要在linux上自定义)
需求:监控某台web的80端口链接数,并出图
两步:1)zabbix监控中心建立监控项目;2)针对该监控项目以图形展示
对于第一步,须要到客户端定义脚本
vim /usr/local/sbin/estab.sh //内容以下(文件位置可自定义,但要求与下文的userparameters后的同样)
#!/bin/bash
##获取80端口并发链接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED //80后面有空格,避免匹配到8080等其余端口
chmod 755 /usr/local/sbin/estab.sh //为了给zabbix用户以执行权限
客户端上编辑配置文件 vim /etc/zabbix/zabbix_agentd.conf//增长
UnsafeUserParameters=1 //表示使用自定义脚本
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh //自定义监控项的key为my.estab.count,后面的[*]里面写脚本的参数(用逗号分隔),若是没有参数则能够省略,脚本为/usr/local/sbin/estab.sh
重启zabbix-agent服务 systemctl restart zabbix-agent
首先到服务端验证,执行命令
zabbix_get -s 192.168.86.130 -p 10050 -k 'my.estab.count'
而后在zabbix监控中心(浏览器)配置增长监控项目
键值写my.estab.count(也可自定义,可是要与前文相同)
添加该项目后,到“监测中”--> “最新数据”查看刚添加的项目是否有数据出现
有了数据就能够添加图形了
“配置”-->“主机” -->“图形” -->“建立图形” (添加并选择刚建立的监控项)vim
8.配置告警
使用163或者QQ邮箱发告警邮件
首先登陆163邮箱,设置开启POP三、IMAP、SMTP服务
开启并记录受权码
而后到监控中心设置邮件告警
“管理”-->“报警媒介类型”-->“建立媒体类型”
三个参数分别指:收件人,邮件主题,邮件内容
建立报警脚本mail.py
vim /usr/lib/zabbix/alertscripts/mail.py //内容参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py
chmod 755 /usr/lib/zabbix/alertscripts/mail.py
建立一个接受告警邮件的用户,“管理”,“用户”,“建立用户”,“报警媒介”,选择“gaojing”,注意用户的权限,若是没有须要到用户组去设置权限(默认是无,须要设置为读写)
设置动做,“配置”,“动做”,“建立动做”,名称写“sendmail”(自定义),“操做”页面,内容以下
HOST:{HOST.NAME} {HOST.IP} //主机名
TIME:{EVENT.DATE} {EVENT.TIME} //发生时间
LEVEL:{TRIGGER.SEVERITY} //示警度
NAME:{TRIGGER.NAME} //触发器名
messages:{ITEM.NAME}:{ITEM.VALUE} //显示信息
ID:{EVENT.ID} //事件id
“新的触发条件”,A维护状态 非在 维护,B触发器示警度>=未分类
单击“新的”
单击下面的“添加”
切换到“恢复操做”,把信息改为以下
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE} {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
点击“新的”,“操做”,选择发送的用户为刚建立的用户,仅送到选择“gaojing”windows