码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix 之 安装配置手册(全)

时间:2017-12-07 10:59:58      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:zabbix   自动化监控   全面介绍   

1.1.1.1. zabbix 概况
1.1.1.1.1. zabbix 简介

Zabbix是一个高度集成的网络监控解决方案,可以提供企业级的分布监控解决方案。

Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。

被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据

Server端:通过收集SNMPagent发送的数据,写入数据库(mysql,oracle等),再通过php-nginx或者php-apacheweb前端展示。

 

1.1.1.1.2. zabbix运行条件

Server :zabbix server 对硬件的要求低,但需要运行在

  LNMP(linux+nginx+mysql+php) 或者 LAMP(linux+apache+mysql+php) 环境下

Agent: 目前已有的agent 基本支持常见的OS,包含Linux, Solaris,SUN, Windows,

SNMP: 支持各类常见的网络设备

 

 

1.1.1.1.3. 监控过程逻辑图

 

技术分享图片

监控的zabbix server端进程如下:

 

技术分享图片

 

1.1.1.1.4. zabbix功能

1 具备常见的商业监控软件所具备的功能(主机的性能监控,网络设备性能监控,数据库性能监控,FTP等通用协议监控,多种告警方式,详细的报表图表绘制),自带监控模板。

2 支持自动发现网络设备和服务器(可以通过配置自动发现规则来实现)。

3 支持自动发现(low discover key 实现动态监控项的批量监控(需要写脚本)。

4 支持分布式,能集中展示,管理分布式的监控点。

5 扩展性强,server 提供通用借口(API功能),可以自己开发完善各类监控。

6 编写插件容易,可以自定义监控项,报警级别的设置。

7 数据收集可用和性能检测,自定义收集数据频率,自定义检测。

8 支持snmp(包括trapping and polling ) ,IPMI, JMX, SSH ,TLENET

9 有灵活的触发器,可以定制非常灵活的问题阀值。

10 发送通知,可定制的告警升级,收件人,媒体类型。

11 通知可以使用宏变量有用的变量。

12 自动操作包括远程命令。

13 实时的绘图功能,监控项实时的数据绘制在图形上面。

14  WEB监控能力,可以模拟鼠标点击一个网站,并检测返回值和响应时间。

15  API功能,可以方便的和其他系统结合,包括手机客户端的使用。

 

优点: server端对设备的性能要求低。

不足:所有的数据都存在数据库里,产生的数据量大,瓶颈主要在数据库。

 

我们使用compute中的其中一台服务器作为zabbix-server,占用的资源控制在比较小的范围,安装zabbixserver端以及zabbix-mysql数据库,同时,安装完成后,我们将对zabbix进行优化,定期删除历史数据,确保监控系统数据库可以永续使用,详细方法内容后续将详细描述。

zabbix现在的版本是3.4,为了稳定,我们使用3.0版本。操作系统我们使用centos7.3 。下面介绍安装方法。

1.1.1.2. 安装zabbix-server

有四种方法获得Zabbix

从分发包安装

下载最新的源代码档案并自行编译

从容器中安装

下载虚拟设备

我们这里使用从分发包安装。

1.1.1.2.1. 安装存储库配置包

安装repository配置包。该软件包包含yum(软件包管理器)配置文件。

# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

1.1.1.2.2. 安装软件包及mysql 数据库(mairadb

以下是Zabbix服务器和带有MySQL数据库的Web前端安装示例:

# yum install zabbix-server-mysql zabbix-web-mysql

安装mariadb数据库:

#yum install mariadb-server -y

centos7软件源上现在默认的mariadb-server的版本是:5.5.56

启动mariadb数据库:

#systemctl start mariadb

设置开机启动:

#systemctl enable mariadb

1.1.1.2.3. 创建初始数据库

 

通过以下命令在MySQL上创建Zabbix数据库和用户,其中<root_password>请用实际的root密码(例如shell> mysql -uroot -p12345)和<password>替换为zabbix用户在数据库上的新密码(包括撇号:)…identified by '67890';

shell> mysql -uroot -p<root_password>

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';

mysql> quit;

 

然后导入初始模式和数据。确保插入正确的版本3.0.*。系统将提示您输入新创建的密码。

# zcat /usr/share/doc/zabbix-server-mysql-3.0.*/create.sql.gz | mysql -uzabbix -p zabbix

检查您的软件包中的版本,请使用以下命令:

# rpm -q zabbix-server-mysql

1.1.1.2.4. Zabbix服务器的数据库配置

 

zabbix_server.conf中编辑服务器主机,名称,用户和密码,如下所示,其中DBPassword是您设置的创建初始数据库的密码:

# vi /etc/zabbix/zabbix_server.conf

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=<password>

1.1.1.2.5. 启动Zabbix服务器进程

启动Zabbix服务器进程,并启动系统启动:

# systemctl start zabbix-server

# systemctl enable zabbix-server

1.1.1.2.6. PHP配置Zabbix前端

Zabbix前端的Apache配置文件位于/etc/httpd/conf.d/zabbix.conf。一些PHP设置已经配置好了。但有必要取消注释“date.timezone”设置,并为您设置正确的时区。

php_value max_execution_time 300

php_value memory_limit 128M

php_value post_max_size 16M

php_value upload_max_filesize 2M

php_value max_input_time 300

php_value always_populate_raw_post_data -1

php_value date.timezone Asia/Shanghai

 

1.1.1.2.7. SELinux配置及防火墙设置

 

在强制模式下启用SELinux状态后,您需要执行以下命令以启用Zabbix前端到服务器的成功连接:

# setsebool -P httpd_can_connect_zabbix on

由于前端和SELinux配置完成,您需要重新启动Apache Web服务器:

# systemctl start httpd

注:一般情况下会关闭SELinux

 

如果开启了firewall,在iptables规则中开启80端口允许访问:

iptables -I INPUT  -p tcp -m tcp --dport 80 -m comment --comment "httpd listen " -j ACCEPT

 

1.1.1.2.8. Zabbix web初始化

登录web界面,在浏览器中输入:

http://serverIP/zabbix

其中serverIPzabbix-server 所在的IP地址。

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

技术分享图片

技术分享图片

 

1.1.1.2.9. 修改配置文件

生产系统,根据实际情况调整相关参数,修改配置文件/etc/zabbix/zabbix_server.conf

# cat zabbix_server.conf

LogFile=/var/log/zabbix/zabbix_server.log

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix   #数据库密码,根据实际情况修改

DBSocket=/var/lib/mysql/mysql.sock

DBPort=3306

StartPollers=160

StartTrappers=20

StartPingers=100

StartDiscoverers=20

MaxHousekeeperDelete=5000

CacheSize=1024M

StartDBSyncers=16

HistoryCacheSize=1024M

TrendCacheSize=1024M

HistoryTextCacheSize=512M

AlertScriptsPath=/etc/zabbix/alertscripts

LogSlowQueries=1000

FpingLocation=/usr/sbin/fping

ValueCacheSize=512M

Timeout=30

 

修改完成后重启服务:

#systemctl restart zabbix-server

1.1.1.3. 安装代理zabbix-agent

根据不同的操作系统有不同的Agent

1.1.1.3.1. Linux Agent安装配置
1.1.1.3.1.1. 安装zabbix_agentd软件

要在安装正确的存储库repository配置包后安装,请运行以下命令:

# yum install zabbix-agent

启动代理服务:

# systemctl start zabbix-agent

# systemctl enable zabbix-agent

 

1.1.1.3.1.2. 修改zabbix_agentd配置文件:

cat /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=10

EnableRemoteCommands=1

LogRemoteCommands=1

Server=127.0.0.1,10.192.1.21   #服务器IP,根据实际修改

StartAgents=5

ServerActive=10.192.1.21:10051   #服务器IP和端口,根据实际修改

Hostname=DTS-2     #服务器名称,需要与web界面配置的host名称对应

Include=/etc/zabbix/zabbix_agentd.conf.d/

Timeout=30

 

zabbix管理界面配置host

1.1.1.3.1.3. 配置iptables允许10050端口

如果zabbix-agent所在的linux主机启用了iptables防火墙,则需要在iptables中添加一条规则,允许10050端口访问,下面是配置方法:

首先运行service iptables status查看在filter的什么位置插入,将下面的35替换为实际的位置编号

iptables -I INPUT 35 -p tcp -m tcp --dport 10050 -m comment --comment "zabbix_agentd listen " -j ACCEPT

 

1.1.1.3.2. Windows Agent安装配置

从下载Zabbix Agent后,压缩包里面有2个目录,一个为win32,另一个是win64,每个目录下应该有3个文件,分别为:

zabbix_agentd.exe  

zabbix_get.exe

zabbix_sender.exe

根据操作系统不同,将文件放在c:\zabbix目录下

c:\zabbix文件夹中zabbix_agentd.conf文件,写入如下内容:

LogFile=d:\zabbix_agentd.log

LogFileSize=10

EnableRemoteCommands=1

LogRemoteCommands=1

Server=192.168.8.31    #服务器IP,根据实际修改

StartAgents=5

ServerActive=192.168.8.31:10051  #服务器IP和端口,根据实际修改

Hostname=ws2 #服务器名称,需要与web界面配置的host名称对应

UnsafeUserParameters=1

 

进入到目标主机的c:\zabbix目录下,执行如下命令完成客户端的安装:

zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf -i

执行如下命令,启动客户端:

zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf -s

在服务中启动zabbix_agentd服务。

windows防火墙入站规则开放10050端口

如果是云计算虚拟机,在云计算的安全策略中增加入站规则开放10050端口

zabbix管理界面配置host

1.1.1.4. zabbix的配置使用

1.1.1.4.1. 登录zabbix

通过本地浏览器访问 http://serverIP/php  来开始配置和使用zabbix

默认用户名为Admin ,密码是zabbix

1.1.1.4.2. 监控流程

  Host Group (设备组)----->Host(设备)------->Application(监控项组)------->Items(监控项)------->Trigger(触发器)------>Action(告警动作)-------->(告警方式)------>User Group(用户组)----->User(用户)

对于实际使用的时候,一般采用模板进行监控配置。可以先添加主机,然后选择对应模板。

 

 zabbix支持4种监控类型:

Agent   SNMP   JMX   IPMI  

1.1.1.4.3. 添加主机
1.1.1.4.3.1. 修改为中文界面

点击用户

技术分享图片

 

在【User-----> Language】 一栏中选择 Chinese(zh_CN) , 点击下方的 【Update(更新)

技术分享图片

中文界面出现:

技术分享图片

1.1.1.4.3.2. 添加主机监控

点击【配置】-----【主机】-----【创建主机】

技术分享图片

出现如图界面,填写相应主机的相关信息,注意:群组可以新建,主机采用agent代理程序接口。

如果是通过SNMP监控的网络设备,需要将agent代理程序接口关闭,填写SNMP接口

技术分享图片

勾选【已启用】,点击【更新】

技术分享图片

1.1.1.4.3.3.  添加主机模板

点击 【模板】----【选择】

技术分享图片

【选择】这个界面中,勾选对应的监控模板,点击下方的选择按钮

技术分享图片

这时候看到选择的模板在链接指示器中了,然后点击【添加】

技术分享图片

在链接的模板一栏中出现了,可以选择【取消链接】取消这个模板。点击【更新】即可

技术分享图片

1.1.1.4.3.4.  监控展示

在【主机】的主界面,看到了刚才添加的主机,

点击【已启用】开启或关闭此项监控

当【ZBX】 这一项变绿色,表示已经监控上了

技术分享图片

如果是网络设备的监控,需要在【宏】中填写相应的团体名

技术分享图片

 

 

相应的,如果SNMP这个变绿色了,表示该网络设备已经监控上了

技术分享图片

 

1.1.1.4.3.5. 添加拓扑图

在【监测中】----【拓扑图】----【创建拓扑图】

技术分享图片

 

可以编辑 【所有者】,【名称】,【宽】【高】等相应的设置,点击下方的【更新】

技术分享图片技术分享图片

如下出现了该拓扑图,点击【属性】,可以再次修改属性

技术分享图片技术分享图片

点击该拓扑图的名称【XXXX】,进入界面后,点击【编辑拓扑图】

技术分享图片

选择【添加】后,出现了一个图标

技术分享图片

 

选中该图标,出现了【地图元素】,可以编辑该图标的属性

【类型】选择 主机;【标签】可以填写 {HOST.NAME} 变量;

【主机】,点击【选择】,可以选取相应的主机

【图标】有一个下拉框,可以选择不同类型,不同大小的图标

【应用】是确认的意思,【移除】可以删除该图标,【关闭】是关闭该地图元素

技术分享图片

 

如果要添加连线,绘制各个设备之间的逻辑关系,选择链接中【添加】,进行相应操作

技术分享图片

拓扑图编辑完成后,点击【更新】,起保存的作用

技术分享图片

1.1.1.4.3.6.  聚合图形

 

点击【监控中】----【聚合图形】-----【创建聚合图形】

技术分享图片

 

如下图,进行相应的属性设置,然后点击【添加】

 

技术分享图片技术分享图片

 

点击刚才创建的【农信贷】,进行聚合图的编辑

技术分享图片技术分享图片

技术分享图片技术分享图片

 

点击【更改】,进行聚合图属性的编辑,然后点击【更新】,可以看到刚才编辑的拓扑图出现。

技术分享图片

 

技术分享图片技术分享图片技术分享图片

技术分享图片

技术分享图片技术分享图片技术分享图片

 

 

先返回,再重新进入聚合图形,点击【XXX】,进入聚合图,选中任意一个设备,

会出现该主机快捷的操作列表,可以进行相应的快速查询。

技术分享图片技术分享图片

技术分享图片技术分享图片

1.1.1.4.4.  查看数据和告警
1.1.1.4.4.1. 监控信息概览

 

【监控中】----【仪表板】中查看告警信息的概览表,也可以直接点击进入聚合图形

技术分享图片

 

1.1.1.4.4.2. 查看监控数据

 

在【监测中】-----【最新数据】里,选择查询条件,点击【应用】,即可看到具体监控指标的数据以及数据的图形展示。

技术分享图片

 

 

1.1.1.4.4.3.  查看告警信息

 

在【监测中】----【问题】,选择相应的查询条件,点击【应用】可以看到具体的告警信息

技术分享图片

 

 

1.1.1.4.5. 监控项

除了zabbix自带的一些模板自动有相应的监控指标,有时候还需要手动创建一些监控项

以交换机的CPU监控为例,创建监控项

在【配置】----【主机】中选择一台交换机所对应的【监控项】

技术分享图片

 

点击【创建监控项】

技术分享图片

 

 填写相应的信息:注意选择snmp开启的版本,和需要提前找到的OID号,

 完成后,点击【更新】

技术分享图片

技术分享图片

可以查看刚才已经创建的监控项。点击过滤器中的应用集【CPU】,下方就出现了。

同样点击【已起用】可以开启及关闭该监控项。

技术分享图片

 

 

1.1.1.4.6. 触发器

通过触发器可以将监测到的数据按照设定的条件进行告警。

以一台交换机的内存为例,进行触发器告警

在【配置】---【主机】选取相应的路由器设备,点击【触发器】

技术分享图片

点击【创建触发器】

技术分享图片

 填写触发器的相关条件,名称,告警等级,特别的在表达式这一项中,选择【添加】

技术分享图片

如下图:触发告警条件的设置,完成后选择【插入】,然后回到上个界面,选择更新。

技术分享图片

可以看到,刚才的触发器已经添加成功了

同样在【已启动】中可以选择停止或开启此触发器。

技术分享图片

在【监测中】---【问题】 中可以看到路由器内存这一项已经出现告警

技术分享图片

 

1.1.1.4.7. 邮件告警设置
1.1.1.4.7.1. 开启邮箱

 

以下在 zabbix server端进行

1. 安装sendmial

 安装   yum install sendmail

 启动   service  sendmail  start

 开机自启: chkconfig  sendmail  on

2. 安装邮件发送工具mailx

  yum  install  mailx

3. 设置发送邮件的 中继邮箱

打开配置文件: vi  /etc/mail.rc

添加内容:

set from=xxx@163.cn

set smtp=smtp.163.com

set smtp-auth-user=xxx@163.com

set smtp-auth-password=xxxxxxx        #注意此项是邮箱的客户端授权码,不是密码

set smtp-auth=login

 

4. 发送测试邮件

  echo zabbix  | mail -s zabbix  xxx@qq.com

 

1.1.1.4.7.2. 编写脚本

1. 脚本路径设置

  mkdir  -p  /etc/zabbix/alertscripts/

  vim  /etc/zabbix/zabbix_server.conf

  AlertScriptsPath=/etc/zabbix/alertscripts

 

2. 重启zabbix 服务

systemctl restart zabbix-server

3. 编写脚本:

 vim  /etc/zabbix/alertscripts/sendmail.sh

写入内容如下:

#!/bin/sh

#export.UTF-8

FILE=/tmp/mailtmp.txt

echo "$3" >$FILE

dos2unix -k $FILE

/bin/mail -s "$2" $1 < $FILE

touch /tmp/mailtmp.txt

chown zabbix.zabbix /tmp/mailtmp.tx

执行 :wq 保存退出

 

4. 增加可执行权限

  chown  zabbix.zabbix  /etc/zabbix/alertscripts/sendmail.sh

  chmod  +x  /etc/zabbix/alertscripts/sendmail.sh

 

5. 给日志授权:

  chown   zabbix.zabbix  /tmp/sendmail.log

6. 测试:

su - zabbix

/etc/zabbix/alertscripts/sendmail.sh   xxxx@qq.com  邮件标题  邮件内容

 

 

1.1.1.4.7.3. 登录zabbix web界面进行相应的配置

 

1. 进入告警方式配置界面,创建sendmail.sh告警方式

在【管理】----【用户】中,点击已有的用户 Admin

技术分享图片

出现如下界面,选择【报警媒介】---【添加】----【编辑】

技术分享图片

编辑的内容如下:

技术分享图片技术分享图片技术分享图片

 

2. 编写报警媒介类型

在【管理】---【报警媒介类型中选择 【创建媒介类型】

技术分享图片

内容如下:类型选择为脚本,以及三个参数的设置。

技术分享图片

3. 设置zabbix 触发告警的动作

【配置】----【动作】中点击【创建动作】

技术分享图片 

 

 

编辑的内容如下:这里面可以设置邮件发送的条件,告警的标题,告警的内容

技术分享图片 

技术分享图片 

技术分享图片 

设置触发器,制造一个有告警等级为严重的事件(已设置)

然后查看动作日志

技术分享图片 

技术分享图片 

4.  邮件已送到

技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片


zabbix 之 安装配置手册(全)

标签:zabbix   自动化监控   全面介绍   

原文地址:http://blog.51cto.com/yuweibing/2048207

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!