千家信息网

zabbix监控怎么部署

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章给大家分享的是zabbix监控的部署教程,相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。zabbix介绍要想实时的了解服务器的运行状况并且能在出
千家信息网最后更新 2024年11月23日zabbix监控怎么部署

这篇文章给大家分享的是zabbix监控的部署教程,相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。

zabbix介绍

要想实时的了解服务器的运行状况并且能在出现问题时及时解决,利用监控软件是一个很好的选择,而zabbix监控系统则在众多监控软件中脱颖而出。

zabbix是一个基于web界面的企业级开源监控软件,Zabbix服务器需要LAMP环境或LNMP环境,提供分布式系统监控与网络监视功能。具备主机的性能监控,网络设备性能监控,数据库性能监控,多种告警方式,详细报表、图表的绘制等功能。监测对象可以是Linux或Windows服务器,也可以是路由器、交换机等网络设备,通过SNMP、zabbix Agent、PING、端口监视等方法提供对远程网络服务器等监控、数据收集等功能。

zabbix监控架构:

在生产环境中,zabbix根据网络环境、监控规模等外界因素分为三种架构:server-client(直接连接)、master-node-client(Node架构)、server-proxy-client(proxy架构),如下图所示:

1、server-client架构:server-client架构是zabbix最简单的架构,监控机和被监控机之间不经过任何代理,直接在zabbix server(监控服务器) 和zabbix agent(agent:部署在被监控端,用于采集数据)之间进行数据交互,适用于网络比较简单,设备较少的监控环境。2、master-node-client架构:master-node-client架构是zabbix最复杂的监控架构,适用于跨网络、跨机房、设备较多的大型环境。每个node同时也是一个server端,node下面可以接proxy,也可以直接接client。node有自己的配置文件和数据库,其要做的就是将配置信息和监控数据向master同步。当master宕机后,node可以保证架构的完整性。3、server-proxy-client架构:proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且其本身不存放数据,只是将agentd发来的数据暂时存放,而后再提交给server。该架构经常是和master-node-client架构做比较的架构,一般适用于跨机房、跨网络的中型网络架构的监控。

Zabbix 角色组件

Zabbix agent:负责部署在被监控主机上,把被监控主机的数据传送给zabbix serverZabbix server:负责接收agent发送的信息,组织配置信息,统计配置信息和操作数据等Zabbix database: 用于存储zabbix的所有配置信息,监控数据的数据库Zabbix web: zabbix的web界面,管理可以通过zabbix的web界面管理zabbix配置以及查看zabbix的监控信息,可以独一部署在一台服务器上Zabbix proxy:分布式环境中使用,zabbix proxy代表server端管理该区域中的信息收集,最终统一发往zabbix server

zabbix通讯方式

agent:通过专用的代理程序进行监控ssh/Telnet:通过远程控制协议进行通讯SNMP:通过SNMP协议与被监控对象进行通讯,路由器和交换机支持SNMP,其实也是一种agentIPMI:通过IPMI接口进行监控,通过IPMI硬件接口监控,电压,温度,风扇,和电源状态JMX:通过(java management extensions Java管理扩展)监控JVM虚拟机分布式的监控体系:监控数据被提交给zabbix proxy 再 提交给zabbix server


Zabbix 工作模式

主动模式:由agent端主动收集信息发送给server端 工具是zabbix_sender被动模式:由server端主动拉取信息 工具是zabbix_get

实验环境

监控端:192.168.136.168
被监控端:192.168.136.185

安装LAMP

yum install -y \httpd \mariadb-server mariadb \php \php-mysql \php-gd \libjpeg* \php-ldap \php-odbc \php-pear \php-xml \php-xmlrpc \php-mhash
vim /etc/httpd/conf/httpd.confServerName www.benet.comDirectoryIndex index.html index.phpvi /etc/php.inidate.timezone = PRC    //设置中国时区systemctl stop firewalld.servicesetenforce 0systemctl start httpd.servicesystemctl start mariadb.servicenetstat -ntap | egrep '(80|3306)'mysql_secure_installationvi /var/www/html/index.php

http://192.168.175.155/

mysql -u root -p#为zabbix设置一个数据库,并且要设置一个用户去管理它CREATE DATABASE zabbix character set utf8 collate utf8_bin;GRANT all privileges ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123';flush privileges;#写一个测试首页[root@localhost ~]# cd /var/www/html/[root@localhost html]# vim index.php#验证zabbix能否连接数据库Success!!";else echo "Fail!!";mysql_close();?>

---------解决本地无法登录问题(可忽略)---------------

[root@localhost html]# mysql -u root -pEnter password: Welcome to the MariaDB monitor.  Commands end with ; or \g.Your MariaDB connection id is 9Server version: 5.5.64-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> select user,host from mysql.user;  //有空用户名称占用导致本地无法登录远程可登录+--------+-----------------------+| user   | host                  |+--------+-----------------------+| zabbix | %                     || root   | 127.0.0.1             || root   | ::1                   ||        | localhost             || root   | localhost             ||        | localhost.localdomain |+--------+-----------------------+6 rows in set (0.01 sec)drop user ''@localhost;drop user ''@cacti;flush privileges;

----------------以下开始部署zabbix Server-------

yum install php-bcmath php-mbstring -yrpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm //会自动生成yum源文件,保证系统可以上网yum install zabbix-server-mysql zabbix-web-mysql -yzcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p  zabbix //生成数据库文件,注意密码不要输成root的grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf 38:LogFile=/var/log/zabbix/zabbix_server.log 49:LogFileSize=072:PidFile=/var/run/zabbix/zabbix_server.pid82:SocketDir=/var/run/zabbix101:DBName=zabbix117:DBUser=zabbix125:DBPassword=admin123 //修改本行347:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log465:Timeout=4507:AlertScriptsPath=/usr/lib/zabbix/alertscripts517:ExternalScripts=/usr/lib/zabbix/externalscripts553:LogSlowQueries=3000vim /etc/httpd/conf.d/zabbix.conf //修改时区php_value date.timezone Asia/Shanghaivim /usr/share/zabbix/include/defines.inc.php //修正图表中文乱码:%s /graphfont/kaiti/g  //从微软系统下复制相应的字体文件到 /usr/share/zabbix/fonts 目录中注意字体名称要对应配置文件,且注意大小写cp STKAITI.TTF /usr/share/zabbix/fonts/systemctl enable zabbix-serversystemctl start zabbix-servernetstat -anpt | grep zabbix  //监听在10051端口上systemctl restart httpd.service

http://192.168.136.168/zabbix/ //安装后登录 用户名Admin 密码:zabbix

设置中文环境Administrator-Users-点击用户-语言中设置

-----------配置代理端-就是被控服务器----如果服务器也需要被自己监控也需要安装--zabbix-agent--

rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpmyum install -y zabbix-agentgrep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf13:PidFile=/var/run/zabbix/zabbix_agentd.pid32:LogFile=/var/log/zabbix/zabbix_agentd.log43:LogFileSize=098:Server=192.168.175.155139:ServerActive=192.168.175.155150:Hostname=test268:Include=/etc/zabbix/zabbix_agentd.d/*.confservice firewalld stopsetenforce 0systemctl enable zabbix-agent.servicesystemctl restart zabbix-agent.servicenetstat -anpt | grep zabbix  //监听在10050端口---------------增加被控主机--在WEB平台上做-----配置-主机-创建主机:主机页面根据需求配置模板页需要链接模板,根据需要链接相应的模板0K

--------配置邮件报警功能---服务器上配置---------yum install mailxvi /etc/mail.rc //注意网易邮箱需要开启客户端授权码进行第三方登录----文件末尾新增---set from=1960277503@qq.comset smtp=smtp.qq.comset smtp-auth-user=1960277503@qq.comset smtp-auth-password=邮箱密码set smtp-auth=loginecho "hello world" | mail -s "testmail" 1960277503@qq.com //测试发信正常cd /usr/lib/zabbix/alertscriptsvi mailx.sh //编写发邮件脚本#!/bin/bash#send mailmessages=`echo $3 | tr '\r\n' '\n'`subject=`echo $2 | tr '\r\n' '\n'`echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1------touch /tmp/mailx.log chown -R zabbix.zabbix  /tmp/mailx.log chmod +x /usr/lib/zabbix/alertscripts/mailx.shchown -R zabbix.zabbix /usr/lib/zabbix/./mailx.sh 13951868284@139.com "主题" "内容"   //测试发邮件脚本是否可以正常工作

-----在服务器WEB上配置----

名称:Mail-Test类型:脚本脚本名称:mailx.sh脚本参数://新增以下三个参数{ALERT.SENDTO}{ALERT.SUBJECT}{ALERT.MESSAGE}管理-用户-点击Admin-报警媒介:类型:Mail-Test //调用上面的脚本收件人:13951868284@139.com其它默认-保存配置-》动作-》创建动作-》删除默认标签,修改触发条件名称:Mailx条件 A 主机群组=Linux servers操作-》如下配置默认操作步骤持续时间 60默认接收人 : {TRIGGER.STATUS}:{TRIGGER.NAME}默认信息:告警主机:{HOST.NAME}告警  IP:{HOST.IP}告警时间:{EVENT.DATE}-{EVENT.TIME}告警等级:{TRIGGER.SEVERITY}告警信息:{TRIGGER.NAME}:{ITEM.VALUE}事件  ID:{EVENT.ID}操作细节:-》操作类型:发送消息发送到用户:Admin (Zabbix Administrator) 仅送到:Mail-Test  //一定要配置否则邮件发送不成功恢复操作:{TRIGGER.STATUS}:{TRIGGER.NAME}恢复信息:恢复主机:{HOST.NAME}恢复  IP:{HOST.IP}恢复时间:{EVENT.DATE}-{EVENT.TIME}恢复等级:{TRIGGER.SEVERITY}恢复信息:{TRIGGER.NAME}:{ITEM.VALUE}恢复  ID:{EVENT.ID}操作细节:-》操作类型:发送消息发送到用户:Admin (Zabbix Administrator) 仅送到:Mail-Test  //一定要配置否则邮件发送不成功systemctl restart zabbix-serversystemctl restart zabbix-agent.service------以下是测试报警-----可以在被控主机上模拟相关参数超过阈值,如磁盘空间。然后验证邮件收发。systemctl stop zabbix-agent.service //在被监控主机上关闭 测试报警邮件接收

以上就是zabbix监控的部署教程介绍,详细使用情况还得要大家自己使用过才能知道具体要领。如果想阅读更多相关内容的文章,欢迎关注行业资讯频道!

0