CentOS 7环境下Zabbix 4安装和配置实例_第1页
CentOS 7环境下Zabbix 4安装和配置实例_第2页
CentOS 7环境下Zabbix 4安装和配置实例_第3页
CentOS 7环境下Zabbix 4安装和配置实例_第4页
CentOS 7环境下Zabbix 4安装和配置实例_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 CentOS 7 环境下 Zabbix 4安装和配置实例 1. 安装准备Zabbix4.0对基础架构有一定的要求,尤其是对PHP和MySQL:2. 安装环境Zabbix Server运行在CentOS上,Zabbix Agent可以运行主流的操作系统上,本文档的安装环境为:3. 安装配置Zabbix Server3.1. 安装Zabbix Server首先,获取Zabbix官方的YUM源:值得注意的是,官方的Yum源文件版本可能随时更新,本文列出的地址如果无法下载,可以到官方的主站寻求最新的版本:/zabbix/其次,获取epel官方的YUM源:值得注意的是,官方的Yum源文件版本可能随时更

2、新,本文列出的地址如果无法下载,可以到官方的主站寻求最新的版本:.hk/pub/linux/fedora-epel/7/x86_64/Packages/e/shell rpm -ivh .hk/pub/linux/fedora-epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm然后,安装依赖包:shell yum install httpd php php-mysql php-gd php-bcmath php-common php-xml php-mbstring php-cliZabbix 需要的 PHP 扩展库:- php-mysq

3、l:使用MySQL作为Zabbix后端数据库所需要的组件;- php-gd:PHP GD扩展库必须支持 PNG 图像(-with-png-dir)、JPEG 图像 (-with-jpeg-dir)和FreeType2(-with-freetype-dir);- php-bcmath:包含所需的bcmath;- php-common:包含所需的ctype和php-session扩展;- php-xml:包含所需的libXML、xmlreader和xmlwriter扩展。- php-mbstring:包含所需的mbstring扩展。shell yum install pcre glibc gcc

4、livevent zlib libcurl-devel curl-devel OpenIPMI-devel libssh2 fping net-snmp-devel perl-DBI openssl-devel iksemel libxml2 ntpZabbix 需要的依赖包:- pcre:为强制安装的包。用来支持Perl Compatible Regular Expression(PCRE);- gcc:为强制安装的包。即编译器,- glibc:为强制安装的包。即libc运行库,其中包含了所需的Libpthread- libevent:为强制安装的包,用来支持 IPMI;- zlib:为强制

5、安装的包。用来支持压缩;- libcurl-devel、curl-devel:为可选安装包,但建议安装。用来支持 Web 监控;- OpenIPMI-devel:为可选安装包,按需安装。用来支持IPMI监控;- libssh2:为可选安装包。用来支持SSH功能;- fping: 为可选安装包,但建议安装。用来支持ICMP Ping监控;- net-snmp-devel:为可选安装包,按需安装。用来支持SNMP监控;- iksemel:为可选安装包,按需安装。用来支持 Zabbix 报警媒介 Jabber;- libxml2:为可选安装包,按需安装。用来支持 VMware 监控;- ntp:为可

6、选安装包,但强烈建议安装。用来保持 Zabbix 精准的时间。最后,安装Zabbix-Server。shell yum install zabbix-agent zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-webZabbix 服务端上的安装包:- zabbix-agent:为可选安装包,但在 Zabbix Server 上建议安装。Zabbix 客户端代理程序;- zabbix-server-mysql、zabbix-web-mysql:为强制安装的包。前者用来存放采集到的数据,后来为前端所需;- zabbix-get:为可选安

7、装包,但在 Zabbix Server 上建议安装。Zabbix 用来手动采集数据的命令;- zabbix-web:为可选安装包,但在 Zabbix Server 上建议安装。Zabbix用来监控 Web 服务的。- zabbix-java-gateway:为可选安装包,按需安装。Zabbix 的 JAVA 采集服务端,用于 JMX 的监控方式。Zabbix 客户端上的安装包:- zabbix-agent:为强制安装包。Zabbix 客户端代理程序;- zabbix-sender:为可选安装包,但强烈建议安装。Zabbix agent 向 Zabbix server 手动发送数据的命令;- z

8、abbix-proxy-mysql:为可选安装包,按需安装。Zabbix proxy 是 Zabbix 代理服务的程序,适用于分布式监控环境。3.2. 安装数据库(PerconaDB 5.7)首先,获取PerconaDB官方的YUM源:值得注意的是,官方的Yum源文件版本可能随时更新,本文列出的地址如果无法下载,可以到官方的主站寻求最新的版本:/downloads/percona-release/redhat/shell yum install /redir/downloads/percona-release/redhat/0.1-6/percona-release-0.1-6.noarch.

9、rpm其次,通过YUM方式安装PerconaDB 57。再次,修改PerconaDB的配置文件。值得注意的是:- 如果修改socket的文件位置,那么 Zabbix 配置文件中DBSocket=参数也需要修改,单方面修改的话 Zabbix 会提示连接不到数据库;- 原则上 innodb_buffer_pool_size 需要设置为主机内存的 80% ;然后,初始化数据库:最后,在Percona里面创建Zabbix数据库,并修改权限。3.3. 配置NTP时间同步Zabbix Server对时间的精确要求比较高,时间对数据的计算等都有影响。因此,可以自建NTP服务器,或同步网络时间。如下,使用Cr

10、ontab同步网络时间。3.4. 导入数据库首先,获取Zabbix的数据库。最后,使用Percona来Zabbix的初始数据库schema和数据。3.5. 禁用Selinux以及按需禁用或者配置防火墙防火墙可以按需配置,可以暂时关闭,后面再进行配置,但 Selinux必须关闭,否则后面启动Zabbix server的时候会报错。3.6. 修改Zabbix Server的配置文件在zabbix_server.conf中有很多参数需要修改,此时先将Zabbix连接Percona的信息配置好,包括先前创建的数据库、其用户名和密码。需要注意的是,这里的参数必须和之前创建数据库的信息一致,否则后面运行Z

11、abbix server时会有无法连接到数据库的报错。3.7. 配置PHP首先,Zabbix需要修改PHP的时区。最后,适当修改一些PHP配置文件的参数。3.8. 修改Web显示文字为微软雅黑首先,将微软雅黑的字体msyh.ttf上传到/usr/share/zabbix/fonts/目录下:最后,修改配置文件使用微软雅黑字体。将代码区第 2 行和第 3 行的graphfont改为上传的中文字体,本例使用的字体为msyh(代码区内容所在为63行和108行, vi设置了set=number)。3.9. 配置Apache首先,设置HTTPD开机自启。重启并访问Apache的默认页面。然后,为了安全起

12、见,可以删除Apache测试页面。最后,同样地,为了安全起见,禁用Apache的目录列表配置。在Apache的配置文件中找到该行,将该行中的Indexes去掉,并重启进程。3.10. 启动Zabbix启动zabbix-agent和zabbix-server,并将其添加到开机自启动。4. 配置Zabbix Web管理页面首先,浏览器键入http:IP/zabbix,点击Next step进行下一步;其次,会出现检查PHP配置的页面。此前PHP已修改了相应参数,点击Next step进行下一步:再次,会出现配置zabbix数据库的页面。其中Database host由localhost修改为,Da

13、tabase port默认,Database name、User、Password为之前建立数据库的数据库名和用户名密码, 点击Next step进行下一步;此页默认不需要修改,直接点击Next step进行下一步;然后,会出现配置信息汇总页面,待确认无误后点击Next step进行下一步;点击Finish完成安装。最后,完成配置,进入登录界面,输入默认的用户名Admin和密码zabbix,点击Sign in登录。值得注意的是:如果此后需要修改,可以通过http:/ip/zabbix/setup.php地址进行重新配置。5. 升级Zabbix5.1. 主要版本间的升级首先,主要版本间的升级,需

14、要先阅读官方的升级说明,再进行升级。其次,备份Zabbix数据库。再次,备份Zabbix Server的配置文件、PHP文件和Zabbix二进制文件。然后,更新新版的Zabbix官方YUM,并通过YUM UPGRADE进行升级。最后,待更新完成后, 重新修改中文字体(每次更新后必须修改)。将代码区行的graphfont改为上传的中文字体。5.1.1. Zabbix 3.2升级至Zabbix 3.4首先,停止Zabbix Server和Zabbix agent其次,备份数据库、Zabbix Server的配置文件、PHP文件和Zabbix二进制文件。再次,卸载当前的Zabbix 3.2版本。然后

15、,安装Zabbix 3.4。恢复之前的Zabbix配置文件重新配置下Zabbix前端的配置文件最后,启动Zabbix3.4,并检查数据库的升级日志。5.1.2. Zabbix 3.4升级至Zabbix 4.05.2. 次要版本升级如果要升级Zabbix的次要版本(例如,从 4.0.1 升级至 4.0.3),是非常容易的:shell yum upgrade zabbix*待升级完成后,重新修改中文字体(每次更新后必须修改)。将代码区行的graphfont改为上传的中文字体。6. 安装配置Zabbix Agent6.1. 获取Zabbix Agent从Zabbix Download获取下载地址:下

16、载地址: /download6.2. 安装配置Linxu Agent在CentOS上安装Zabbix agent,可以通过YUM安装直接安装RPM包,还可以通过源码编译安装,在Zabbix 3.4版本之前,官方还提供Precompiled agents介质,下面使用YUM直接安装:首先,客户端添加官方YUM,并通过YUM安装Zabbix agent:然后,按需根据修改配置文件:最后,配置防火墙,启动Zabbix agent,并配置开机自启:6.3. 安装配置AIX Agent在AIX上安装Zabbix agent,有两种安装方式。一种为从官网下载预编译好的介质(Precompiled agen

17、ts)进行安装,另一种是通过源码包编译安装。值得注意的是,Zabbix agent已从3.0LTS版本开始便不再支持AIX 6.1之前的版本,建议在AIX低版本使用对应的Zabbix agent版本,其对应版本支持如下:6.3.1. 预编译文件安装AIX Agent首先,从官网下载页面下载预编译好的介质(Precompiled agents),并解压到目标位置,解压目标位置可以根据需要决定。其次,添加Zabbix用户和用户组:再次,将配置文件和agent二进制进程文件复制到指定目录下:根据当前环境修改配置文件:然后,添加随系统开机自启动(AIX6.1),需要将对应的Zabbix Agent的源

18、码包下载下来zabbix-2.4.8.tar.gz,待解压后,将目录zabbix-2.4.8miscinit.daix下zabbix_agentd文件拷贝到/etc/rc.d/rc2.d下:最新,增设相应权限,并启动Zabbix agent进程。6.3.2. 通过源码文件安装AIX Agent通过源码文件编译安装,需要先解决依赖包,待所有依赖包安装完成后,即可编译安装Zabbix agent。6.4. 安装配置Windows Agent首先,在Windows上安装Zabbix agent,从官网下载预编译好的介质(Precompiled agents),并解压到目标位置,解压目标位置可以根据需

19、要决定,下代码区为Windows上的Zabbix agent目录文件结构:其次,修改zabbix_agentd.win.conf配置文件,其中LogFile是日志存放的位置,Server为Zabbix Server的地址,ServerActive为开启主动模式并配置Zabbix Server的地址, Hostname为本地客户端的主机名或IP地址。然后,执行安装命令进行安装。其中,-i参数为安装指令,-c参数为执行配置文件的目,-s为启动Zabbix agent服务。最后,zabbix_agentd.exe还有更多的命令语法,建议通过-help参数进行查看:7. 官方系统模板的扩展7.1. W

20、indows计数器键值7.2. 监控Linux&AIX&Windows用户登录7.2.1. 监控Linux用户登录关于监控Linux用户登录,是利用Zabbix自带的日志监控功能监控Linux的/var/log/secure日志,当有用户登录失败或者用户在非常规时间登录成功时触发告警。首先,使用Zabbix提供的键值logfile,来监控Linux的/var/log/secure文件。先介绍下这个键值:该监控项类型是Zabbix agent(active),返回数据类型是Log。Zabbix agent需要对监控的日志文件有可读权限,否则会返回unsupported。参数介绍:- file:日

21、志文件的全路径;- regexp:过滤日志的正则表达式;- encoding:字符编码,默认为英文单字节SBCS(Single-Byte Character Set);- maxlines:agent 每秒发送给 server(或proxy)的数据的最大行数,这个参数会覆盖掉zabbix_agentd.conf配置文件里的MaxLinesPerSecond参数;- mode:可选填参数,即all(默认)或skip(跳过旧数据);- output:自定义格式化输出,。默认输出regexp匹配的整行数据。转义字符0表示regexp匹配的数据,转义字符N(N=1.9)表示regexp里第N个分组匹配

22、到的数据。 如果填其他字符串就会覆盖掉regexp匹配的数据。其次,在Linux模版Template_OS_Linux_Chinese下增加登录审核的监控项:项目名称:用户登录审核类型:Zabbix端点代理程式(主动式)键值:log/var/log/secure,(Accepted|Failed) password,skip,数据类型:日志数据库更新间隔(秒):60历史数据存储日期:90应用集:security注意:正则表达式为(Accepted|Failed) password,过滤/var/log/secure中的正确或失败的用户登录请求(这里只过滤密码验证方式的登录)。创建登录失败的触发

23、器:名称:用户登录失败在主机HOST.NAME表达式:Template_OS_Linux_Chinese:log/var/log/secure,(Accepted|Failed) password,skip,.str(Failed)=1 and Template_OS_Linux_Chinese:log/var/log/secure,(Accepted|Failed) password,skip,.nodata(60)=0严重性:警告该表达式含义为:如果用户登录失败了,监控项返回的数据中会包含Failed,则触发器被触发。如果在60秒内没有接收新数据的话,则触发器恢复,这样就能保证触发器不会一

24、直在触发状态。下面把表达式拆解分析:A:Template_OS_Linux_Chinese:log/var/log/secure,(Accepted|Failed) password,skip,.str(Failed)=1,表示如果字符串中包含Failed则表达式为真;B:Template_OS_Linux_Chinese:log/var/log/secure,(Accepted|Failed) password,skip,.nodata(60)=0,表示如果60秒内有接收数据则表达式为真,反之则表达式为假。逻辑为 A and B,表示同时符合 A 和 B 两个条件(同时为真),触发器才会触发

25、。再次,创建登录成功的触发器:名称:用户于非工作时间登录成功在主机HOST.NAME表达式:Template_OS_Linux_Chinese:log/var/log/secure,(Accepted|Failed) password,skip,.str(Accepted)=1 and Template_OS_Linux_Chinese:log/var/log/secure,(Accepted|Failed) password,skip,.nodata(60)=0 and (Template_OS_Linux_Chinese:log/var/log/secure,(Accepted|Faile

26、d) password,skip,.time(0)200000)严重性:警告该表达式的含义为:晚上 20 点到早上 8 点之间如果有用户登录成功了,且监控项返回数据中会包含Accepted,则触发器被触发,如果60秒内没有接收到新数据的话,则触发器恢复。下面把表达式拆解分析:A:Template OS Linux:log/var/log/secure,(Accepted|Failed) password,skip,.str(Accepted)=1。表示如果字符串中包含Accepted则表达式为真;B: Template OS Linux:log/var/log/secure,(Accepted

27、|Failed) password,skip,.nodata(60)=0。表示如果 60 秒内有接收到数据则表达式为真,反之则表达式为假。C:Template OS Linux:log/var/log/secure,(Accepted|Failed) password,skip,.time(0)200000。表示当前时间大于晚上 8 点(20:00:00)则表达式为真。逻辑为 A and B and(C or D)。表示 A 和 B 要同时为真且 C 和 D 只要一个为真,则整个表达式为真,触发器才会触发。然后,因为监控日志需要Agent为主动模式,那么在Agent上需要额外配置ServerA

28、ctive参数。在配置文件zabbix_agentd.conf的ServerActive参数定义了Zabbix Server的地址和端口。同时,需要修改/var/log/secure被监控文件的权限,/var/log/secure默认权限为600,需要增加用户zabbix的可读权限,命令如下:shell setfacl -m u:zabbix:r- /var/log/secure最后,修改logrotate配置。shell sed -i /kill/a/usr/bin/setfacl -m u:zabbix:r- /var/log/secure /etc/logrotate.d/syslog7

29、.2.2. 监控AIX用户登录由于在AIX系统上的局限性,用户登录审核日志位于/etc/securrity/failedlogin(登录失败)和/var/adm/wtmp(登录成功)文件中,并且读取这两个文件得用who命令读取,显然Zabbix自带的日志监控无法满足需求,只能通过UserParameter自定义key来获取。首先,参照两个文件的输出内容,可以看到登录信息记录均为单行,不会跨行,是以每行记录一次用户登录行为,那么可以统计这个文件的行数来达到需求:其次,在确定了监控思路的情况下,可以着手在Agent上自定义key:再次,由于AIX的权限控制比较严格,Agent上的Zabbix用户无

30、法读取这两个系统文件,只能通过安装sudo来完成读取操作,并配置sudo,增加丢两个文件的who命令执行权限:从次,在Zabbix Server端增加监控项,监控项为在agent上定义好的自定义key:用户登录成功监控项:名称:用户登录成功信息类型:Zabbix代理键值:aix.acceptedlogin数据类型:数字的(无正负)数据类型:十进位数字数据更新间隔(秒):60应用集:Security用户登录失败监控项:名称:用户登录失败监控项目类型:Zabbix代理键值:aix.failedlogin数据类型:数字的(无正负)数据类型:十进位数字数据更新间隔(秒):60应用集:Security最

31、后,创建其触发器:创建用户登录成功触发器:名称: 用户于非工作时间登录成功在主机HOST.NAME, 请登录系统进行检查表达式: Template_OS_AIX_Chinese:aix.acceptedlogin.change(0)0 and Template_OS_AIX_Chinese:aix.acceptedlogin.nodata(60)=0 and (Template_OS_AIX_Chinese:aix.acceptedlogin.time(0)200000)严重性: 警告该表达式的含义为:在晚上 20 点到早上 8 点之间如果有用户登录成功了,且监控项返回数据acceptedlo

32、gin与上次采集的值发生变化,且在 60 秒内有新数据产生的话,则触发触发器,反之触发器恢复。基本思路和 Linux 登录监控触发器思路相同。创建用户登录失败触发器:名称:用户登录失败在主机HOST.NAME, 请登录系统进行检查表达式:Template_OS_AIX_Chinese:aix.failedlogin.change(0)0 and Template_OS_AIX_Chinese:aix.failedlogin.nodata(60)=0严重性:一般严重该表达式的含义为:如果监控项返回数据failedlogin与上次采集的值发现变化,且在 60 秒内有新数据产生的话,则触发触发器,若

33、在 60 秒内没有新数据的话,触发器恢复。基本思路和Linux登录失败触发器思路相同。7.2.3. 监控Windows用户登录关于Windows用户的登录日志,全部记录在事件管理器中。根据事件管理器中的记录,在Windows模版新建登录成功和失败监控项:首先,参照在事件管理器中的用户登录成功审核记录,创建对应登录成功的监控项:名称:Windows Users Login Successful类型:Zabbix端点代理程式(主动式)键值:eventlogSecurity,Success Audit,4624$,skip数据类型:日志数据更新间隔(秒):30应用集:Login该监控项中,类型选择Z

34、abbix agent(active)、数据类型选择Log、监控间隔60秒。其中,监控项Key的参数用大括号包裹,用逗号分隔,下面解释各项参数的含义:- Security:事件的日志名称:- Success Audit:事件的Severity;- 4624$:这是一个正则表达式,匹配事件ID等于4624的日志;- skip:该含义是不监控已产生的历史日志,如果省略skip,会监控所有符合以上条件的历史日志信息。其次,参照在事件管理器中的用户登录失败审核记录,创建对应登录失败的监控项:名称:Windows Usesr Login Failure类型:Zabbix端点代理程式(主动式)键值:eventlogSecurity,Failure Audit,4625$,skip数据类型:日志数据更新间隔(秒):60应用集:Login从次,创建登录成功的触发器:名称:Windows Users Login Successful On HOST.NAME表达式:Template_OS_Windows_Chinese:eventlogSecurity,Success Audit,4624$,skip.nodata(60)=0 and Template_OS_Windows_Chinese:eventlogSecurity,Suc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论