51.zabbix监控工具

Zabbix3.2监控工具

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

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

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

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

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

源码编译方式:

安装相关依赖组件

# 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环境

解压安装包

# tar xzvf zabbix-3.2.1.tar.gz

# cd zabbix-3.2.1

编译安装Zabbix

安装Server和Agent,并支持将数据放入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-ssh2

仅安装Agent客户端:

# ./configure --enable-agent

# make && make install

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

授权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

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

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

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

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

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

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

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

将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

修改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的检测超时时间

修改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


接受数据时间限制(秒)

创建运行用户

# useradd zabbix

启动服务

# service start zabbix_server

# systemctl start zabbix_agentd

# systemctl start httpd

# netstat -lnupt |grep 80

# ps aux |grep zabbix

通过网页验证访问

Http://localhost/zabbix

被监控主机配置

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

# systemctl stop firewalld

# setenforce 0

# iptables -F

# yum -y install gcc gcc-c++

解压zabbix包

# tar xzvf zabbix-3.2.1.tar.gz

# cd zabbix-3.2.1

编译安装

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

# make && make install

创建运行用户

# useradd zabbix

# echo 123 | passwd zabbix --stdin

添加到服务

# 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

修改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


主机名

启动服务

# service zabbix_agentd restart

# netstat -lnupt |grep 10050

 

YUM安装方式:

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

# systemctl stop firewalld                                     #关闭防火墙

# setenforce 0

安装Zabbix的YUM库

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

# yum makecache                                           #重新生成缓存

安装相关依赖组件

# 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环境

安装Zabbix_server

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

授权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

导入Zabbix数据库文件

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

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

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

修改配置文件

# 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

启动服务

# zabbix_server

# systemctl start httpd

通过网页验证访问

Http://localhost/zabbix

被监控端安装配置

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

# systemctl stop firewalld

# setenforce 0

安装Zabbix_agentd服务

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

# yum makecache

# yum -y install zabbix-agent

修改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服务  

# zabbix_agentd

# netstat -lnupt |grep zabbix

WEB配置图片导航:

安装故障排查

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

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

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

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

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

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

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

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

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

时间: 2024-10-21 17:17:02

51.zabbix监控工具的相关文章

zabbix监控工具

zabbix与cacti类似,也是基于web界面的开源监控软件.不过它还提供了一个分布式系统监控的企业级解决方案. zabbix由zabbix server和可选组件zabbix Agent两部分组成. server端可以通过SNMP,zabbix agent,Ping,端口监控等方法提供对远程服务器的状态监控,数据收集等功能.该组件可以运行在linux等平台上. Agent端需要安装在被监控的目标服务器上,主要完成对硬件信息或者操作系统有关的内存,cpu等信息的收集. zabbix serve

Ansible部署Zabbix监控工具

[[email protected] roles]# pwd /etc/ansible/roles [[email protected] roles]# ls ansible_zabbix.tar.gz  zabbix [[email protected] roles]# ll zabbix/ 总用量 16 drwxr-xr-x. 2 root root 4096 5月  25 17:15 group_vars drwxr-xr-x. 8 root root 4096 5月  26 17:25

CentOS 7上安装Zabbix(快速安装监控工具Zabbix)

前提要求(optional) 安装Zabbix监控工具前,先安装必要的运行工具包 yum install gcc gcc-c++ make openssl-devel curl wget net-snmp net-snmp-utils net-snmp-libs net-snmp-devel gnutls gnutls-devel libxml2 libxml2-devel 安装httpd yum install httpd -y #启动apache systemctl start httpd

CentOS 7上安装Zabbix(高速安装监控工具Zabbix)

前提要求(optional) 安装Zabbix监控工具前,先安装必要的执行工具包 yum install gcc gcc-c++ make openssl-devel curl wget net-snmp net-snmp-utils net-snmp-libs net-snmp-devel gnutls gnutls-devel libxml2 libxml2-devel 安装httpd yum install httpd -y #启动apache systemctl start httpd

Zabbix3.2下Template App Zabbix Server+Template OS Linux Item

序号 Name Key 返回值 释义1 Agent ping agent.ping 1 就是ping一下2 Avaliable memory vm.memory.size[available] 563798016 可用的内存大小3 Checksum of /etc/passwd vfs.file.cksum[/etc/passwd]  3395042901 通过文件的cksum码检测完整性4 Context switches per second system.cpu.switches 1808

大数据面试总结(一)

一.如何检查namenode是否正常运行?重启namenode的命令是什么? 通过节点信息和浏览器查看,通过脚本监控 hadoop-daemon.sh start namenode hdfs-daemon.sh start namenode 二.hdfs存储机制是怎样的? 1) client端发送写文件请求,namenode检查文件是否存在,如果已存在,直接返回错误信息,否则,发送给client一些可用namenode节点 2) client将文件分块,并行存储到不同节点上datanode上,发

Memcached十问十答

1.Memcached是什么,有什么作用? Memcached是一种纯内存的,key-value,CS架构的数据库服务软件,主要用于数据库,web服务器的缓存,以减小数据库,web服务器的访问压力,尤其是对数据库,可以将经常被访问的数据缓存到memcache中,这是通过前端的 程序试实现的.对于常用的数据在写入的时候,不仅要往数据库中写入,还要往memcached内存中写入. 2.Memcached服务在企业集群架构中应用场景 完整缓存 热点缓存 会话保持 3.Memcached服务在不同企业业

02-zabbix深度实践

自动化监控体系 监控概述 (1)监控是运维工作中比较重要的!Linux运维中几乎所有的都需要监控. (2)监控不仅仅支持zabbix工具的使用 故事主角:小王 任务:接到公司的任务公司的监控 1.将硬件设备监控起来,使用IPMI监控硬件服务器,缺点如果硬件损坏,无法获取硬盘信息,但是我们可以使用MegaCli工具查看Raid磁盘阵列状态 使用MegaCli工具查看Raid磁盘阵列状态 http://www.ttlsa.com/tools/megacli-tool-query-raid-statu

MySQL数据库性能优化及自动化运维实践教程!DBA日常工作

MySQL数据库性能优化及自动化运维实践教程!本文作者将站在更加全面的角度分享他在这一年多 DBA 工作中的经验,希望可以给大家带来启发和帮助. DBA 的日常工作 我觉得 DBA 真的很忙,我们来看看 DBA 的具体工作:备份和恢复.监控状态.集群搭建与扩容.数据迁移和高可用. 上面这些是我们 DBA 的功能,了解这些功能以后要对体系结构有更加深入的了解,你不知道怎么处理这些故障和投诉的事情. 所以我们要去了解缓存/线程.SQL 优化.存储引擎.SQL 审计以及锁与实务:体系结构更深一点,就去