19.6 安装zabbix(下)客户端端安装
19.7 主动模式和被动模式
19.8 添加监控主机
19.9 添加自定义模板
19.10 处理图形中的乱码
19.11 自动发现
扩展
zabbix监控交换机(思科) http://tryrus.blog.51cto.com/10914693/1789847
zabbix远程执行命令 http://www.ywnds.com/?p=6610
zabbix分布式部署 http://sfzhang88.blog.51cto.com/4995876/1364399
zabbix监控tomcat(版本有点老,大家只需要参考步骤,不能照搬) http://www.jianshu.com/p/e3825a885a1b http://www.fblinux.com/?p=616
19.6 安装zabbix(下)客户端端安装:
Zabbix客户端安装:
~1.在客户端上也需要下载zabbix的yum源
wget repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
~2.rpm -ivh zabbix-release-3.0-1.el7.noarch.rpm
~3.yum install -y zabbix-agent #客户端上只需要安装这一个包就可以了
~4.vim /etc/zabbix/zabbix_agentd.conf //修改如下配置:
1.Server=127.0.0.1修改为Server=192.168.30.134 //定义服务端的ip(被动模式)
#就是监控中心的IP(如果只写这个就只能是被动模式)
2.ServerActive=127.0.0.1修改为ServerActive=192.168.30.134//定义服务端的ip(主动模式)
#就是监控中心的IP
Hostname=Zabbix server修改为Hostname=afeilinux-03 //这是自定义的主机名,一会还需要在web界面下设置同样的主机名
#web界面下配置主机名字的时候要用到这个名字,保持一致
~5.systemctl start zabbix-agent
~6.systemctl enable zabbix-agent
实例:
[root@afeilinux-02 ~]# rpm -ivh https://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm #阿鑫在做的时候直接rpm -i就可以了,不用先wget这个源
[root@afeilinux-02 ~]# yum install -y zabbix-agent #只需要安装这一个包
[root@afeilinux-02 ~]# vi /etc/zabbix/zabbix_agentd.conf #修改配置文件。修改这三个地方
### Option: Server
# List of comma delimited IP addresses (or hostnames) of Zabbix servers.
# Incoming connections will be accepted only from the hosts listed here.
# If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.
#
# Mandatory: no
# Default:
# Server=
Server=192.168.30.134 #1.只写这个的话就只是被动模式,就是等着服务端来取数据
### Option: ServerActive
# List of comma delimited IP:port (or hostname:port) pairs of Zabbix servers for active checks.
# If port is not specified, default port is used.
# IPv6 addresses must be enclosed in square brackets if port for that host is specified.
# If port is not specified, square brackets for IPv6 addresses are optional.
# If this parameter is not specified, active checks are disabled.
# Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
#
# Mandatory: no
# Default:
# ServerActive=
ServerActive=192.168.30.134 #2.和上面那个,这两个都写。就是客户端会主动上报到服务端
### Option: Hostname
# Unique, case sensitive hostname.
# Required for active checks and must match hostname as configured on the server.
# Value is acquired from HostnameItem if undefined.
#
# Mandatory: no
# Default:
# Hostname=
Hostname=afeilinux-02 #3.在web界面上加监控主机的时候。比如监控我们02这台机器,我们加02 的时候可以写一个主机的名字,代表的是哪一台机器
[root@afeilinuxaxinlinux-02 ~]# systemctl start zabbix-agent
[root@afeilinux-02 ~]# ps aux |grep zabbix
[root@afeilinux-02 ~]# netstat -lntp #客户端监听的是10050,服务端是10051
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 2125/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 2125/zabbix_agentd
[root@afeilinux-02 ~]# systemctl enable zabbix-agent
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19.7 主动模式和被动模式:
这个针对的是客户端
~1.主动或者被动是相对客户端来讲的
~2.被动模式,服务端会主动连接客户端获取监控项目数据,客户端被动地接受连接,并把监控信息传递给服务端
服务端会通知客户端上报数据,时间点是在监控中心定义的
~3.主动模式,客户端会主动把监控数据汇报给服务端,服务端只负责接收即可。
服务端定义时间,到点就会主动的上报比如CPU使用率、网卡流量等等。那服务端得到数据之后,就会把数据存到对应的表里
~4.当客户端数量非常多时,建议使用主动模式,这样可以降低服务端的压力。
服务端不用操心哪个客户端该交数据了。只接受就可以,不用跑一趟了
~5.服务端有公网ip,客户端只有内网ip,但却能连外网,这种场景适合主动模式
服务端要到所有的客户端过去,哪个项目的监控数据该上交了。拿到数据之后再回来。
应用场景,比如一个机房里是局域网,那这台客户端机器是没有外网的,那服务端没法直接和客户端通信,也就是说被动模式下,服务端要去找客户端,但服务端找不到,因为没有公网啊。也即是说,这种模式下,客户端没有公网IP,服务端有公网IP
公司机器少的话(比如几十台),主动模式和被动模式都可以
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19.8 添加监控主机:
我们服务端和客户端以及web界面都设置好了。那么现在就要到web界面(监控中心下)。去配置具体的监控机器还有监控的项目。这才是我们学习的重点
~1.先添加主机组afei
~2.再添加主机,主机名称和可见名称都写axinlinux-03
#配置客户端文件的时候定义的主机名,保持一致
~3.群组选择afei
~4.IP地址填写客户端的ip 192.168.30.136
~5.几个概念:应用集、监控项、触发器、图形、自动发现、web监测
实例:
浏览器到监控中心来
主机群组是,给这个机器建主机组。然后在组里面再去创建机器
模板是,可以说是预设的监控项目的集合。比如监控CPU的、内存的、磁盘的,我把这些监控的项目集合在一起,组成一个模板。以后,来一个主机给他用模板1.第二个主机给他用模板2,就是给他说适当的模板
主机是,目前里面有监控中心,但没有起
后面的暂时用不到
下面我们来添加主机。我们已经在客户端上安装了zabbix-agent并且启动了服务。再添加主机之前要首先添加主机群组:
配置——主机群组——创建主机群组
主机群组创建完了,就开始创建主机:
点击add添加
以上:
其中,
1.定义它的名字时就是我们在配置客户端时定义配置文件时的名字(alinux-03)
2.IP地址就是写定义客户端的IP。后面的DNS不用写,什么时候会用到呢?比如在IP地址那写一个主机名,那么DNS用来解析这个主机名的
3.端口默认10050
4.后面的模板等会再去讲。暂时留空。后面的几项暂时用不到
也就是说添加主机很简单,客户端主机名、选择组、添加客户端IP,就可以了
以上添加完主机:
其中
1.应用集表示,监控项目的一个集合。其中监控项分布在应用集里。目的是更方面的管理监控项目
2.监控项表示,所有监控的项目。比如监控CPU的
3.触发器表示,针对某一个监控项目,要设置一个告警规则。比如系统负载,高于3的时候就告警。也可以定义告警的级别,比如是警告还是一般的信息、一般严重、严重等等
4.图形表示,zabbix是可以成图的,是因为有历史的数据。比如CPU相关的图标、内存相关的图标
5.自动发现规则表示,一是文件系统,磁盘分区使用量、使用比例。文件的分区、挂载点等等
二是网卡,网卡的流量。网卡的名字,有几个网卡等等
这些都是自动发现的,自动发现有哪些区,根分区、boot分区、data分区等,会自动发现
6.web场景表示,用来监控某一个网站,比如出现非200的状态码就告警
server监控项有63个
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19.9 添加自定义模板:
当我们增加特有格式、特有组的服务器的时候。比如这一组服务器要单独的添加一些个性化的监控项目,那这些项目我们就可以把它加到一个自定义的模板里。然后我们再把这个模板连接到这一组机器里。每增加类似的机器,就可以直接链接这个模板,这样就很方便去添加这些监控项目、触发器、图形以及自动发现规则等等
~1.可以自定义一个常用模板,方便给新增主机添加监控项目
~2.自定义aming模板
~3.把其他自带模板里面的某些监控项目(比如cpu、内存等)复制到aming模板里
~4.定义触发器
~5.添加图形
~6.自动发现,找到Template OS Linux,点击右侧的自动发现,参考Mounted filesystem discovery和Network interface discovery定义规则
~7.可以直接导出、导入模板,然后再删除不需要的对象
实例:
添加模板
1. 创建模块 :
配置——模块——创建模块
定义:模板名称——可见的名称——Templates
以上就添加了一个叫axin的模板。那么再从自带的其他的模板里复制到axin模板,也就是找一些监控过来
以上,我们选择这个模板(Template OS Linux比较适合我们)复制到axin模板里,点击监控项:
2. 添加成功的模板,再点击进来,按如下修改 :
链接的模板——选择——Template OS Linux——选择——添加——添加——更新
链接的模板——取消链接——更新
以上,我们选择这几项要复制到axin模板里,点击复制:
以上,我们选择模板,选择axin模板
这样我们就复制好了axin模板需要的监控项
接下来我们再导入Template OS Linux模板里的自动发现里面的规则。有两种方案:
1方案:
选择Template OS Linux模板 > 再点击下面的导出。他就会自动下载,然后打开,修改名字,删掉不相关的东西。因为比较麻烦,也容易出错,所以不建议用
2方案:
首先将axin模板里复制的监控项全部删除,然后点击axin模板
以上,我们就链接了Template OS Linux模板。
然后:
以上,执行完,在跳出的页面下点击更新
然后再点击axin模板。先删除掉我们不需要的监控项(因为应用集包含监控项):
以上,使我们需要留下的监控项。那么我们再来删应用集:
以上,我们删掉后面监控项为空的应用集即可。然后我们在删除图形里一些用不得到的:
以上,我们删除图形里不需要的项目
其他的项目我们就可以留着了
以上,就是我们axin模板设置好了。留下了我们需要检测的项目。目前还未连接任何的模板
然后,我们把这个模板链接到02的机器上去
以上,我们axin这个模板就链接了02机器(!记得在选择完axin模板之后,点击添加!)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19.10 处理图形中的乱码:
~1.设置为中文后,zabbix图形的中文文字会显示小方框
~2.这是因为在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
~3.windows字体路径为“C:\Windows\Fonts\”,找到“simfang.ttf”(其实就是那个仿宋简体),先把它复制到桌面上,然后上传到linux的/usr/share/zabbix/fonts/,并且改名为graphfont.ttf(#或者做一个软连接)
实例:
首先我们回到服务端linux上
[root@afeilinux-01 ~]# vim /usr/share/zabbix/include/defines.inc.php
1.define('ZBX_FONTPATH', realpath('fonts')); // where to search for font (GD > 2.0.18)
2.define('ZBX_GRAPH_FONT_NAME', 'graphfont'); // font file name
以上1.就是他字体所在的路径,是相对于/usr/share/zabbix/下的fonts/路径
2.是fonts路径下的我们需要的这个文件。我们做的是把它软连接到支持他字体的文件下
在windows上C盘/windows/fonts目录下,随便拷贝一个中文字体,先放到桌面上即可。然后再用XFTP(Ctrl+Alt+F)把它拷贝到linux /root目录下
[root@afeilinux-01 ~]# ls /root/anaconda-ks.cfg #这个就是我们拷贝的中文字体
/root/simhei.ttf
[root@afeilinux-01 ~]# mv /root/anaconda-ks.cfg /usr/share/zabbix/fonts/ #我们先把它放到这个路径下来
[root@afeilinux-01 ~]# cd !$ #然后再cd进去
cd /usr/share/zabbix/fonts/
[root@afeilinux-01 fonts]# ls
graphfont.ttf anaconda-ks.cfg
[root@afeilinux-01 fonts]# mv graphfont.ttf anaconda-ks.cfg.bak
[root@afeilinux-01 fonts]#mv simfang.ttf graphfont.ttf
如果我们想要再添加图形,比如系统负载的:
以上,我们点击02这台机器。选择图形 > 点击创建图形
以上,我们就添加了系统负载这个图形
以上,我们就看到系统负载的这个图形了
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19.11 自动发现:
以上,我们在图形里并没有发现自动发现的图形。是因为他的时间间隔为1小时,也就是每隔一小时才会自动发现一次。我们要修改一下
以上,我们先点击下面这个自动发现规则
以上,我们改为60秒发现一次
[root@afeilinux-01 ~]# systemctl restart zabbix-server.service #linux上,服务端和客户端我们重启一下zabbix服务
[root@afeilinux-02 ~]# systemctl restart zabbix-agent
以上,就有了我们新添加的自动发现规则
以上,为防止影响我们的性能可以再点进去,设置成10分钟。我们要的就是这个图形
不要设置的太低,比如10秒,这样监控中心会受不了。当然极其少的话没问题
如果我们想要更改网卡流量的图形(颜色、样式等等),要在模板里找到这个自动发现的这个,才可以更改