1、主动模式和被动模式(针对客户端)php
主动模式:客户端使用完数据后,每隔自定义事件主动上报给服务端mysql
应用环境:当客户端数量很是多,建议使用主动模式,这样能够下降服务端的压力。
linux
被动模式;服务端会主动链接客户端,客户端被动链接,把监控信息传递给服务端nginx
应用环境:服务端有公网ip,客户端只有内网ip,可是能链接外网,能够主动上报。 这种场景适合主动模式。web
2、添加监控主机sql
添加主机:apache
再添加主机以前,咱们要先添加一个主机群组,在配置中vim
主机群组的右上角有一个建立主机windows
而后点主机,右上角有一个建立主机服务器
应用集;应用集就是监控项的集合,更加方便的管理监控项
监控项:每一项都是监控的数据
触发器:针对某一个监控项设置一个告警规则
图形:每个数据zabbix都有记录,会造成一个图表
自动发现规则:自动发现的项目
web场景:监控一个网站或者一个网址。
3、添加图形
添加模板:
能够自定义一个经常使用模板,方便给新增主机添加监控项目
自定义litongyao模板
把其余自带模板里面的某些监控项目(好比cpu,内存等)复制到aming模板里
定义触发器
添加图形
自动发现,发到Template OS Linux,点击右侧的自动发现,参考Mounted filesystem discovery和Network interface discovery定义规则
能够直接导出,倒入模板,而后删除不须要的对象
删除的话要先取消链接,更新后先删监控项,再删应用集。
4、处理图形乱码
处理图形中的乱码
设置为中文后,zabbix图形的中文文字会显示小方框
这是由于在zabbix字体库中没有中文字体。须要从windows上借用一个过来。
[root@zhuji ~]# vim /usr/share/zabbix/include/defines.inc.php
它定义的路径是“fonts”,它是一个相对路径,绝对路径为/usr/share/zabbix/fonts/
[root@zhuji fonts]# ll
lrwxrwxrwx 1 root root 33 1月 5 17:04 graphfont.ttf -> /etc/alternatives/zabbix-web-font
[root@zhuji fonts]# ll /etc/alternatives/zabbix-web-font
lrwxrwxrwx 1 root root 38 1月 5 17:04 /etc/alternatives/zabbix-web-font -> /usr/share/fonts/dejavu/DejaVuSans.ttf
咱们发现他是软链接,再看配置文件。“ZBX_GRAPH_FONT_NAME”所定义的“graphfont”,它是一个文件,绝对路径为/usr/share/zabbix/fonts/graphfont 咱们须要作的就是找到一个支持中文的字体,复制到该路径下。
window中,存放字体的地址是C:\Windows\Fonts\,找到一个中文字体,把它复制到桌面上,而后上传的linux的/usr/share/zabbix/fonts/中,并更名为graphfont.ttf
以前的文件更名不要让它生效。咱们发现刷新页面乱码消失
[root@zhuji fonts]# mv graphfont.ttf graphfont.ttf.bak
[root@zhuji fonts]# mv STFANGSO.TTF graphfont.ttf
5、zabbix远程执行命令
监控,有的人只把他当作报警使用,出现问题以后打开跑回家打开电脑处理掉,大多数时候都是一些已知问题,为什么不让zabbix帮你把这些事情处理掉呢?
Zabbix远程执行命令能够作些什么:
1)重启应用(apache/nginx/mysql)。
2)自定义执行脚本。
3)使用IPMI接口重启服务器。
4)自动释放磁盘空间(删除老文件,清除/tmp目录等等)。
5)CPU过载时将一个虚拟机迁移到另一个物理服务器。
6)云环境下,一台服务器CPU\硬盘\内存\其余硬件资源不足的状况下,能够自动添加过去。
Zabbix远程执行命令注意事项:
1)远程执行命令是server端向agent端执行,不支持主动模式的agent;
2)不支持代理模式;
3)zabbix用户必须对命令具备执行权限,可使用sudo赋予root权限(配置sudo无密码方式);
4)远程命令只是执行,执行成功与否并不检测并确认,可在” Monitoring–>Events”中查看action执行时,或在”Reports–>Action log”中查看远程命令是否执行成功(成功为” Executed”)。
建立一个报警,记得使用邮件报警吗?实际上,咱们把发送邮件的操做改为执行远程命令就好了。
Zabbix agent不支持远程命令,远程命令最大长度为255字符,同时支持多个远程命令,如须要执行多条命令,只须要另起一行写命令便可,但最好自定在agent端定义一个脚本,直接让zabbix执行脚本便可。还有,远程命令可使用宏变量。
1)配置zabbix-agent端
首先咱们须要在zabbix agent端开启对远程命令的支持,修改配置文件zabbix_agentd.conf中的参数,而后重启客户端:
1 |
EnableRemoteCommands = 1 |
另外,在执行命令时确保你的zabbix用户有执行权限,若是某些命令须要root权限,那么请使用sudo。编辑sudoer文件,zabbix用户即可以执行nginx -s reload命令了。
1 2 |
zabbix ALL=NOPASSWD: ALL zabbix ALL=NOPASSWD: /etc/init.d/nginx stop,/etc/init.d/nginx start |
2)配置zabbix-server端
ConfigurationàActionsà Operation,其中operation type改为Remote Command,而后写上要在zabbix-agent执行的命令便可。以下图:
Type:IPMI、custom script、ssh、telnet、global script。
若是你要执行自定义的脚本,以下操做:
直接执行脚本便可。