Zabbix安装配置手册文档格式.docx
《Zabbix安装配置手册文档格式.docx》由会员分享,可在线阅读,更多相关《Zabbix安装配置手册文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
![Zabbix安装配置手册文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/26/8b7d184a-6121-463c-99b0-84978e837e43/8b7d184a-6121-463c-99b0-84978e837e431.gif)
3.4添加图表20
3.5添加Screens20
3.6添加Maps21
3.7添加MySQL监控22
3.8添加SNMP监控23
3.9定制报表24
3.10添宏变量25
3.11添加设备信息25
3.12添加邮件告警25
3.13添加自定义监控27
4.FAQ28
1、Export/ImportXML文件时报http500错误28
2、WEB前端安装Step3PHPMBStringsOverload检查fail28
3、无法修改trigger的阀值28
4、运行agentd时进程总起不来,查看agetd.log又无报错28
5、运行server时,web下提示是没有running,agent监控不能正常运行28
6、监控客户端时,提示权限拒绝28
1.Zabbix简介
1.1.简介
Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。
官方网站:
Zabbix2.2官方文档:
Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。
●监控端server:
通过收集SNMP和agent发送的数据,写入MySQL数据库,再通过php+apache在web前端展示。
ZabbixServer需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低
●被监控端:
主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据
⏹(主机Agent):
目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows
⏹网络设备(SNMP):
常见的路由器和交换机等
1.2.功能
●具备常见的商业监控软件所具备的功能
⏹主机的性能监控:
CPU、memory、Filesystems、Process等
⏹网络设备性能监控:
流量、状态、丢包率等
⏹数据库性能监控:
状态、数据出入等
⏹通用协议监控:
FTP、HTTP、IMAP、LDAP、SMTP等
⏹多种告警方式:
包括Email、SMS、Script、Jabber
⏹详细的报表图表绘制:
可用触发事件都可以绘制
●支持自动发现网络设备和服务器
●支持分布式,能集中展示、管理分布式的监控点
●扩展性强,server提供通用接口,可以自己开发完善各类监控
1.3.优劣势
优点:
●开源,无软件成本投入
●Server对设备性能要求低(实际测试环境:
虚拟机RedhatELAS5,2GCPU1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上)
●支持设备多
●支持分布式集中管理
●开放式接口,扩展性强
缺点:
●全英文,界面不友好
●无厂家支持,出现问题解决比较麻烦
●需在被监控主机上安装agent
2.安装部署
2.1.安装服务器
2.1.1环境准备
ZabbixServer需要运行在CentOS、RedHatLinux、Debain等Linux系统上,这里以CentOS6作为部署环境,Root用户安装必须的包,建议配置好yum,通过yum安装下列包,解决包的依赖关系。
(1)LAMP(Linux+Apache+Mysql+PHP)环境
#yuminstallmysql-serverhttpdphp
(2)其他需要用到的依赖包:
#yuminstallmysql-develnet-snmp-develOpenIPMI-developenssl-develfping-devellibcurl-develperl-DBIphp-gdphp-mysqlphp-bcmathphp-mbstringphp-xmlgcc
Software
Version
Comments
Apache
1.3.12orlater
PHP
5.3.0orlater
PHP
extensions:
gd
2.0orlater
GDextensionmustsupport
PNG
images(--with-png-dir),
JPEG
(--with-jpeg-dir)imagesandFreeType2(--with-freetype-dir).
bcmath
php-bcmath(--enable-bcmath)
ctype
php-ctype(--enable-ctype)
libXML
2.6.15orlater
php-xmlorphp5-dom,ifprovidedasaseparatepackagebythedistributor.
xmlreader
php-xmlreader,ifprovidedasaseparatepackagebythedistributor.
xmlwriter
php-xmlwriter,ifprovidedasaseparatepackagebythedistributor.
session
php-session,ifprovidedasaseparatepackagebythedistributor.
sockets
php-net-socket(--enable-sockets).Requiredforuserscriptsupport.
mbstring
php-mbstring(--enable-mbstring)
gettext
php-gettext(--with-gettext).Requiredfortranslationstowork.
ibm_db2
RequiredifIBMDB2isusedasZabbixbackenddatabase.
mysqli
RequiredifMySQLisusedasZabbixbackenddatabase.
oci8
RequiredifOracleisusedasZabbixback-enddatabase.
pgsql
RequiredifPostgreSQLisusedasZabbixback-enddatabase.
sqlite3
RequiredifSQLiteisusedasZabbixback-enddatabase.
Server端依赖包:
Requirement
Description
OpenIPMI
Requiredfor
IPMI
support.
libssh2
SSH
support.Version1.0orhigher.
fping
ICMPpingitems.
libcurl
Requiredforwebmonitoring.
libiksemel
RequiredforJabbersupport.
net-snmp
SNMP
(3)下载最新的Zabbix安装包(官网:
)到本地,解压
#tarzxvfzabbix-2.2.2.tar.gz
或直接下载:
rpm-ivh
2.1.2安装Zabbix
(1)安装直接下载(默认安装路径/usr/share/zabbix/):
服务器端安装:
#yuminstallzabbix-server-mysqlzabbix-web-mysql
(2)解压安装:
#cdzabbix-2.2.2
#./configure--with-mysql--with-net-snmp--with-libcurl--enable-server--enable-agent--enable-proxy--prefix=/usr/share/zabbix/
#makeinstall
配置编译,prefix是安装后程序目录
2.1.3数据库初始化
(1)启动MySQL数据库:
#servicemysqldstart
(2)创建数据库并导入数据
创建Zabbix数据库:
#mysql-uroot
mysql>
createdatabasezabbixcharactersetutf8;
grantallprivilegesonzabbix.*tozabbix@localhostidentifiedby'
zabbix'
;
exit
导入数据:
#cd/usr/share/doc/zabbix-server-mysql-2.2.2/create
#mysql-urootzabbix<
schema.sql
images.sql
data.sql
2.1.4配置服务器
(1)修改Server配置文件
#vim/etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
(2)启动服务器:
#servicezabbix-serverstart
2.2.配置
2.2.1修改Apache配置
(1)#vim/etc/php.ini找到如下几项,改成下面的值,前面有;
号的要删掉
date.timezone=Asia/Shanghai
post_max_size=32M
upload_max_filesize=16M
max_execution_time=600
max_input_time=600
memory_limit=256M
(2)#vim/etc/httpd/conf.d/zabbix.conf
php_valuemax_execution_time300
php_valuememory_limit128M
php_valuepost_max_size16M
php_valueupload_max_filesize2M
php_valuemax_input_time300
#php_valuedate.timezoneEurope/Riga
(3)重启apache
#servicehttpdrestart
2.2.2web前端配置
在本地浏览器上访问ZabbisServe地址开始web前端配置,http:
//ServerIP/zabbix,按提示一步步next,其中Step1直接Next
Step2Checkofpre-requisites必须全部项目OK后才能继续配置,如有提示fail,去server上检查是否安装这个包或配置是否按上述更改。
Step3填入ZabbixServer登陆mysql的用户和密码
Step4、5直接netx
Step6错误就点击下载Download
配置完成后,出现登陆界面,默认的用户为:
admin,密码为:
zabbix
2.2.3设置开机启动项
服务器:
#chkconfigzabbix-serveron
数据库:
#chkconfigmysqldon
Apache:
#chkconfighttpdon
监控需要关闭防火墙和SElinux:
#serviceiptablesstop
#setenforce0
2.3.安装客户端
2.3.1在host上配置agent
Zabbix需要在被监控的host上安装agent,在zabbix官网上下载相应平台的agent包到各被监控端,按如下方式在被监控上运行agent。
(注:
官网上下载的agent包里没有运行agentd所必须的配置文件,可以从zabbixserver上拷贝一份zabbix_agentd.conf,这个conf文件是所有平台都通用的)
(1)直接下载(也可以下载客户端
#yuminstallzabbix-agent
(2)修改配置文件:
#vim/etc/zabbix/zabbix-agentd.conf
Hostname=本机名
Server=ZabbixServerIP
LogFile=本机agentd日志保存文件
(3)运行agentd:
#servicezabbix-agentstart
如果进程没起来,可查看agentd.log日志来排查问题。
启动时建议用全路径,否则可能会出错)
(4)加入开机运行:
#chkconfigzabbix-agenton
2.4安装代理服务器
2.4.1环境准备
安装需要的依赖包:
yuminstallgccmysql-servermysql-develnet-snmpnet-snmp-devellibxml2libcurlcurlcurl-devel
2.4.2安装zabbix-proxy
(1)下载zabbix2.2.2安装包安装:
#./configure--enable-proxy--with-mysql--with-net-snmp--with-libcurl--with-libxml2--prefix=/usr/share/zabbix-proxy/
#make&
&
makeinstall
(2)直接下载:
#yuminstallzabbix-proxy
(3)启动数据库:
servicemysqldstart
(4)初始化数据库(找到schema.sql):
#mysql–uroot–p
>
createdatabasezabbixdefaultcharsetutf8;
grantallonzabbix.*tozabbix@localhostidentifiedby‘zabbix’;
exit
#cd/usr/share/doc/zabbix-proxy/create
2.4.3配置zabbix-proxy
#vim/etc/zabbix/zabbix_proxy.conf
Server=服务器IP
DBName=服务器数据库名
DBUser=服务器数据库用户
DBPassword=服务器数据库密码
其他配置信息可参考:
3.配置使用
3.1添加代理
Administration->
DM创建代理服务器
Proxyname:
代理服务器名称
创建host时,连接代理服务器的,选择其代理服务器即可
3.2添加基本监控
通过本地浏览器访问http:
//ServerIP/zabbix来开始配置和使用zabbix。
使用zabbix进行监控之前,要理解zabbix监控的流程。
一次完整的监控流程可以简单描述为:
HostGroups(设备组)->
Hosts(设备)->
Applications(监控项组)->
Items(监控项)->
Triggers(触发器)->
Actions(告警动作)->
Medias(告警方式)->
UserGroups(用户组)->
Users(用户)
3.2.1添加监控主机
通过Configuration->
Hosts->
CreateHost来创建监控主机
Host是Zabbix监控的基本载体,所有的监控项都是基于host的。
按提示填入Name、Groups、IP,其他选项默认即可,LinkTemplates处选择一个模板,save即可成功添加设备。
如果host上没安装agent,添加后的状态会是unmonitor,会采集不到值,Zabbix自带大量的设备监控模板,我们添加主机时通过link到这些模板,就可以快速添加主机的监控项和告警触发条件。
)
一类的hosts可以归属到同一个HostGroup,便于分类管理同一类设备,在Configuration->
HostGroup->
CreateHostGroup可以添加设备组
3.2.2添加监控项目
Item是监控项,是监控的基本元素,每一个监控项对应一个被监控端的采集值。
(添加监控项目前必须添加监控主机,因为监控的事该主机下的项目)
在Configuration->
Hosts界面,我们能看到每个host所包含的items总数,点击对应主机的items项,可以看到具体的每个item信息,这些items可以引用自templates,也可以自己创建。
通过点击具体item名字可以修改已有监控项的属性,点击Status的链接可以禁用/启用这个监控项。
我们可以通过新建一个template,在template中禁用掉所有不需要用到的items,然后把同一类hostslinkto这个template,就不用一台台主机去更改items)
新增item可以通过点击右上角的createitem来创建
按提示逐项填入相关信息即可,其中key是zabbix已经自带的取值方法,Application类似于hostgroups,是item的组。
(key值是监控的项目的关键,监控什么就有对应的key值,itemkey也可以自定义,后面会讲到如何自定义监控项)
Zabbix自带非常多的监控采集项及方法,基本能满足当前所有的监控功能,这些都包含在item的itemkey中了,更多的type和key的解释请参考:
3.2.3添加触发器
Trigger是触发器,当Items采集值满足triggers的触发条件时,就会产生actions。
(每一个trigger必须对应一个item,但一个item可以对应多个trigger)
同样,通过点击Configuration->
Triggers中某个trigger的名字,可以修改trigger的属性。
(注意:
引用自template的trigger触发值是不能单独修改的,必须在template中修改,或是复制一个同样的trigger再修改,然后禁用掉之前的)
新增trigger可以通过点击右上角的createtrigger来创建
Expression中选择对应的item、触发方式及触发值,Severity是告警级别,根据trigger的严重性来选择。
Zabbix提供多种trigger触发方式供选择,常用的我们可以选择lastvalue<
/>
/=/#/N(最近一次采集值),或是选择maximalvalueforperiodoftime(一段时间内的最大值),等等。
可以根据实际需要来设定触发方式。
更多的解释请参考:
3.2.4添加告警动作
Action是告警动作,当触发器条件被满足时,就会执行指定的action。
Actions->
CreateAction来创建Action
Name:
告警名称
Subject、Message:
告警标题和内容,此处可引用zabbix的宏变量;
例如{{HOSTNAME}:
{TRIGGER.KEY}.last(0)}表示最后一次采集值,更多宏变量参考:
RecoveryMessage:
告警恢复信息,不勾选系统会用默认的,勾选后自定义
Conditions:
trigger产生的条件,条件可以多选
Newcondition:
添加新的触发规则
Operation:
告警方式选择media及告警联系user
3.2.5添加告警方式
Media,即告警方式,Zabbix可以提供四类Media:
Email/SMS/Jabber/Script,通过Administrator->
MediaType来修改或新增告警方式
Email方式最常用的,填入相关的SMTP信息,即可通过邮件方式发送告警。
SMS方式要在server主机上接入短信modem。
Jabber方式是一种lin