security基础:部署zabbix监控平台配置及使用zabbix监控系统自定义zabbix监控项目实现zabbix报警功能

百川汇海 百川汇海     2022-10-15     427

关键词:

一、部署Zabbix监控平台

目标:

本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备:

    在监控服务器上安装LAMP环境
    修改PHP配置文件,满足Zabbix需求
    源码安装Zabbix
    修改Zabbix基本配置
    初始化Zabbix监控Web页面
方案:

使用1台RHEL7虚拟机,安装部署LAMP环境、Zabbix及相关的依赖包,配置数据库并对Zabbix监控平台进行初始化操作。被监控端源码安装Zabbix Agent。

步骤:

步骤一:部署监控服务器

1)安装LAMP环境

Zabbix监控管理控制台需要通过Web页面展示出来,并且还需要使用MySQL来存储数据,因此需要先为Zabbix准备基础LAMP环境。

    [root@zabbixserver ~]# yum -y install gcc gcc-c++ autoconf httpd \
    >php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl \
    >mod_auth_mysql php-gd php-xml php-ldap php-pear php-xmlrpc \
    >mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel crul-devel
    [root@zabbixserver ~]# rpm -vih php-bcmath-5.3.3-22.el6.x86_64.rpm
    [root@zabbixserver ~]# rpm -vih php-mbstring-5.3.3-22.el6.x86_64.rpm

2)修改PHP配置文件

通过修改php.ini配置文件设置时区、内存限制等来满足Zabbix运行的需要。

    [root@zabbixserver ~]# vim /etc/php.ini
    date.timezone = Asia/Shanghai        //设置时区
    max_execution_time = 300            //最大执行时间,秒
    post_max_size = 32M                //POST数据最大容量
    max_input_time = 300                //服务器接收数据的时间限制
    memory_limit = 128M                //PHP内存占用的容量限制
    mbstring.func_overload = 2

3)源码安装Zabbix

源码安装时,因为是监控服务器,所以使用--enable-server;因为需要使用Zabbix监控本机,所以使用--enable-agent作为被监控主机。

    [root@zabbixserver ~]# useradd  -u 201 zabbix                    //创建普通账户
    [root@zabbixserver ~]# ls
    frontend.po
    php-bcmath-5.3.3-22.el6.x86_64.rpm
    php-mbstring-5.3.3-22.el6.x86_64.rpm
    zabbix-2.2.1.tar.gz
    [root@zabbixserver ~]# tar  zabbix-2.2.1.tar.gz -C /usr/src
    [root@zabbixserver ~]# cd /usr/src/zabbix-2.2.1/
    [root@zabbixserver zabbix-2.2.1]# ./configure \                    //编译Zabbix
    >--prefix=/usr/local/zabbix --enable-server --enable-proxy \
    >--enable-agent --with-mysql=/usr/bin/mysql_config \
    > --with-net-snmp --with-libcurl
    [root@zabbixserver zabbix-2.2.1]# make && make install

4)创建数据库并导入数据

Zabbix会将获取的监控数据存储在数据库中,可以使用MySQL或Oracle数据库存储,本案例中我们选择MySQL数据库存储监控数据。

    [root@zabbixserver ~]# mysql
    mysql> create database zabbix character set utf8;
    mysql> grant all on zabbix.* to zabbix@localhost identified by ‘zabbix’;
    [root@zabbixserver ~]# cd /usr/src/zabbix.2.2.1/database/mysql
    [root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
    [root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
    [root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < data.sql

5)创建连接并将Zabbix加入系统服务

Zabbix安装路径为/usr/local/zabbix,为了更方便进行操作,需要创建相关链接文件。复制软件包中提供的启动脚本到/etc/init.d目录,适当修改脚本内容,即可实现开机启动服务。

    [root@zabbixserver ~]# mkdir /var/log/zabbix
    [root@zabbixserver ~]# chown zabbix.zabbix /var/log/zabbix
    [root@zabbixserver ~]# ln -s /usr/local/zabbix/etc  /etc/zabbix
    [root@zabbixserver ~]# ln -s /usr/local/zabbix/bin/* /usr/bin/
    [root@zabbixserver ~]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/
    [root@zabbixserver ~]# cd /usr/src/zabbix-2.2.1/misc/init.d/fedora/core
    [root@zabbixserver core]# cp zabbix_* /etc/init.d/            //复制启动脚本
    [root@zabbixserver core]# vim /etc/init.d/zabbix_server        //修改启动脚本
    BASEDIR=/usr/local/zabbix
    [root@zabbixserver core]# vim /etc/init.d/zabbix_agentd        //修改启动脚本
    BASEDIR=/usr/local/zabbix
    [root@zabbixserver ~]# vim  /etc/services                    //修改服务端口信息
    zabbix-agent    10050/tcp        #Zabbix Agent
    zabbix-agent    10050/udp        #Zabbix Agent
    zabbix-server    10051/tcp        #Zabbix Trapper
    zabbix-server    10051/udp        #Zabbix Trapper

6)修改Zabbix配置文件

本机作为监控服务器同时作为被监控端,需要同时修改zabbix_server.conf和zabbix_agentd.conf文件。

    [root@zabbixserver ~]# vim /etc/zabbix/zabbix_server.conf
    DBName=zabbix                                    //设置数据库名称
    DBUser=zabbix                                    //设置数据库账户
    DBPassword=zabbix                                //设置数据库密码
    LogFile=/var/log/zabbix/zabbix_server.log        //设置日志
    [root@zabbixserver ~]# vim /etc/zabbix/zabbix_agentd.conf
    Server=127.0.0.1,192.168.194.10                //设置监控服务器IP
    ServerActive=192.168.194.10:10051                //主动监控服务器IP
    Hostname=zabbixserver.tarena.com                //设置主机名
    LogFile=/var/log/zabbix/zabbix_server.log        //设置日志
    UnsafeUserParemeters=1                        //是否允许自定义key

7)复制Web页面,启动Zabbix服务

    [root@zabbixserver ~]# cd  /usr/src/zabblix-2.2.1
    [root@zabbixserver zabbix-2.2.1]# cp -r  frontends/php  /var/www/html/zabbix
    [root@zabbixserver ~]# chwon -R apache.apache /var/www/html/zabbix
    [root@zabbixserver ~]# service zabbix_server start
    Starting zabbix_server                    [OK]
    [root@zabbixserver ~]# chkconfig zabbix_server on
    [root@zabbixserver ~]# service zabbix_agentd start
    Starting zabbix_agentd                [OK]
    [root@zabbixserver ~]# chkcofig zabbix_agentd on

8)登录Web管理页面,初始化管理平台

首次使用Zabbix管理平台,需要进行简单的初始化操作,主要是MySQL数据库设置,如下图所示,Web管理页面默认初始账户admin,密码为zabbix。

          

步骤二:部署被监控主机

1)源码安装Zabbix Agent

被监控端主机安装Zabbix仅需要开启Agent模式即可,不需要使用Zabbix服务器模式。

    [root@zabbixclient ~]# useradd -u 201 zabbix                    //创建账户
    [root@zabbixclient ~]# yum -y install gcc gcc-c++
    [root@zabbixclient ~]# tar  zabbix-2.2.1.tar.gz -C /usr/src        //解压
    [root@zabbixserver ~]# cd /usr/src/zabbix-2.2.1/
    [root@zabbixserver zabbix-2.2.1]# ./configure \                    //参数配置
    >--prefix=/usr/local/zabbix --enable-agent
    [root@zabbixserver zabbix-2.2.1]# make && make install

2)创建目录及链接文件

    [root@zabbixclient ~]# mkdir /var/log/zabbix
    [root@zabbixclient ~]# chown zabbix.zabbix /var/log/zabbix/
    [root@zabbixclient ~]# cd /usr/src/zabbix-2.2.1/misc/init.d/fedora/core/
    [root@zabbixclient core]# zabbix_agentd /etc/init.d/
    [root@zabbixclient ~]# chmod 755 /etc/init.d/zabbix_agentd
    [root@zabbixclient ~]# ln -s /usr/local/zabbix/etc  /etc/zabbix
    [root@zabbixclient ~]# ln -s /usr/local/zabbix/bin/* /usr/bin/
    [root@zabbixclient ~]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/
    [root@zabbixclient ~]# tail -4 /etc/services
    zabbix-agent    10050/tcp        # Zabbix Agent
    zabbix-agent    10050/udp        # Zabbix Agent
    zabbix-trapper    10051/tcp        # Zabbix Trapper
    zabbix-trapper    10051/udp        # Zabbix Trapper

3)修改配置文件,启动Agent

    [root@zabbixclient ~]# cd /etc/zabbix/
    [root@zabbixclient ~]# vim zabbix_agentd.conf
    [root@zabbixclient ~]# grep -Ev '^$|^#' zabbix_agentd.conf
    LogFile=/var/log/zabbix/zabbix_agentd.log
    Server=127.0.0.1,192.168.194.10                //监控服务器IP
    ServerActive=192.168.194.10:10051                //主动监控服务器IP
    Hostname=zabbixclient
    UnsafeUserParameters=1                        //是否允许自定义key
    [root@zabbixclient ~]# chkconfig zabbix_agentd on
    [root@zabbixclient ~]# vim /etc/init.d/zabbix_agentd
    BASEDIR=/usr/local/zabbix
    [root@zabbixclient ~]# service zabbix_agentd start

二、配置及使用Zabbix监控系统

目标:

沿用练习一,使用Zabbix监控平台监控Linux服务器,实现以下目标:

  1.     监控CPU
  2.     监控内存
  3.     监控进程
  4.     监控网络流量
  5.     监控硬盘

方案:

通过Zabbix监控平台,添加被监控主机并链接监控模板即可。

步骤:

实现此案例需要按照如下步骤进行。

步骤一:添加监控主机

使用火狐浏览器登录http://192.168.194.10/zabbix,通过Configuration(动态)-->Hosts(主机)-->Create Host(创建主机)添加被监控Linux主机,如下图所示。

        

添加被监控主机时,需要根据提示输入被监控Linux主机的主机名称、IP地址等参数,具体参考下图。

        

步骤二:为被监控主机添加监控模板

Zabbix通过监控模板来对监控对象实施具体的监控功能,根据模板来定义需要监控哪些数据,对于Linux服务器的监控,Zabbix已经内置了相关的模板(Template OS Linux),选择模板并链接到主机即可,如下图所示。

       

步骤三:查看监控数据

查看监控数据及图形,登录Zabbix Web控制台,点击监控中,在监控组和监控主机中选择需要查看数据的监控主机,并在图形后面选择需要查看哪些监控数据,如下图所示。

       

三、自定义Zabbix监控项目

目标:

沿用练习二,使用Zabbix实现自定义监控,实现以下目标:监控Linux服务器系统账户的数量。

方案:

需要使用Zabbix自定义key的方式实现自定义监控,参考如下操作步骤:

  1.     创建自定义key
  2.     创建监控项目
  3.     创建监控图形
  4.     将监控模板关联到主机

步骤:

步骤一:被监控主机创建自定义key

1)创建自定义key

自定义key语法格式为:UserParameter=自定义key名称,命令。

自定义的key文件一般存储在//etc/zabbix/zabbix_agentd.conf.d/目录,这里还需要修改zabbix_agentd.conf文件,来读取该目录下的所有文件 。

     [root@zabbixclient ~]# vim /etc/zabbix/zabbix_agentd.conf
    Include=/etc/zabbix/zabbix_agentd.conf.d/        //加载配置文件目录
    [root@zabbixclient ~]# cd /etc/zabbix/zabbix_agentd.conf.d
    [root@zabbixclient zabbix_agentd.conf.d]# vim count.line.passwd
    UserParameter=count.line.passwd,wc -l /etc/passwd | awk ' {print $1} '

2)测试自定义key是否正常工作

    [root@zabbixclient ~]# service zabbix_agentd restart
    [root@zabbixclient ~]# zabbix_get -s 127.0.0.1 -k count.line.passwd
    34

步骤二:设置Zabbix监控控制台

1)添加模板

登录Zabbix Web监控控制台,通过Configuration-->Template-->Create template创建模板,如下图所示。

      

为创建的模板设置模板名称及组名称,如下图所示。

      

2)创建应用

创建完成模板后,默认模板中没有任何应用、项目、触发器、图形等资源。这里需要点击模板后面的Application链接打开创建应用的页面,如下图所示。

      

点击Application后,会刷新出下图所示页面,在该页面中点击Create application按钮创建应用。

      

设置应用名称如下图所示。

      

3)创建项目

与创建应用一样,在模板中还需要创建监控项目,如图-11所示,并在刷新出的新页面中选择Create items创建项目,如下图所示。

      

      

接下来,还需要给项目设置名称及对应的自定义key,如下图所示。

      

最后激活该监控项目,如图下所示。

      

4)创建图形

为了后期可以通过图形的方式展示监控数据,还需要在模板中创建图形,设置方法与前面的步骤一致,如下图所示。

     

创建图形后,还需要为图形设置名称及选择对应的监控项目,选择为哪个项目绘制图形,如下图所示。

     

5)将模板链接到被监控主机

将完整的监控模板制作完成后,就可以将模板链接到主机实现监控功能了。首先找到被监控主机,如下图所示。

     

点击被监控主机链接,打开监控主机设置页面,在Template(模板)页面中选择需要链接到该主机的模板,在此选择刚刚创建的模板count_line.passwd添加即可,如下图所示。

     

四、实现Zabbix报警功能

目标:

沿用练习三,使用Zabbix实现报警功能,实现以下目标:

  1.     监控Linux服务器系统账户
  2.     当系统账户数量超过35人时发送报警邮件

方案:

需要设置Zabbix触发器,定义触发条件及触发后执行什么动作。除此之外还需要提前设置好SMTP服务器及报警信息收件人邮箱信息。参考如下操作步骤:

   1 创建Media
   2 创建Action
   3 创建触发器并设置条件
步骤:

步骤一:设置邮件信息及触发动作

1)创建Media

设置邮件信息需要针对账户设置,通过Administration-->Users找到Admin账户,点击该账户的链接,如下图所示。

        

在刷新出来的页面中选择Media菜单,通过Add按钮创建新的Media,如下图所示。

       

创建Media时需要设置Media的类型,如果选择Email类型,则在Send to后填写接收报警邮件的收件人邮箱,如下图所示。

      

Media创建完成后,继续设置该Media设置SMTP邮件服务器信息,如下图所示。

       

2)创建Action(动作)

设置完邮件信息后,还需要设置触发行为,创建动作:当触发条件满足时发送报警邮件。

通过Configuration-->Actions-->Create action创建动作,如下图所示。

     

创建动作后,为发送邮件报警的行为设置报警邮件的标题、内容等信息,如下图所示。

     

设置动作的触发条件,如下图所示。

      

步骤二:创建触发器

1)创建触发器

创建触发器可以通过Configuration-->Templates找到之前创建的模板,点击模板后面的Triggers来创建触发器,如下图所示。

      

设置触发器名称为passwd_line_gt_35,如下图所示。

       

2)配置触发器

设置触发器规则,监控项目选择之前创建的项目:count_line_passwd_item,触发器条件是账户数量大于N是触发动作,N的值设置为35,如下图所示。

       

触发器规则设置完成后,激活该触发器即可,如下图所示。

        

3)测试效果

在被监控主机创建账户,登录监控Web页面查看,如图下所示。

        

在监控服务器查收报警邮件,如下图所示。

        

基于rhel7.2的zabbix平台搭建和部署

基于rhel7.2的Zabbix平台搭建和部署(四)一、实现zabbix添加监测项,添加对Linux主机的监控、说明:先在“配置”-“主机”里添加主机监控,监控os资源:内存,cpu,io,负载,带宽等.(1)登录zabbix,先在“配置”-“主机”里单... 查看详情

zabbix实战之部署篇zabbix监控windows系统配置方法

【Zabbix实战之部署篇】Zabbix监控windows系统配置方法一、检查Zabbix监控平台状态1.检查Zabbix各组件状态2.检查Zabbix的首页二、下载windows代理1.访问Zabbix官网下载界面2.查看下载安装包三、安装windowsagent2代理1.安装windowsagent2代理2.代... 查看详情

zabbix实战之部署篇使用docker部署zabbix6.2.7监控平台

【Zabbix实战之部署篇】使用Docker部署Zabbix6.2.7监控平台一、Zabbix介绍1.Zabbix简介2.Zabbix指标采集方法3.Zabbix特点4.Zabbix功能5.Zabbix架构图二、环境部署规划1.系统版本2.zabbix各组件版本三、本地环境检查1.检查系统版本2.检查docker版本3... 查看详情

基于rhel7.2的zabbix平台搭建和部署

基于rhel7.2的Zabbix平台搭建和部署(五)zabbix3.2.1邮件报警设置说明:zabbix监控服务端、客户端都已经部署完成,被监控主机已经添加,zabiix监控运行正常。在zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时... 查看详情

四配置及使用zabbix监控系统

...磁盘等项目。步骤:1)添加监控主机主机是Zabbix监控的基础,Za 查看详情

saltstack一键部署zabbix监控平台(代码片段)

一、案例简介使用Saltstack部署zabbix,主要包括zabbix-server、zabbix-agent、zabbix-web以及mysql。其中,zabbix的版本使用4.4,使用本地自己搭建的zabbix仓库,加快部署效率。两台虚拟机作为示例,分别是server2和server3。... 查看详情

saltstack一键部署zabbix监控平台(代码片段)

一、案例简介使用Saltstack部署zabbix,主要包括zabbix-server、zabbix-agent、zabbix-web以及mysql。其中,zabbix的版本使用4.4,使用本地自己搭建的zabbix仓库,加快部署效率。两台虚拟机作为示例,分别是server2和server3。... 查看详情

cmdb机柜平台结合zabbix告警展示

龙果运维平台部署教程把zabbix图形整合至运维平台摘要篇:zabbix安装篇基于saltstack自动化部署zabbix-client端实践基于zabbix内置key的应用zabbix实战--zabbixtrigger表达式Zabbix实战--Zabbix基于邮件告警配置zabbix实战--Php-fpm监控详解zabbix实战... 查看详情

zabbix实战之部署篇zabbix使用snmp监控linux系统

【Zabbix实战之部署篇】Zabbix使用SNMP监控Linux系统一、SNMP协议介绍1.SNMP协议简介2.SNMP协议特点二、实践环境介绍三、检查Zabbix监控平台环境1.检查Zabbix相关组件容器状态2.检查Zabbix的首页四、被控端安装SNMP监控工具1.检查被控端服... 查看详情

企业——给zabbix部署onealert云告警平台

一.什么是onealert云警告平台?  当我们部署好zabbix监控,为监控主机添加各种监控项完毕之后,如果一个主机出了问题,我们又怎么能在第一时间获得报警信息,然后及时处理问题呢?  onealter云告警,是一种很不错的选择&... 查看详情

.zabbix监控-系统基础监控配置

待补充 查看详情

zabbix实战之运维篇zabbix监控平台的邮件报警配置

【Zabbix实战之运维篇】Zabbix监控平台的邮件报警配置一、检查Zabbix监控平台状态1.检查Zabbix各组件容器状态2.检查Zabbix-server状态二、Zabbix的媒介管理配置1.进入媒介管理界面2.创建媒介类型3.媒介类型配置4.消息类型配置三、测试... 查看详情

06:zabbix基础zabbix监控实战zabbix报警机制

部署搭建Zabbix监控服务器192.168.4.56部署Zabbix监控服务运行环境LAMP安装Zabbix软件2.1安装准备]#rpm-qgccgcc-c++]#useraddzabbix2.2安装软件包]#tar-zxfzabbix-3.2.3.tar.gz]#cdzabbix-3.2.3/]#./configure--prefix=/usr/local/zabbix--enable-ser 查看详情

zabbix监控安装部署文档

...服务器和Zabbix客户端,监控客户端服务器的硬件状态 基础知识zabbix(音同zbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运... 查看详情

saltstack一键部署zabbix监控平台(代码片段)

一、案例简介使用Saltstack部署zabbix,主要包括zabbix-server、zabbix-agent、zabbix-web以及mysql。其中,zabbix的版本使用4.4,使用本地自己搭建的zabbix仓库,加快部署效率。两台虚拟机作为示例,分别是server2和server3。... 查看详情

zabbix监控搭建(代码片段)

...的告警实时图形Web监控功能三、zabbix搭建1、安装nginx2、部署mariadb3、部署PHP4、测试连接数据库5、部署zabbixserver6、配置代理端zabbix(192.168.110.20)7、配置告警自动发布邮件8、Web页面配置监控机制一、zabbix概述Zabbix是 查看详情

zabbix监控搭建(代码片段)

...的告警实时图形Web监控功能三、zabbix搭建1、安装nginx2、部署mariadb3、部署PHP4、测试连接数据库5、部署zabbixserver6、配置代理端zabbix(192.168.110.20)7、配置告警自动发布邮件8、Web页面配置监控机制一、zabbix概述Zabbix是 查看详情

zabbix监控介绍&配置zabbix架构(代码片段)

...agios、zabbix、smokeping、open-falcon等等。cacti、smokeping偏向于基础监控,成图非常漂亮。cacti、nagios、zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,这几款监控软件均有web操作界面。nagios不用存储... 查看详情