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

作为依赖被安装:
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

会连带安装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
34 linux监控平台_第1张图片
安装网页一步步来就好(出现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
监控端口为10050

2.工作模式
主动或者被动是相对客户端来讲的
被动模式,服务端会主动连接客户端获取监控项目数据,客户端被动地接受连接,并把监控信息传递给服务端
主动模式,客户端会主动把监控数据汇报给服务端,服务端只负责接收即可。
当客户端数量非常多时,建议使用主动模式,这样可以降低服务端的压力。
服务端有公网ip,客户端只有内网ip,但却能连外网,这种场景适合主动模式

3.配置主机
在web界面:配置-->主机群组 添加主机群组
配置-->主机 添加主机
点击以下几个项目可以查看各组信息
34 linux监控平台_第2张图片
34 linux监控平台_第3张图片
应用集为监控项目的集合
34 linux监控平台_第4张图片
监控项目
34 linux监控平台_第5张图片
触发器是对监控项目设置的告警规则
34 linux监控平台_第6张图片
图形是根据历史数据做图表
34 linux监控平台_第7张图片
自动发现规则 自动配置合适的分区和网卡
34 linux监控平台_第8张图片
web检测 监控网址

4.添加自定义模板
34 linux监控平台_第9张图片
34 linux监控平台_第10张图片
自定义模板的群组要选择templates
34 linux监控平台_第11张图片
自定义的模板开始创建时可以不需要应用集、监控项等等,可以从其他已有模板里复制
或者干脆在创建时选择链接的模板,再取消链接(取消与原来的联系但是不清空),把不想要的项目删除(若不取消链接,则不能删除)
5.处理图形中的乱码
34 linux监控平台_第12张图片
图中小方块原本应是汉字,原因在于缺少字库
设置为中文后,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
34 linux监控平台
34 linux监控平台_第13张图片
结果发现这个字体不行,换成黑体了……过程是一样的
34 linux监控平台_第14张图片
6.自动发现设置
34 linux监控平台_第15张图片
点进去可以进行更改
34 linux监控平台_第16张图片
可以更改时间间隔,方便监控
34 linux监控平台_第17张图片
重启zabbix服务端和客户端后,刷新web,图形出现新项目,来源是自动发现(刚才把时间间隔改为60s,刷新一下就出现了,但是考虑到负载,最好再把间隔时间调大些)

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用户以执行权限
34 linux监控平台
客户端上编辑配置文件 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'
34 linux监控平台
然后在zabbix监控中心(浏览器)配置增加监控项目
键值写my.estab.count(也可自定义,但是要与前文相同)
34 linux监控平台_第18张图片
添加该项目后,到“监测中”--> “最新数据”查看刚添加的项目是否有数据出现
有了数据就可以添加图形了
“配置”-->“主机” -->“图形” -->“创建图形” (添加并选择刚创建的监控项)
34 linux监控平台_第19张图片

8.配置告警
使用163或者QQ邮箱发告警邮件
首先登录163邮箱,设置开启POP3、IMAP、SMTP服务
开启并记录授权码
然后到监控中心设置邮件告警
“管理”-->“报警媒介类型”-->“创建媒体类型”
34 linux监控平台_第20张图片
三个参数分别指:收件人,邮件主题,邮件内容
创建报警脚本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”,注意用户的权限,如果没有需要到用户组去设置权限(默认是无,需要设置为读写)
34 linux监控平台_第21张图片
设置动作,“配置”,“动作”,“创建动作”,名称写“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触发器示警度>=未分类
34 linux监控平台_第22张图片
34 linux监控平台_第23张图片
单击“新的”
34 linux监控平台_第24张图片
单击下面的“添加”
34 linux监控平台_第25张图片
切换到“恢复操作”,把信息改成如下
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE} {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
34 linux监控平台_第26张图片
点击“新的”,“操作”,选择发送的用户为刚创建的用户,仅送到选择“gaojing”
34 linux监控平台_第27张图片