千家信息网

zabbix简介及部署

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,一、zabbix简介zabbix是一款企业级的监控解决方案,它可以通过SNMP、zabbix专用agent、简单的系统管理及网络工具来监控对象,收集信息,并将收集到的信息存储在数据库中,通过即时绘制来
千家信息网最后更新 2025年02月02日zabbix简介及部署

一、zabbix简介

zabbix是一款企业级的监控解决方案,它可以通过SNMP、zabbix专用agent、简单的系统管理及网络工具来监控对象,收集信息,并将收集到的信息存储在数据库中,通过即时绘制来进行数据展示,并根据阈值,超出及报警,并具有联动处理的功能,即利用脚本进行服务重启等操作。在众多监控工具中,zabbix是有专用的agent端监控工具,在windowns,linux等众多操作系统,都有其专用的agent端。在网络设备,如路由器,交换机中,zabbix使用SNMP协议或SSH协议来实现监控功能。zabbix支持的数据存储有mysql和pgsql数据库。综上所述,zabbix可谓是功能众多,在应用领域,zabbix自1.8版本后,广为流传。

自动化监控架构图如下:

(引自马哥文档)

zabbix可监控的对象:

设备/软件
设备:服务器,路由器,交换机,IO系统
软件:OS,网络,应用程序
意外状况:
主机down机,服务不可用,主机不可达
严重事件故障:
磁盘满了,数据节点down掉了
主机性能指标:

CPU,内存使用情况

趋势:时间序列数据(一般用于数据展示阶段)

zabbix包含的组件:

zabbix-server
zabbix-agent
zabbix-web:GUI,用户实现zabbix设定和展示
zabbix-proxy:分布式监控环境中的专用组件

zabbix-database:MYSQL,PGSQL(postgreSQL),Oracle,DB2,SQLite

zabbix的常用术语:
主机(host):要监控的网络设备,可由IP或DNS名称指定
主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组内的主机和模板不能互相链接,主机组通常在给用户或用户组指派监控权限时使用
监控项(item);一个特定监控指标的相关的数据,这些数据来自于被监控对象,item是zabbix进行数据收集的核心,没有item,将没有数据,相对某监控对象来说,每个item都由"key"进行标识
触发器(trigger):一个表达式,用于评估某监控对象的某特定item内所接收到的数据是否在合理范围内,即阈值;接收到的数据量大于阈值时,触发器状态将从"ok"转变为"problem",当数据量再次回归到合理范围时,其状态将从"problem"转换回"ok";
事件(event):即发生的一个值得关注的事情,例如触发器的状态转变,新的agent或重新上线的agent的自动注册等
动作(action):指对于特定事件事先定义的处理方法,通过包含操作(如发送通知)和条件(何时执行操作)
报警升级(escclction):发送警报或执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等
媒介(media):发送通知的手段或通道,如Email、Jabber或SMS等
通知(notification):通过选定的媒介向用户发送的有关某事件的信息
远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行
模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule(较低级别的发现规则);模板可以直接链接至单个主机
应用(application):一组item的集合
web场景(web scennario):用于检测web站点可用性的一个或多个HTTP请求
前端(frontend):zabbix的web接口

zabbix工作流程:


定义HostGroups之后定义Host,Host可以直接使用Template,Template中包含Graphs(展示),Triggers(报警),items(监控项);Host还可以先定义items,再在items上定义Triggers,Triggers其实是定义阈值,而当被监控数值超过了阈值,即触发Events(事件),由Events激活Actions(动作),由Action来执行脚本重启服务或其他报警操作,报警操作有邮件,电话等。maintenance定义了在业务上线,软硬件维护等时期,不产生报警;而items通过agent,snmp,internal,ipmi等方式收集信息。HostGroups的分组可以基于主机类型,地理位置,业务等方式。

zabbix服务器端主要进程:
watchdog:监控server端所有进程
poller:收取agent端数据
httppoller:http专用的poller
discoverer:自动发现agent,并加入监控
alerter:报警
housekeeper:内部管理
pinger:通过ping操作探测主机是否在线
escalator:报警升级
timer:计时器
nodewatcher:监控节点
db_data_syncer:数据库数据同步器
db_config_syncer:数据库配置同步器

zabbix的介绍完毕,下面咱们来部署zabbix。


二、zabbix部署

在安装zabbix之前,提前部署好LAMP或者LNMP。

部署LAMP详见 ---> 编译部署LAMP

zabbix可以在官网中获取,地址:http://www.zabbix.com/download

zabbix官网为我们提供了三种安装方式:

(1)源码编译安装

# tar -zxvf zabbix-3.2.1.tar.gz        同时安装server和agent,并支持将数据放入mysql数据中,可使用类似如下配置命令:./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh3        如果仅安装server,并支持将数据放入mysql数据中,可使用类似如下配置命令:./configure --enable-server --with-mysql --with-net-snmp --with-libcurl        如果仅安装proxy,并支持将数据放入mysql数据中,可使用类似如下配置命令:./configure --prefix=/usr --enable-proxy --with-net-snmp --with-mysql --with-ssh3        如果仅安装agent,可使用类似如下配置命令:./configure --enable-agent                而后编译安装zabbix即可:# make# make install

(2)配置yum源安装

[root@jymlinux ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpmRetrieving http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpmwarning: /var/tmp/rpm-tmp.QBkmAF: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEYPreparing...                ########################################### [100%]1:zabbix-release         ########################################### [100%]
[root@jymlinux ~]# yum clean all已加载插件:fastestmirror, langpacks正在清理软件源: base extras updates zabbix zabbix-non-supportedCleaning up everythingCleaning up list of fastest mirrors[root@jymlinux ~]# yum makecache

(3)rpm包下载安装


2.配置zabbix-database,以mysql为例,可使用mysql和pgsql

MariaDB [(none)]> create database zabbix character set utf8;MariaDB [(none)]> grant all on zabbix.* to 'zbxuser'@'localhost' identified by 'zbxpass';MariaDB [(none)]> grant all on zabbix.* to 'zbxuser'@'192.168.%.%' identified by 'zbxpass';MariaDB [(none)]> flush privileges;#连接测试[root@jymlinux ~]# mysql -uzbxuser -hlocalhost -pEnter password: Welcome to the MariaDB monitor.  Commands end with ; or \g.Your MariaDB connection id is 4Server version: 5.5.50-MariaDB MariaDB ServerCopyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> \qBye


3.安装zabbix

[root@jymlinux ~]# yum install zabbix zabbix-agent zabbix-get zabbix-sender zabbix-server zabbix-server-mysql zabbix-web zabbix-web-mysql在httpd中生成zabbix-web的配置文件[root@jymlinux ~]# cd /etc/zabbix/[root@jymlinux zabbix]# lsweb  zabbix_agentd.conf  zabbix_agentd.d  zabbix_server.conf[root@jymlinux zabbix]# service httpd startStarting httpd: [root@jymlinux zabbix]# ls /etc/httpd/conf.dphp.conf  README  welcome.conf  zabbix.conf               #有了zabbix.conf这个文件 将zabbix导入数据库[root@jymlinux zabbix]# cd /usr/share/doc/zabbix-server-mysql-2.4.8/[root@jymlinux zabbix-server-mysql-2.4.8]# cd create/[root@jymlinux create]# mysql zabbix < schema.sql      #注意导入顺序[root@jymlinux create]# mysql zabbix < p_w_picpaths.sql [root@jymlinux create]# mysql zabbix < data.sql #如果仅为proxy创建数据库,只导入schema.sql即可



4.配置zabbix-server

[root@jymlinux ~]# vim /etc/zabbix/zabbix_server.conf### Option: DBHost#       Database host name.#       If set to localhost, socket is used for MySQL.#       If set to empty string, socket is used for PostgreSQL.## Mandatory: no# Default:# DBHost=localhostDBHost=192.168.3.8                                   #填写连接的数据库服务器,默认是本机### Option: DBUser#       Database user. Ignored for SQLite.## Mandatory: no# Default:# DBUser=DBUser=zabbix### Option: DBPassword#       Database password. Ignored for SQLite.#       Comment this line if no password is used.## Mandatory: no# Default:# DBUser=DBUser=zbxuser                                       #填写数据库用户名### Option: DBPassword#       Database password. Ignored for SQLite.#       Comment this line if no password is used.## Mandatory: no# Default:# DBPassword=DBPassword=zbxpass                                   #填写数据库密码其余常用修改选项ListenIP=localhost #数据库ip地址AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix运行脚本存放目录



5.修改PHP时区

[root@jymlinux zabbix]# vim /etc/php.ini date.timezone = 'Asia/Chongqing'              #修改时区为重庆


到此,zabbix配置完毕,之后可以使用gui界面来定义对象等监控操作了



如有错误,敬请指正。


数据 监控 主机 数据库 配置 报警 命令 对象 服务 事件 用户 阈值 专用 信息 模板 网络 设备 支持 功能 工具 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 gta5 无法更新服务器 数据库柜与数据管理系统的关系 弱实体转关系数据库模式 软件开发和软件测试哪个更累 谁家的网络安全教程比较好 服务器管理网口设置 二表软件开发专业的好学校 网络安全员报警后多久能查到 信息网络安全不足 知网数据库叫什么 互联网属于科技领域吗 北京市扶持互联网科技 广西安全接入服务器地址 华为手机的网络安全密匙在哪 深度学习服务器需求 当代大学生对网络安全 地瓜网络技术斗鱼直播下载器 脸萌软件开发 供不应求的网络技术 成都亿旗网络技术有限公司 网络速度最快的dns服务器 数据库系统和文件系统的主要区别 xboxdns服务器推荐 软件开发时点统计什么意思 网络安全小作文30字 广东念响新媒互联网科技有限公司 网络安全铁路安全心得体会 下载奈飞后显示无法连接服务器 多级数据库是什么意思 基金网络安全可以买吗
0