zabbix监控及配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jsut_rick/article/details/86597033

Zabbix基础

基本概念

Zabbix简介:Zabbix是一个高度集成的监控解决方案,可以实现企业级的开源分布式监控,Zabbix通过C/S模式采集监控数据,通过B/S模式实现Web管理

Zabbix监控拓扑:

监控服务器:可以通过SNMP或Agent采集数据,数据可以写入MySQL、Oracle等数据库中,服务器使用LAMP实现web前端的管理;

被监控主机:需要安装Agent,常见的网络设备一般支持SNMP

Zabbix功能:

1)具备常见的商业监控软件所具备的功能:主机性能监控、网络设备监控、数据库监控等,多种报警机制

2)支持自动发现网络设备和服务器,可以通过配置自动发现服务器规则来实现

3)支持分布式,能集中展示,管理分布式的监控点

4)编写插件容易,可以自定义监控项

5)具有实时绘图功能

 

搭建Zabbix监控服务器(192.168.4.11)

环境准备:关闭防火墙、设置selinux、安装gcc、gcc-c++编译环境

 

前期准备

1、监控服务器Zabbixserver:

Ip:192.168.194.11/24

Hostname: zabbixserver.tarena.com

关闭防火墙、关闭selinux、关闭NetworkManager

在/etc/hosts中添加相关的主机条目

2、监控客户端Zabbixclient

IP: 192.168.194.10/24

Hostname: zabbixclient.tarena.com

关闭防火墙、关闭selinux、关闭NetworkManager

修改/etc/hosts文件,添加相关的主机条目

 

1 部署Zabbix运行环境(LAMP平台)

1)准备运行环境LAMP,装httpd、php、mariadb-server、mariadb、php-mysql包

[root@zabbix ~]# yum -y install  httpd  php  mariadb-server  mariadb  php-mysql

2)起httpd和mariadb服务,并设为开机自启动

[root@zabbix ~]# systemctl  start  httpd mariadb

[root@zabbix ~]# systemctl  enable httpd  mariadb

[root@zabbix ~]# netstat  -antpul  |  grep  :3306

  1. 设置数据库管理员本机登录的密码

[root@zabbix ~]# mysqladmin -hlocalhost -uroot password “密码”

2 创建存储配置信息的库和授权连接数据库服务器的用户

[root@zabbix ~]# useradd zabbix

[root@zabbix ~]# mysql -uroot -p123456

mysql>create database zabbixdb character set utf8;

mysql>grant all on zabbixdb.* to yaya2@'localhost' identified by '123456';

3

 

 

4 在本机测试授权用户

[root@zabbix ~]# mysql -hlocalhost -uyaya2 -p123456

>show grants;

>quit;

5 测试php能否连接数据库服务器

[root@zabbix ~]# vim /var/www/html/linkdb.php

<?php    $db=mysql_connect("localhost","yaya2","123456");

     if($db){echo "link ok";}else{ echo "link error";};  ?>

[root@zabbix ~]# firefox  http://192.168.4.11/linkdb.php

第三步:安装提供zabbix监控服务软件包

zabbix_server运行在监控服务器上的监控服务

zabbix_agentd运行在客户端的监控服务

[root@zabbix ~]# yum -y install gcc   gcc-c++

[root@zabbix ~]# tar  -zxvf  zabbix-3.2.3.tar.gz      //解包

[root@zabbix ~]# cd  zabbix-3.2.3                     //进源码目录

[root@zabbix zabbix-3.2.3]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql                           //配置

[root@zabbix zabbix-3.2.3]# make install              //安装

[root@zabbix zabbix-3.2.3]# ls /usr/local/zabbix      //查看安装文件列表

bin   可执行命令

etc   配置文件

lib    库文件

sbin   启动服务时调用的程序文件

share 帮助文件

 

2)拷贝网页php文件到网页目录/var/www/html/下,并改名为zabbix,并赋权限

[root@zabbix zabbix-3.2.3]# ls frontends/php/

[root@zabbix zabbix-3.2.3]# cp -r frontends/php/ /var/www/html/zabbix

[root@zabbix zabbix-3.2.3]# ls /var/www/html/index.*

[root@zabbix zabbix-3.2.3]# chown -R apache:apache /var/www/html/zabbix/

 

chmod  o+w  /var/www/html/zabbix/conf(为了能够正确生成配置文件zabbix.conf.php)

 

 

第四步:将存储配置信息的表导入存储配置信息数据库zabbixdb

[root@zabbix zabbix-3.2.3]# cd database/mysql/

[root@zabbix mysql]# mysql -uyaya2 -p123456 zabbixdb < schema.sql

[root@zabbix mysql]# mysql -uyaya2 -p123456 zabbixdb < images.sql

[root@zabbix mysql]# mysql -uyaya2 -p123456 zabbixdb < data.sql

[root@zabbix mysql]# mysql -uyaya2 -p123456 zabbixdb

MariaDB [zabbixdb]> show tables;

MariaDB [zabbixdb]> quit

 

访问管理页面

[root@zabbix mysql]# firefox http://192.168.4.11/zabbix/

//可看到配置项有失败的

  1. 改配置文件/etc/php.ini

[root@zabbix mysql]# vim /etc/php.ini

 384行 max_execution_time = 300   //最大执行时间(秒)30改为300

 394行 max_input_time = 300        //服务器接收数据的时间限制60改为300

 405 memory_limit = 128M            //PHP内存占用的容量限制

 672行 post_max_size = 16M         //POST数据最大容量8改为16

 878 date.timezone =Asia/Shanghai   //设置时区

1704 ;mbstring.func_overload = 0

 

安装依赖包,调整php进程运行信息和装服务运行依赖的软件包

[root@zabbix zabbix]# rpm -ivh --nodeps php-bcmath-5.4.45-13.el7.remi.x86_64.rpm

[root@zabbix zabbix]# rpm -ivh --nodeps php-mbstring-5.4.45-13.el7.remi.x86_64.rpm

[root@zabbix zabbix]# yum  -y  install  php-gd  php-xml

重启httpd服务

[root@zabbix zabbix]# systemctl  restart  httpd

访问管理页面做初始化配置http://192.168.4.11/zabbix/

使用初始密码登录管理页面——用户名admin,密码zabbix

# ls /var/www/html/zabbix/conf/zabbix.conf.php     //存放初始化配置信息文件

 

创建目录及连接

[root@zabbix zabbix]# mkdir /var/log/zabbix

[root@zabbix zabbix]# chown zabbix.zabbix /var/log/zabbix

[root@zabbix zabbix]# ln -s /usr/local/zabbix/etc/ /etc/zabbix

[root@zabbix zabbix]# ln -s /usr/local/zabbix/bin/* /usr/bin/

[root@zabbix zabbix]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/

 

运行监控服务——将zabbix加入系统服务

创建启动脚本

[root@zabbix zabbix]# cd /root/zabbix/zabbix-3.2.3/misc/init.d/fedora/core

[root@zabbix core]# cp zabbix_* /etc/init.d/

[root@zabbix core]# chmod +x /etc/init.d/zabbix_server

修改启动脚本,指定启动程序所在的目录

 

[root@zabbix core]# vim /etc/init.d/zabbix_server

 22     BASEDIR=/usr/local/zabbix

或使用[root@zabbix ~]# sed -i "22s;/usr/local;&/zabbix;"  /etc/init.d/zabbix_server

[root@zabbix core]# vim /etc/init.d/zabbix_agentd

 22      BASEDIR=/usr/local/zabbix

修改服务的主配置文件(根据初始化设置使用的库)

vim /usr/local/zabbix/etc/zabbix_server.conf

38 LogFile=/tmp/zabbix_server.log

87行  DBName=zabbixdb      

103行 DBUser=yaya2     

111行 DBPassword=123456

 

[root@zabbix zabbix-3.2.3]# /etc/init.d/zabbix_server start

[root@zabbix zabbix-3.2.3]# grep zabbix /etc/passwd

zabbix:x:1004:1005::/home/zabbix:/bin/bash

[root@zabbix zabbix-3.2.3]# netstat -pantul |grep :10051

[root@zabbix zabbix-3.2.3]# echo "/etc/init.d/zabbix_server start" >> /etc/rc.local

//设置开机自启

 

查看监控模板,已监控主机,以及查看监控信息

a 修改管理员登录密码

b 修改使用的语言

c 查看已监控的主机

d 查看监控模版

e 查看监控信息

 

 

 

案例1:部署Zabbix监控平台

1.1 问题

 

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

在监控服务器上安装LAMP环境

修改PHP配置文件,满足Zabbix需求

源码安装Zabbix

修改Zabbix基本配置

初始化Zabbix监控Web页面

1.2 方案

 

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

1.3 步骤

 

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

步骤一:部署监控服务器

 

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数据库设置,如图-1所示,Web管理页面默认初始账户admin,密码为zabbix。

 

图-1

步骤二:部署被监控主机

 

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

 

案例2:配置及使用Zabbix监控系统

2.1 问题

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

监控CPU

监控内存

监控进程

监控网络流量

监控硬盘

2.2 方案

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

2.3 步骤

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

步骤一:添加监控主机

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

 

图-2

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

 

图-3

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

 

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

 

图-4

步骤三:查看监控数据

 

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

 

案例3:自定义Zabbix监控项目

3.1 问题

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

3.2 方案

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

创建自定义key

创建监控项目

创建监控图形

将监控模板关联到主机

3.3 步骤

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

步骤一:被监控主机创建自定义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创建模板,如图-6所示。

图-6

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

图-7

2)创建应用

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

图-8

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

图-9

设置应用名称如图-10所示。

图-10

3)创建项目

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

图-11

图-12

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

图-13

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

图-14

4)创建图形

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

图-15

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

图-16

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

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

图-17

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

 

 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

监控远端主机(192.168.4.10)——数据库服务、网站服务、系统运行情况

配置客户端——被监控端

  1. 运行zabbix_agentd服务

装包:装包准备、解包、进源码目录、配置、编译、安装、查看

[root@slave10 ~]# useradd zabbix

[root@slave10 ~]# rpm -q gcc gcc-c++

[root@slave10 ~]# tar -zxvf zabbix-3.2.3.tar.gz

[root@slave10 ~]# tar -zxvf zabbix-3.2.3.tar.gz

[root@slave10 ~]# cd zabbix-3.2.3/

[root@slave10 zabbix-3.2.3]# ./configure --prefix=/usr/local/zabbix --enable-agent

[root@slave10 zabbix-3.2.3]# make install

[root@slave10 zabbix-3.2.3]# ls /usr/local/zabbix/

bin  etc  lib  sbin  share

修改配置文件

[root@slave10 zabbix-3.2.3]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

30 LogFile=/tmp/zabbix_agentd.log   //日志文件存储位置

91 Server=127.0.0.1, 192.168.4.11   //允许访问此服务的ip地址

132 ServerActive=192.168.4.11:10050  //监控服务器的ip及端口号

启动服务

[root@slave10 zabbix-3.2.3]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

[root@slave10 zabbix-3.2.3]# chmod +x /etc/init.d/

[root@slave10 zabbix-3.2.3]# sed -i '22s;/usr/local;&/zabbix;' /etc/init.d/zabbix_agentd

[root@slave10 zabbix-3.2.3]# sed -n '22p' /etc/init.d/zabbix_agentd

[root@slave10 zabbix-3.2.3]# /etc/init.d/zabbix_agentd status

[root@slave10 zabbix-3.2.3]# /etc/init.d/zabbix_agentd start

[root@slave10 zabbix-3.2.3]# netstat -utnalp  | grep :10050

[root@slave10 zabbix-3.2.3]# echo "/etc/init.d/zabbix_agentd start" >> /etc/rc.local

[root@slave10 zabbix-3.2.3]# ls /tmp/zabbix_agentd.log    //有问题可查看日志

 

配置监控服务器(192.168.4.11)

登录管理页面做如下配置:

1 添加新监控的主机并选择监控模版

配置-->主机,默认只监控本机-->创建主机,主机名称db10,可见名称db10,群组linux server,ip为被监控ip,不写dns,端口默认

点击新创建的监控主要,选择模板-->选择模板名,点添加mysql,http,os linux,ftp,添加

创建

2 查看监控信息

监测中-->最新数据-->选择群组

 

 

 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

监控本机192.168.4.11  --enable-agent

a 修改配置文件

[root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

[root@zabbix ~]# sed -n "30p;91p;132p" /usr/local/zabbix/etc/zabbix_agentd.conf

30 LogFile=/tmp/zabbix_agentd.log

91 Server=127.0.0.1

132 ServerActive=127.0.0.1:10050

b 运行zabbix_agentd 服务

[root@zabbix zabbix-3.2.3]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

[root@zabbix zabbix-3.2.3]# chmod +x /etc/init.d/

[root@zabbix zabbix-3.2.3]# sed -i '22s;/usr/local;&/zabbix;' /etc/init.d/zabbix_agentd

[root@zabbix zabbix-3.2.3]# echo "/etc/init.d/zabbix_agentd start" >> /etc/rc.local

[root@zabbix zabbix-3.2.3]# /etc/init.d/zabbix_agentd start

[root@zabbix zabbix-3.2.3]# netstat  -utnalp  | grep :10050

c 登录管理页面做如下配置:

1 添加新监控的主机并选择监控模版

配置-->主机,默认只监控本机-->创建主机,主机名称db10,可见名称db10,群组linux server,ip为被监控ip,不写dns,端口默认

点击新创建的监控主要,选择模板-->选择模板名,点添加mysql,http,os linux,ftp,添加

启用

2 查看监控信息

监测中-->最新数据-->选择群组

 

 

 

 

 

配置客户端——被监控端192.168.4.20,将httpd监听端口改为8080

装包:装包准备、解包、进源码目录、配置、编译、安装、查看

[root@slave20 ~]# systemctl stop firewall

[root@slave20 ~]# setenforce 0

[root@slave20 ~]# rpm -q httpd

[root@slave20 ~]# yum -y install httpd

[root@slave20 ~]# grep -n "80" /etc/httpd/conf/httpd.conf

[root@slave20 ~]# sed -i "42s/80/8080/" /etc/httpd/conf/httpd.conf

[root@slave20 ~]# systemctl start httpd

[root@slave20 ~]# useradd zabbix

[root@slave20 ~]# rpm -q gcc gcc-c++

[root@slave20 ~]# tar -zxvf zabbix-3.2.3.tar.gz

[root@slave20 ~]# cd zabbix-3.2.3/

[root@slave20 zabbix-3.2.3]# ./configure --prefix=/usr/local/zabbix --enable-agent

[root@slave20 zabbix-3.2.3]# make install

[root@slave20 zabbix-3.2.3]# ls /usr/local/zabbix/

bin  etc  lib  sbin  share

修改配置文件

[root@slave10 zabbix-3.2.3]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

30 LogFile=/tmp/zabbix_agentd.log   //日志文件存储位置

91 Server=127.0.0.1, 192.168.4.11   //允许访问此服务的ip地址

132 ServerActive=192.168.4.11:10051  //监控服务器的ip及端口号

启动服务

[root@slave20 zabbix-3.2.3]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

[root@slave20 zabbix-3.2.3]# chmod +x /etc/init.d/

[root@slave20 zabbix-3.2.3]# sed -i '22s;/usr/local;&/zabbix;' /etc/init.d/zabbix_agentd

[root@slave20 zabbix-3.2.3]# sed -n '22p' /etc/init.d/zabbix_agentd

[root@slave20 zabbix-3.2.3]# /etc/init.d/zabbix_agentd status

[root@slave20 zabbix-3.2.3]# /etc/init.d/zabbix_agentd start

[root@slave20 zabbix-3.2.3]# netstat -utnalp  | grep :10050

[root@slave20 zabbix-3.2.3]# echo "/etc/init.d/zabbix_agentd start" >> /etc/rc.local

[root@slave20 zabbix-3.2.3]# ls /tmp/zabbix_agentd.log    //有问题可查看日志

登录管理页面做如下配置:

1 添加新监控的主机并选择监控模版

配置-->主机,默认只监控本机-->创建主机,主机名称db20,可见名称db20,群组linux server,ip为被监控ip,不写dns,端口默认

配置--->模板--->选择主机-->选择需要的模板-->添加-->启用

2 查看监控信息

监测中-->最新数据-->选择群组

 

自定义监控项目模版

a 使用zabbix内置的键值定义监控项

1 创建新模板

配置--->模板--->创建模板--->名称atmp20,在Templates模块群组里--->添加

2 创建新应用集

点新建模板名后的应用集--->创建应用集,名称http_running--->添加

3 创建新监控项,并指定使用的键值

点击监控项--->创建监控项,名称web_status,键值net.tcp.service[http,192.168.4.20,8080]--->选择其归属的应用集--->添加

4 监控主机时调用创建的新模板

配置--->模板--->选择主机-->选择模板,添加新模板--->启用

 

使用shell命令定义监控项

1 在被监控主机上启用自定义监控项功能

[root@slave20 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

263 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf   //加载启动项

278 UnsafeUserParameters=1     //启动自定义监控功能

283 #       Format: UserParameter=<key>,<shell command>   //命令格式

 

2 在被监控主机上创建监控命令

  

UserParameter=命令名称,shell命令或shell脚本

[root@slave20 ~]# vim  /usr/local/zabbix/etc/zabbix_agentd.conf.d/get_users.conf   //创建此文件

## get_users_sum,系统总用户数量

UserParameter=get_users_sum,wc -l /etc/passwd | awk  '{print $1}'

## get_users_login,能登录系统的用户数量

UserParameter=get_users_login,awk -F ":" '$7=="/bin/bash"{j++} END{print j}' /etc/passwd

## get_users_nologin,不能够登录系统的用户数量

UserParameter=get_users_nologin,awk -F ":" '$7!="/bin/bash"{i++}END{print i}'  /etc/passwd

 

3 重启zabbix_agentd服务

[root@slave20 ~]# /etc/init.d/zabbix_agentd stop

[root@slave20 ~]# /etc/init.d/zabbix_agentd start

 

4 验证创建的监控命令

/usr/local/zabbix/bin/zabbix_get -s ip地址 -p 10050 -k 命令名称

[root@slave20 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -p 10050 -k get_users_sum

[root@slave20 ~]# useradd  yaya3

[root@slave20 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -p 10050 -k get_users_sum

[root@slave20 ~]# userdel -r  yaya3

 

5 在监控主机使用的模板里添加新的监控项时,调用被监控主机上创建的监控命令

模板名mon_20_users,应用集为mon_20_users_sum,mon_20_users_login,mon_20_users_nologin5.1 在模板的应用集里添加新的监控项

键值分别为get_users_sum,get_users_login,get_users_nologin

5.2 查看监控信息

 

6 登录监控页面,查看监控信息

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

监控报警 192.168.4.11

要求:监控主机192.168.4.20的总用户数量 大于  50个时,给本机的zabbix@localhost邮箱发送报警邮件。

a 创建触发器    cfq

配置--->主机--->触发器--->选择群组,模板,创建触发器--->名称:cfq,严重性:灾难,表达式:按要求添加(选择需要的监控项,功能为最新的T值>N,N=50){mon_20_users:get_sum_users.last()}>50--->插入--->添加,创建成功

b 创建动作      actsendmail 

配置--->动作--->创建动作(名称actsendmail)--->操作(默认接收人为信件的标题biguser50)--->新的--->在操作细节里,操作类型:发送信息,发送到用户:Admin,仅送到email(jabber、sms都还要借助第三方工具)--->点操作细节的添加--->添加,创建成功

c  指定收件人邮箱   zabbix@localhost

管理--->用户,点Admin--->报警媒介--->添加--->收件人:zabbix@localhost,启用时间7*24,全部启用--->添加--->更新

[root@zabbix ~]# rpm -q postfix

[root@zabbix ~]# systemctl  status  postfix

[root@zabbix ~]# useradd zabbix

[root@zabbix ~]# mail  -s "999" zabbix  < /etc/hosts

[root@zabbix ~]# mail -u zabbix

d  指定邮件服务器

管理--->报警媒介类型--->点email--->smtp端口为25,smtp服务器为localhost,helo为localhost,smtp电邮为zabbix@localhost--->更新

 

e  触发器被触发后,查看是否接收到报警邮件

添加用户,使触发器被触发

监测中--->触发器

[root@zabbix ~]# mail -u zabbix

 

++++++++++++++++++++++++++++++++++++++

 

监控本机,能够登录系统的用户的总数,大于10个时发送报警邮件给zabbix@localhost邮箱

 

++++++++++++++++++++++++++++++++++++++

  • 搭建zabbix监控服务器
  • 配置杂波敝屣监控服务器

2.1 监控远端主机

2.2 监控本机

2.3 自定义监控项:使用zabbix内置命令或使用shell命令或shell 脚本

2.4 创建触发器

2.5 配置监控报警

 

++++++++++++++++++++++++++++++++++++++

 

Nagios    Cacti      Zabbix (内置监控命令的使用)

           

1 部署运行环境

2 监控软件会自带监控插件 或 监控模版  、默认都监控本机

3 监控端运行监控服务   nagios   snmpd  zabbix_server  

4 被监控端也要运行服务 nrpe  snmpd   zabbix_agentd

5 配置:修改配置Nagios      通过web页面配置(Cacti      Zabbix)

6 查看监控信息

7 监控报警(邮件报警   短信  微信   即时消息)

++++++++++++++++++++++++++++++++++++++

示例:使用Zabbix实现报警功能,实现以下目标:

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

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

创建Media--->创建Action--->创建触发器并设置条件

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

  1. 创建Media,设置邮件信息需要针对账户设置

通过Administration(管理)-->Users(用户)找到Admin账户,点击该账户的链接。

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

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

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

2)创建Action(动作)

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

通过Configuration-->Actions-->Create action创建动作

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

设置动作的触发条件。

步骤二:创建触发器

1)创建触发器

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

设置触发器名称为passwd_line_gt_35,点击Add添加

2)配置触发器

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

触发器规则设置完成后,激活该触发器即可。

3)测试效果

在被监控主机创建账户,登录监控Web页面查看。

在监控服务器查收报警邮件。

 

 

猜你喜欢

转载自blog.csdn.net/jsut_rick/article/details/86597033