Linux监控平台(主被动模式,添加监控主机,添加图形,处理图形乱码,远程执行命令)

1、主动模式和被动模式(针对客户端)php

主动模式:客户端使用完数据后,每隔自定义事件主动上报给服务端mysql

应用环境:当客户端数量很是多,建议使用主动模式,这样能够下降服务端的压力。
linux


被动模式;服务端会主动链接客户端,客户端被动链接,把监控信息传递给服务端nginx

应用环境:服务端有公网ip,客户端只有内网ip,可是能链接外网,能够主动上报。 这种场景适合主动模式。web



2、添加监控主机sql

添加主机:apache

再添加主机以前,咱们要先添加一个主机群组,在配置中vim

主机群组的右上角有一个建立主机windows

1.png

而后点主机,右上角有一个建立主机服务器

3.png


2.png

应用集;应用集就是监控项的集合,更加方便的管理监控项

监控项:每一项都是监控的数据

触发器:针对某一个监控项设置一个告警规则

图形:每个数据zabbix都有记录,会造成一个图表

自动发现规则:自动发现的项目

web场景:监控一个网站或者一个网址。


3、添加图形

添加模板:

能够自定义一个经常使用模板,方便给新增主机添加监控项目

自定义litongyao模板

把其余自带模板里面的某些监控项目(好比cpu,内存等)复制到aming模板里

定义触发器

添加图形

自动发现,发到Template OS Linux,点击右侧的自动发现,参考Mounted filesystem discovery和Network interface discovery定义规则

能够直接导出,倒入模板,而后删除不须要的对象


删除的话要先取消链接,更新后先删监控项,再删应用集。


4、处理图形乱码

处理图形中的乱码

设置为中文后,zabbix图形的中文文字会显示小方框

这是由于在zabbix字体库中没有中文字体。须要从windows上借用一个过来。

1515229142.png

[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


1515230441(1).png


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远程执行命令

建立一个报警,记得使用邮件报警吗?实际上,咱们把发送邮件的操做改为执行远程命令就好了。

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执行的命令便可。以下图:

Zabbix远程执行命令

 

Type:IPMI、custom script、ssh、telnet、global script。

若是你要执行自定义的脚本,以下操做:

Zabbix远程执行命令

直接执行脚本便可。

相关文章
相关标签/搜索