千家信息网

51.zabbix监控工具

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,Zabbix3.2监控工具Zabbix是一个基于WEB界面的提供的分布式系统监控以及网络监视功能的企业级的开源工具。Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制让管理
千家信息网最后更新 2025年01月22日51.zabbix监控工具

Zabbix3.2监控工具

Zabbix是一个基于WEB界面的提供的分布式系统监控以及网络监视功能的企业级的开源工具。

Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制让管理员迅速定位/解决存在的各种问题。

ZabbixZabbix_Server服务端和Zabbix_Agent客户端还有Zabbix_proxy代理三个部分组成。

Zabbix_Server:可以通过SNMPZabbix_AgentPingSNMP等方法提供对远程服务器/网络状态的监视。

Zabbix_Agent:是用来采集客户端服务器数据来交给Zabbix_Server处理。

Zabbix_Proxy:缓存同步服务器监控数据。

Zabbix的主要功能:CPU负荷,内存使用,磁盘使用,网络状况,端口监视,日志监视。

Zabbix的监控架构:

Zabbix部署步骤:

环境需求:必须LNMP/LAMP环境的支持,需要PHP5.4以上版本支持才可以。

# systemctl stop firewalld #关闭firewalld防火墙

# systemctl disable firewalld.service #禁止firewalld服务自启

# sed -i -e 's|SELINUX=enforcing|SELINUX=disabled|' /etc/selinux/config #关闭SELINUX

# sed -i -e 's|SELINUXTYPE=targeted|#SELINUXTYPE=targeted|' /etc/selinux/config

# setenforce 0

源码编译方式:

v 安装相关依赖组件

# yum -y install php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel gcc gcc-c++ net-snmp net-snmp-devel perl-DBI httpd mariadb* #YUM部署LAMP环境

v 解压安装包

# tar xzvf zabbix-3.2.1.tar.gz

# cd zabbix-3.2.1

v 编译安装Zabbix

安装ServerAgent,并支持将数据放入MYSQL数据库中:

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

仅安装Server,并支持将数据放入MYSQL数据库中:

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

仅安装Proxy代理,并支持将数据放入MYSQL数据库中:

# ./configure --prefix=/usr/local/zabbix --enable-proxy --with-net-snmp --with-mysql --with-ssh3

仅安装Agent客户端:

# ./configure --enable-agent

# make && make install

注:--with-libcurl:监控WEB页面响应时间,下载速度。

v 授权Zabbix数据库用户

# systemctl start mariadb #启动MYSQL

# mysqladmin -u root password 123 #设置数据库ROOT用户密码

# mysql -u root -p123 #登录数据库

mysql> create database zabbix character set UTF8; #创建zabbix数据库并指定编码为UTF8

mysql> grant all on zabbix.* to 'zabbix'@'localhost' identified by '123' with grant option;

mysql> flush privileges; #授权zabbix用户与刷新授权

mysql> exit

v Zabbix自带的SQL文件导入数据库

# mysql -u zabbix -p123 zabbix < database/mysql/schema.sql #按顺序导入

# mysql -u zabbix -p123 zabbix < database/mysql/p_w_picpaths.sql

# mysql -u zabbix -p123 zabbix < database/mysql/data.sql

v Zabbix自带的PHP页面放入Nginx网页根目录

# cp -r frontends/php /var/www/html/zabbix

# chmod 777 /var/www/html/zabbix/conf

v Zabbix添加到服务

# cp -r misc/init.d/fedora/core/* /etc/init.d/

# sed -i -e 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix|' /etc/init.d/zabbix_server

# sed -i -e 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix|' /etc/init.d/zabbix_agentd

v 修改Zabbix_server配置文件

# sed -i -e 's|# DBPassword=|DBPassword=123|' /usr/local/zabbix/etc/zabbix_server.conf

# sed -i -e 's|# DBSocket=/tmp/mysql.sock|DBSocket=/var/lib/mysql/mysql.sock|' /usr/local/zabbix/etc/zabbix_server.conf

Zabbix_server配置文件解析

LogFile=/tmp/zabbix_server.log

日志所在位置

LogFileSize=1

日志大小

PidFile=/tmp/zabbix_server.pid

PID进程文件所在位置

DBHost

数据库主机地址

DBName

数据库名

DBUser

数据库连接用户名

DBPassword

数据库连接用户密码

DBSocket

数据库缓存文件位置

DBPort

数据库端口

StartPollers

Zabbix_server进程数

StartIPMIPollers

IPMI线程数(IPMI平台管理接口)

StartPollersUnreachable

该线程用来单独监控无法连接的主机

StartTrapper

检测主机的线程数

StartPingers

PING主机方式启动的线程数

StartDiscoverers

发现主机的线程数

StartDBSyncers

将数据同步到数据库的线程数

Timeout

Zabbix_server的检测超时时间

v 修改PHP配置

# sed -i -e 's|post_max_size = 8M|post_max_size = 16M|' /etc/php.ini

# sed -i -e 's|max_execution_time = 30|max_execution_time = 300|' /etc/php.ini

# sed -i -e 's|max_input_time = 60|max_input_time = 300|' /etc/php.ini

# sed -i -e 's|;date.timezone =|date.timezone = PRC|' /etc/php.ini

post_max_size

上传最大文件大小

date.timezone

时区设置(PRC代表中国)

max_execution_time

运行超时时间(秒)

request_terminate_timeout

需求结束超时时间(秒)

max_input_time

接受数据时间限制(秒)



v 创建运行用户

# useradd zabbix

v 启动服务

# service start zabbix_server

# systemctl start zabbix_agentd

# systemctl start httpd

# netstat -lnupt |grep 80

# ps aux |grep zabbix

v 通过网页验证访问

Http//localhost/zabbix

被监控主机配置

v 环境需求:关闭防火墙,SELinux

# systemctl stop firewalld

# setenforce 0

# iptables -F

# yum -y install gcc gcc-c++

v 解压zabbix

# tar xzvf zabbix-3.2.1.tar.gz

# cd zabbix-3.2.1

v 编译安装

# ./configure --prefix=/usr/local/zabbix --enable-agent

# make && make install

v 创建运行用户

# useradd zabbix

# echo 123 | passwd zabbix --stdin

v 添加到服务

# cp -r misc/init.d/fedora/core/* /etc/init.d/

# sed -i -e 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix|' /etc/init.d/zabbix_agentd

v 修改Zabbix_agentd配置文件

# sed -i -e 's|Server=127.0.0.1|Server=1.1.1.19|' /usr/local/zabbix/etc/zabbix_agentd.conf

# sed -i -e 's|ServerActive=127.0.0.1|ServerActive=1.1.1.19|' /usr/local/zabbix/etc/zabbix_agentd.conf

# sed -i -e 's|# Hostname=|Hostname=1.1.1.20|' /usr/local/zabbix/etc/zabbix_agentd.conf

Zabbix_agentd配置文件解析

UnsafeUserParameters

启动自定义KEY

EnableRemoteCommands

开启远程命令

ListenPort

监听端口

StartAgents

Agent线程数

Server

被动模式指定服务端地址

ServerActive

主动模式指定服务器地址

Hostname

主机名

v 启动服务

# service zabbix_agentd restart

# netstat -lnupt |grep 10050

YUM安装方式:

环境需求:需要连接网络,关闭防火墙,SELinux

# systemctl stop firewalld #关闭防火墙

# setenforce 0

v 安装ZabbixYUM

# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm

# yum makecache #重新生成缓存

v 安装相关依赖组件

# yum -y install php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* #YUM部署LAMP环境

v 安装Zabbix_server

# yum -y install zabbix-server-mysql zabbix-web-mysql

v 授权MYSQL数据库

# systemctl start mariadb #启动数据库

# mysqladmin -u root password 123

# mysql -u root -p123

> create database zabbix character set UTF8;

> grant all on zabbix.* to 'zabbix'@'localhost' identified by '123' with grant option;

> flush privileges;

> exit

v 导入Zabbix数据库文件

# mysql -u zabbix -p123 zabbix < schema.sql

# mysql -u zabbix -p123 zabbix < p_w_picpaths.sql

# mysql -u zabbix -p123 zabbix < data.sql

v 修改配置文件

# sed -i -e 's|# DBPassword=|DBPassword=123|' /etc/zabbix/zabbix_server.conf

# sed -i -e 's|# DBSocket=/tmp/mysql.sock|DBSocket=/var/lib/mysql/mysql.sock|' /usr/local/zabbix/etc/zabbix_server.conf

# sed -i -e 's|;date.timezone =|date.timezone = PRC|' /etc/php.ini

v 启动服务

# zabbix_server

# systemctl start httpd

v 通过网页验证访问

Http//localhost/zabbix

被监控端安装配置

v 环境需求:关闭防火墙,SELinux

# systemctl stop firewalld

# setenforce 0

v 安装Zabbix_agentd服务

# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm

# yum makecache

# yum -y install zabbix-agent

v 修改Zabbix_agentd配置文件

# sed -i -e 's|Server=127.0.0.1|Server=1.1.1.19|' /usr/local/zabbix/etc/zabbix_agentd.conf

# sed -i -e 's|ServerActive=127.0.0.1|ServerActive=1.1.1.19|' /usr/local/zabbix/etc/zabbix_agentd.conf

# sed -i -e 's|# Hostname=|Hostname=1.1.1.20|' /usr/local/zabbix/etc/zabbix_agentd.conf

v 启动Zabbix_agentd服务

# zabbix_agentd

# netstat -lnupt |grep zabbix


WEB配置图片导航:

安装故障排查

故障一:MYSQL数据库版本过高问题; 解决方法:重新安装适用MYSQL数据库

注:Current database version当前版本 Required mandatory version强制版本号

故障二:用户授权问题; 解决方法:重新授权Zabbix数据库用户

故障三:数据库问题 解决方法:重新导入Zabbix对应数据库

故障四:服务器进程过多问题 解决方法:设置配置文件相关参数控制进程

注:Too many processes on Zabbix serverZabbix服务器进程数太多

故障五:Zabbix_server启动时线程数低导致轮询负载 解决方法:StartPollers设置为510

故障六:Zabbix_server在运行但是提示没在运行 解决方法:关闭SELinux

故障七:数据库密码错误 解决方法:修改配置文件zabbix.conf.php



0