Zabbix监控系统配置

摘要:
1.Zabbix是一个企业级开源解决方案,提供基于WEB接口的分布式系统监控。Zabbix可以监控各种网络参数。q支持主动监测和被动监测模式。q服务器端支持各种操作系统:qAgent客户端支持多种操作系统:q还可以基于SNMP和IPMI接口监视代理;支持高级API二次开发、脚本监控、自定义密钥定义、自动运维集成调用2和Zabbix:

 

 

 

 

 

 

 

1、Zabbix是一个基于WEB界面的提供分布式系统监控的企业级的开源解决方案 Zabbix能监视各种网络参数,保证服务器系统的安全稳定的运行,并提供灵活的通知机制以让SA快速定位并解决存在的各种问题 。有点有如下

q 支持自动发现服务器和网络设备;

q 支持底层自动发现;

q 分布式的监控体系和集中式的WEB管理;

q 支持主动监控和被动监控模式

q 服务器端支持多种操作系统:Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, MAC等;

q Agent客户端支持多种操作系统:Linux, Solaris, HP-UX, AIX, FreeBSD,Windows等;

q 基于SNMP、IPMI接口方式也可以监控Agent;

q 安全的用户认证及权限配置;

q 基于WEB的管理方法,支持自由的自定义事件和邮件发送;

q 高水平的业务视图监控资源,支持日志审计,资产管理等功能;

支持高水平API二次开发、脚本监控、自Key定义、自动化运维整合调用

2、Zabbix三大组件:Zabbix server Zabbix Proxy Agent客户端,其中Zabbix Server端包括:WEB GUI 、Database、Zabbix Server。

监控流程图

Zabbix监控系统配置第1张

Zabbix监控完整流程包括:Agentd安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送到Zabbix Server端,Zabbix server收到数据,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。 ,

a、Zabbix server :负责接收agent发送的报告信息核心组件,所有配置,统计数据及操作数据均由其组织进行。

Database Storage:,专用于存储所有配置信息 通常与Server运行在同一台主机上;

WEB interface :Zabbix 的GUI接口,通常与Zabbix运行在同一台机器上

Proxy:常用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端;

Zabbix Agent:部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端; l>

Zabbix监控部署在系统中,会包含常见的四个程序:zabbix_server 、zabbix_get、zabbix_agentd 、zabbix_proxy、zabbix_sender等。四个程序启动后分别对应四个进程,如下为每个进程的功能: q Zabbix_server:Zabbix服务端守护进程,其中zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy的数据最终均是提交给Zabbix_Server;

a 、Zabbix_Agentd:客户端守护进程,负责收集客户端数据,例如收集cpu负载、内存、硬盘使用情况等 zabbix_sender、zabbix_proxy的数据最终均是提交给Zabbix_Server

b、Zabbix_get:Zabbix数据获取工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令;

c、 Zabbix_sender:zabbix数据发送工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据;

d、 Zabbix_proxy:zabbix分布式代理守护进程,分布式监控架构需要部署Zabbix_Proxy。

3、Zabbix监控方式及数据采集*

Zabbix分布式监控系统监控客户端的方式常见有三种,分别是Agent方式、SNMP、IPMI方式,三种方式特点如下: "

A、Agent:Zabbix可以基于自身zabbix_agent客户端插件监控OS的状态,例如CPU、内存、硬盘、网卡、文件等

B、SNMP:Zabbix可以通过简单网络管理协议(Simple Network Management Protocol,SNMP)协议监控网络设备或者Windows主机等,通过设定SNMP的参数将相关监控数据传送至服务器端,交换机、防火墙等网络设备一般都支持SNMP协议。

C、智能平台管理接口(Intelligent  Platform Management Interface,IPMI)即主要应用于设备的物理特性,包括:温度、电压、电扇工作状态、电源供应以及机箱入侵等。IPMI最大的优势在于无论OS在开机还是关机的状态下,只要接通电源就可以实现对服务器的监控 >:

3.1 Zabbix监控客户端分为主动监控与被动监控,主被动模式以客户端为参照,Zabbix监控客户端默认为被动模式,可以修改为主动模式,只需要在客户端配置文件中添加。可以关闭被动模式的方法:在配置文件中加入 StartAgents=0,即为关闭被动模式。主被动监控模

1)Zabbix主动模式:Agent主动请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy,Zabbix agent首先向ServerActive配置的IP请求获取active items,获取并提交active items数据值server或者proxy

2)Zabbix被动模式:Server向agent请求获取监控项的数据,agent返回数据,Server打开一个TCP连接,Server发送请求agent.ping,Agent接收到请求并且响应,Server处理接收到的数据。

3、安装zabbix前先安装好LAMP

(1)Apache WEB安装,先安装apr、apr-utils库包

yum install apr-devel apr-util-devel -y

tar xjvf httpd-2.4.29.tar.bz

cd httpd-2.4.29

./configure --prefix=/usr/local/apache --enable-so --enable-rewrite

make

make install

(2)MYSQL数据库安装,基于MYSQL5.5编译安装,通过cmake、make、make install三个步骤实现

yum  install  cmake  ncurses-devel ncurses -y

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock

-DMYSQL_DATADIR=/data/mysql

-DSYSCONFDIR=/etc

-DMYSQL_USER=mysql

-DMYSQL_TCP_PORT=3306

-DWITH_XTRADB_STORAGE_ENGINE=1

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_PARTITION_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_MYISAM_STORAGE_ENGINE=1

-DWITH_READLINE=1

-DENABLED_LOCAL_INFILE=1

-DWITH_EXTRA_CHARSETS=1

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DEXTRA_CHARSETS=all

-DWITH_BIG_TABLES=1

-DWITH_DEBUG=0

make

make install

将源码安装的Mysql数据库服务设置为系统服务,可以使用chkconfig管理,并启动MYSQL数据库:

cd /usr/local/mysql55/

cp support-files/my-large.cnf /etc/my.cnf

cp support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld chkconfig --level 35 mysqld on

mkdir -p /data/mysql

useradd mysql

/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql55/

ln -s /usr/local/mysql55/bin/* /usr/bin/

service mysqld restart

(3)PHP服务安装,PHP需与Apache、MySQL进行整合,如图12-3所示,参数命令

tar jxf php-5.6.8.tar.bz2

cd php-5.6.8.tar ;

./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc   --with-apxs2=/usr/local/apache2/bin/apxs  --with-mysql=/usr/local/mysql55/ (这个是数据库没有分离)

./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc   --with-apxs2=/usr/local/apache2/bin/apxs  --with-mysql=mysqlnd   --with-mysqli=mysqlnd   --with-pdo-mysql=mysqlnd (数据库分开安装需要用mysqlnd连接)

make

make install

(4)(1) Apache+PHP源码整合

为了能让Apache发布PHP页面,需要将PHP安装完成后的libphp5.so模块与Apache进行整合,vim httpd.conf编辑配置文件,加入如下代码

LoadModule php5_module modules/libphp5.so

AddType application/x-httpd-php .php

DirectoryIndex index.php index.html index.htm

(5) 测试Apache+PHP环境

创建PHP测试页面,在/usr/local/apache/htdocs目录下创建index.php测试页面,执行如下命令自动创建

cat >/usr/local/apache/htdocs/index.php<<EOF

<?php

phpinfo();

?>

EOF

重新启动Apache服务,浏览器输入 Apache WEB的IP访问,如图所示,即代表LAMP源码环境整合成功。

4、Zabbix监控平台部署

Zabbix监控平台部署,至少需要安装四个组件,分别是Zabbix_Server、Zabbix_Web、Databases、Zabbix_Agentd,如下为Zabbix监控平台安装配置详细步骤:

(1)系统环境:

Server 端:192.168.91.128

Agent端:192.168.91.130

数据库IP:192.168.91.129

(2)下载zabbix wget  <http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/32.6/zabbix-3.2.6.tar.gz

(3)      Zabbix Server端和Zabbix Agent执行如下代码:

yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI  mariadb-devel mysql-devel

yum install mysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm

groupadd zabbix

useradd -g zabbix zabbix

usermod -s /sbin/nologin zabbix

(4) Zabbix Server端配置

创建zabbix数据库,执行授权命令

create database zabbix charset=utf8;

grant all on zabbix.* to zabbix@"192.168.0.120" identified by '123456';

flush privileges;

解压zabbix软件包

mysql -uzabbix -p123456 zabbix <database/mysql/schema.sql

mysql -uzabbix -p123456 zabbix <database/mysql/images.sql

mysql -uzabbix -p123456 zabbix < database/mysql/data.sql

切换至Zabbix解压目录,执行如下代码,安装Zabbix_server:

./configure --prefix=/usr/local/php --with-apxs2=/usr/sbin/apxs --with-mysql --with-mysqli --enable-bcmath --enable-ctype --enable-mbstring --enable-sockets --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/lib64 --with-freetype-dir=/usr/local/freetype(编译加全,后面的模块默认能开)

./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl

make 

make  install

ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/

*将zabbix_server.conf配置文件中代码设置为如下: LogFile=/tmp/zabbix_server.log DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=123456 "

(5)(1) Zabbix WEB GUI安装配置

通过浏览器Zabbix_WEB验证,通过浏览器访问192.168.91.128如图1

Zabbix监控系统配置第2张

如上异常错误解决方法代码如下,安装缺失的软包,并修改php.ini对应参数的值即可,如图

./configure --prefix=/usr/local/php --with-apxs2=/usr/sbin/apxs --with-mysql --with-mysqli --enable-bcmath --enable-ctype --enable-mbstring --enable-sockets --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/lib64 --with-freetype-dir=/usr/local/freetype

sed -i '/post_max_size/s/8/16/g;/max_execution_time/s/30/300/g;/max_input_time/s/60/300/g;s/;date.timezone.*/date.timezone = PRC/g;s/;always_populate_raw_post_data/always_populate_raw_post_data/g' /etc/php.ini

/etc/init.d/httpd restart

有些模块如果还是不行可以按如下步骤

Zabbix监控系统配置第3张

进入php源码目录

cd /root/php-5.6.8/ext/gettext

phpize

./configure --with-php-config=/usr/local/php5/bin/php-config

make

make install

 

Zabbix监控系统配置第4张

在/usr/usr/local/php/etc/php.ini 加入如下代码

extension=/usr/local/php5/lib/php/extensions/no-debug-zts-20131226/bcmath.so

extension=/usr/local/php5/lib/php/extensions/no-debug-zts-20131226/mbstring.so

extension=/usr/local/php5/lib/php/extensions/no-debug-zts-20131226/sockets.so

extension=/usr/local/php5/lib/php/extensions/no-debug-zts-20131226/gd.so

重启httpd 刷新网页

Zabbix监控系统配置第5张

Zabbix监控系统配置第6张

Zabbix监控系统配置第7张

 Zabbix监控系统配置第8张

Zabbix监控系统配置第9张

免责声明:文章转载自《Zabbix监控系统配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇20个2020年最优秀的PHP框架回顾Linux串口通信之termios结构体说明下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SQLSERVER 维护计划无法删除

数据对网站运营或者企业运营是至关重要的,所以,我们在使用数据库的时候,为了保证数据的安全可靠性,都会做数据库备份, 很显然,这个备份,我们不可能每天都去手动备份,SQLServer 数据库就可以提供数据库定时备份的任务,你可以设置按照天、周、 月、年等不同设置不同的备份周期,这里我就不在介绍自动备份的设置了,百度教程可以找到一大波,最重要的一点就是,一定要...

如何完成大数据测试-从功能测试角度分析

大数据,已经成为了这个时代的代名词。当今的互联网属于大数据时代,大数据时代的到来,颠覆了以往对数据的惯性思考方式,要保证数据执行,软件质量,测试质量,数据使用场景等,都需要重新变换一个新的角度,对软件进行更全方面的思考。 今天我想从功能测试的角度,讨论大数据的功能测试要怎么做,用例怎么设计,才能覆盖面更广,更好的保证其正确性。 之前大数据很少有测试,开发会...

Postgresql 物理备份冷备份 与 热备份

一、冷备份 将数据库停下来,然后把数据库的PGDATA目录拷贝下来就可以了。 PostgreSQL把与数据库实例有关的配置文件和数据文件都放在PGDATA目录下,所以做冷备份很简单。 二、热备份 热备份称之为在线备份。 有两种热备份方法 1、使用数据库的PIRT方法进行热备份。PIRT的原理--时间点恢复(Point In Time Recovery) 2...

Spark Partition

分区的意义 Spark RDD 是一种分布式的数据集,由于数据量很大,因此它被切分成不同分区并存储在各个Worker节点的内存中。从而当我们对RDD进行操作时,实际上是对每个分区中的数据并行操作。Spark根据字段进行partition类似于关系型数据库中的分区,可以加大并行度,提高执行效率。Spark从HDFS读入文件的分区数默认等于HDFS文件的块数(...

PostgreSQL数据库中的常见错误

转载以作参考。 错误1FATAL: connection limit exceeded for non-superusers原因:非超级用户的连接数(max_connections - superuser_reserved_connections)超过了设定值解决办法:增加max_connections设定值,但如果增加了过多的话,数据库负担太大还容易产生...

危化品速查APP--Android Project

开发环境 Android studio 2.3.1 功能描述 集成多种查询方式,查看本地数据库中危险化学品的信息; 按照中文拼音和英文首字母,对化学品进行查询; 按照UN号或者CAS号查询相应的化学品; 按照化学品特性描述的关键词检索化学品; 查看产品手册以及使用说明文档; Github 地址 git@github.com:guoyaohua/Chem...