zabbix 4.0 安装配置(一)

一、Zabbix 组件

(1)Zabbix Server:负责接收Zabbix Agent或Zabbix Proxy发送的报告信息,并负责组织配置信息、统计信息及操作数据等。

(2)Zabbix Database:用于存储所有Zabbix的配置信息及监控数据的数据库,监控数据包括

a、历史数据:每次采样的结果,保存时长相对较短

b、趋势数据:聚合数据,保存相对较长周期内的数据

(3)Zabbix Web:Zabbix的GUI接口,管理员通过Web界面管理Zabbix配置以及查看Zabbix相关监控信息,可以单独部署在独立的服务器上。

(4)Zabbix Agent:部署在被监控主机上,负责收集被监控主机的数据,并发往Zabbix Server或Zabbix Proxy。

(5)Zabbix Proxy:可选组件,用于分布式监控环境,收集局部区域内Zabbix Agent的监控数据,并统一发往Zabbix Server。

说明:一般情况下,将Zabbix Agent部署在被监控主机上采集数据,报告给负责监控的中心主机,中心主机也就是master/agent模型中的master,负责监控的中心主机被称为Zabbix ServerZabbix Server将从Zabbix Agent接收到的信息存储于Zabbix Database中,如果管理员需要查看各种监控信息,则需要使用PHP编写的Zabbix Web,且依赖于LAMP环境,不管是Zabbix Server,或Zabbix Web,都需要连接到Zabbix Database获取相关数据。

二、Zabbix常用术语:

(1)host:主机,需要被Zabbix监控的对象,主机必须属于某个主机组。

(2)host group:主机组,是具有相同属性、特征、角色的多个主机组成的逻辑单元。

(3)item:监控项,一个特定监控指标的相关数据,这些数据来自于被监控对象,监控项是Zabbix进行数据收集的核心,没有监控项将没有数据,相对某监控对象来说,每个监控项都由“key”进行标识。

(4)key:键,如果想要获取监控项对应的数据,则必须通过某个key去获取,Zabbix中自带一些key,这些key往往比较通用,通过这些key可以监控CPU、内存、硬盘等常用指标,获取不同的指标信息,但如果这些自带的key无法满足监控需求时,也可以自定义key,通过自定义key执行相应的操作。

(5)trigger:触发器,一个表达式,用于评估某监控对象的某特定item内所接收到的数据是否在其合理范围内,即阈值,接收到的数据量达到阈值时,触发器状态将从“OK”转变为“Problem”,当数据量再次回归到合理范围时,其状态将从“Problem”转换回“OK”。

(6)event:事件,当触发器的状态发生改变时,会产生对应的事件,由触发器的状态改变而产生的事件被称为“触发器事件”,Zabbix中,事件分为触发器事件、自动发现事件、自动注册事件和内部事件。

(7)action:动作,指对于特定事件事先定义的处理方法,包含操作(如发送通知)和条件(何时执行操作)。

(8)escalation:报警升级,发送告警或执行远程命令的自定义方案,如每隔5分钟发送一次告警,共发送5次等。

(9)media:媒介,发送通知的手段或通道,如Email、Jabber或SMS等。

(10)notification:通知,通过选定的媒介向用户发送有关某事件的信息。

(11)remote command:远程命令,预定义的命令,可在被监控主机处于某特定条件下时自动执行。

(12)template:模板,用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule,模板可直接链接至单个主机。

(13)application:应用,一组item的集合。

(14)web scennario:web场景,用于检测web站点可用性的一个或多个HTTP请求。

(15)frontend:前端,Zabbix的web接口。

三、Zabbix支持的通信方式:

(1)Agent:通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的Agent,推荐首选此种方式。

(2)SSH/Telnet:通过远程控制协议进行通信。

(3)SNMP:Simple Network Management Protocol,简单网络管理协议,通过SNMP协议与被监控对象进行通信,通常无法在路由器、交换机这种硬件上安装Agent,但是这些硬件往往都支持SNMP协议,SNMP是一种比较久远的、通行的协议,大部分网络设备都支持这种协议,其实SNMP协议的工作方式也可以理解为master/agent的工作方式,只不过是在这些设备中内置了SNMP的Agent而已。

(4)IPMI:Intelligent Platform Management Interface,智能平台管理接口,通过IPMI接口进行监控,可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压、温度、风扇状态、电源状态等。

(5)JMX:Java Management Extensions,Java管理扩展,监控JVM虚拟机时,较常使用此种方式。

5、Zabbix的工作模式:

(1)主动模式:Zabbix Agent会将采集完的数据主动发送给Zabbix Server,可减轻Zabbix Server的压力。

(2)被动模式:Zabbix Agent不主动发送数据,而是等待Zabbix Server过来拉取数据,默认为被动模式。

说明:不管是主动模式还是被动模式,都是对于Zabbix Agent来说的,主动模式与被动模式可以并存

四、准备工作:

1、Zabbix版本选择:https://www.zabbix.com/life_cycle_and_release_policy

备注:建议选择LTSLong Term Support,长期支持)版本

2、相关网址:

(1)Zabbix下载地址:https://www.zabbix.com/download/

(2)Zabbix 4.0 LTS中文产品手册:https://www.zabbix.com/documentation/4.0/zh/manual

3、演示环境:


IP


操作系统


主机名


角色


192.168.11.206


CentOS   7.6 x86_64

web01
Zabbix   Database、Zabbix   Server、Zabbix   Web、Zabbix   Agent


192.168.11.207


CentOS   7.6 x86_64


web02


Zabbix   Agent


192.168.11.208


CentOS   7.6 x86_64


proxy


Zabbix   Proxy


192.168.11.100


windows 10


node


Zabbix   Agent

4、所有CentOS节点执行如下操作:

(1)关闭SELinux和firewalld

(2)配置服务器时间同步

(3)配置主机名

(4)配置hosts文件:

# vim /etc/hosts

192.168.11.206 web01

192.168.11.207 web02

192.168.11.208 proxy

(5)配置epel源:# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/epel/epel-release-latest-7.noarch.rpm

(6)配置Zabbix的yum源:

# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm

# rpm -ql zabbix-release

# cat /dev/null > /etc/yum.repos.d/zabbix.repo

# vim /etc/yum.repos.d/zabbix.repo

5、zabbix-server节点搭建LAMP环境:

说明:Zabbix Web依赖于LAMP环境,安装zabbix-web-mysql4.0.16)软件包时默认会自动安装httpd2.4.6)、PHP5.4.16)、zabbix-web4.0.16)等相关软件包,此处使用yum方式安装PHP 7.2版本。CentOS 7.7MariaDB的版本为5.5.64,版本较低,升级为MariaDB 10.4版本后在导入create.sql文件时会提示“ERROR 1118 (42000) at line 1278: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.”,所以Zabbix Database使用MySQL 5.7。此处不单独安装httpd,并将Zabbix DatabaseZabbix ServerZabbix Web都部署在zabbix-server节点上,实际生产环境中可以分开部署。

(1)安装配置MySQL 5.7:

a、查看系统中是否已经存在MariaDB:

# rpm -qa | grep -i mariadb --> mariadb-libs-5.5.64-1.el7.x86_64

# yum -y remove mariadb-libs

b、安装mysql57-community-release-el7.rpm:

# rpm -ivh http://repo.mysql.com/mysql57-community-release-el7.rpm

备注:安装后会在/etc/yum.repos.d目录中生成mysql-community-source.repomysql-community.repo

c、安装MySQL 5.7相关软件包:

# yum list all | grep mysql-community

# yum -y install mysql-community-client mysql-community-common mysql-community-devel mysql-community-libs mysql-community-libs-compat mysql-community-server mysql-community-test

d、初始化MySQL 5.7:# mysqld --initialize --user=mysql --datadir=/var/lib/mysql

备注:初始化之前确保/var/lib/mysql目录为空

e、修改my.cnf配置文件:

# mv /etc/my.cnf /etc/my.cnf.bak

# vim /etc/my.cnf

[mysqld]

port=3306

socket=/var/lib/mysql/mysql.sock

datadir=/var/lib/mysql

pid-file=/var/run/mysqld/mysqld.pid

log-error=/var/log/mysqld.log

lower_case_table_names=1

character_set_server=utf8mb4

collation_server=utf8mb4_general_ci

innodb_file_per_table=1

skip_name_resolve=1

slow_query_log=1

slow_query_log_file=mysql-slow.log

symbolic-links=0

explicit_defaults_for_timestamp=1

server_id=1

sync_binlog=1

innodb_flush_log_at_trx_commit=1

log_bin=mysql-bin

log_bin_index=mysql-bin.index

binlog_format=row

f、启动MySQL:

# systemctl start mysqld

# systemctl status mysqld

# ps aux | grep mysqld

# ss -tunlp | grep -w :3306

# tail -100 /var/log/mysqld.log

g、配置开机自启:# systemctl enable mysqld

h、查看[email protected]用户的初始密码:# grep password /var/log/mysqld.log

i、配置安全向导:# mysql_secure_installation

j、授权root用户远程登录:

# mysql -uroot -p

mysql> create user [email protected]‘192.168.11.%‘ identified by ‘123456‘;

mysql> grant all on *.* to [email protected]‘192.168.11.%‘;

mysql> flush privileges;

#mysql -V

(2)安装配置PHP 7.2:

a、安装webtatic-release.rpm:# rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

b、安装PHP 7.2相关软件包:

# yum list all | grep php

# yum -y install mod_php72w php72w-cli php72w-common php72w-devel php72w-fpm php72w-gd php72w-ldap php72w-mbstring php72w-mysqlnd php72w-opcache php72w-xml

c、查看PHP版本:# php -version

五、zabbix-server节点部署Zabbix Server、Zabbix Web和Zabbix Agent:

1、部署Zabbix Server:

(1)安装zabbix-server-mysql软件包:# yum -y install zabbix-server-mysql

(2)查看Zabbix Server版本:# zabbix_server -V

(3)创建zabbix数据库和‘zbxuser‘@‘192.168.11.%‘用户,并授权‘zbxuser‘@‘192.168.11.%‘用户远程管理:

# mysql -uroot -p

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> create user ‘zbxuser‘@‘192.168.11.%‘ identified by ‘123456‘;

mysql> grant all on zabbix.* to ‘zbxuser‘@‘192.168.11.%‘;

mysql> flush privileges;

(4)导入create.sql文件,初始化zabbix数据库(以下方法三选一):

# zcat /usr/share/doc/zabbix-server-mysql-4.0.16/create.sql.gz | mysql -uzbxuser -h192.168.11.206 -p zabbix

# gzip -d /usr/share/doc/zabbix-server-mysql-4.0.16/create.sql.gz

mysql> use zabbix;

mysql> source /usr/share/doc/zabbix-server-mysql-4.0.16/create.sql

# gzip -d /usr/share/doc/zabbix-server-mysql-4.0.16/create.sql.gz

# mysql -uzbxuser -h192.168.11.206 -p zabbix < /usr/share/doc/zabbix-server-mysql-4.0.16/create.sql

备注:gzip -d执行后自动删除create.sql.gz文件,保留解压后的create.sql文件

(5)检查zabbix数据库中是否创建了表:

# mysql -uzbxuser -h192.168.11.206 -p123456 -e ‘use zabbix; show tables;‘ 2> /dev/null | wc -l

(6)修改zabbix_server.conf配置文件:

# rpm -ql zabbix-server-mysql

# cd /etc/zabbix

# cp zabbix_server.conf{,.bak}

# vim zabbix_server.conf


修改前


修改后


#   ListenPort=10051


ListenPort=10051


#   LogType=file


LogType=file


LogFile=/var/log/zabbix/zabbix_server.log


保持默认


LogFileSize=0


保持默认


PidFile=/var/run/zabbix/zabbix_server.pid


保持默认


#   DBHost=localhost


DBHost=192.168.11.206


DBName=zabbix


保持默认


DBUser=zabbix


DBUser=zbxuser


#   DBPassword=


DBPassword=123456


#   DBSocket=


DBSocket=/var/lib/mysql/mysql.sock


#   DBPort=


DBPort=3306


#   ListenIP=127.0.0.1


ListenIP=192.168.11.206


AlertScriptsPath=/usr/lib/zabbix/alertscripts


保持默认


ExternalScripts=/usr/lib/zabbix/externalscripts


保持默认


#   FpingLocation=/usr/sbin/fping


FpingLocation=/usr/sbin/fping


#   AllowRoot=0


AllowRoot=0


# User=zabbix


User=zabbix

(7)启动Zabbix Server:

# systemctl start zabbix-server

# systemctl status zabbix-server

# ps aux | grep zabbix_server

# ss -tunlp | grep -w 10051

# tail -100 /var/log/zabbix/zabbix_server.log

(8)配置开机自启:# systemctl enable zabbix-server

2、部署Zabbix Web:

(1)安装zabbix-web-mysql软件包:# yum -y install zabbix-web-mysql

(2)修改httpd.conf配置文件:

# vim /etc/httpd/conf/httpd.conf


修改前


修改后


#ServerName

www.example.com:80


ServerName

192.168.11.206:80

(3)启动httpd:

# systemctl start httpd

# systemctl status httpd

# ps aux | grep httpd

# ss -tunlp | grep -w :80

(4)配置开机自启:# systemctl enable httpd

(5)浏览器访问http://192.168.11.206/zabbix #安装zabbix

说明:/etc/httpd/conf.d/zabbix.conf配置文件中已针对PHP 5.4优化,但目前安装的是PHP 7.2,需要修改/etc/php.ini配置文件,Zabbix相关PHP网页全存放在/usr/share/zabbix目录下

# vim /etc/php.ini


修改前


修改后


post_max_size   = 8M


post_max_size   = 16M


max_execution_time   = 30


max_execution_time   = 300


max_input_time   = 60


max_input_time   = 300


;date.timezone   =


date.timezone   = Asia/Shanghai

重启httpd:# systemctl restart httpd

刷新网页,必须所有的检查项都为“OK”才能继续:

安装后生成的配置文件:/etc/zabbix/web/zabbix.conf.php

登录Zabbix Web,用户名Admin   密码zabbix

3、Zabbix Web简单配置:

(1)修改Admin用户默认密码:

Administration --> Users --> Admin --> Change password 

(2)禁用guest用户:

Administration --> User groups --> 勾选Guests --> Disable

Administration --> Users --> guest用户的状态已变为Disabled

(3)修改刷新不支持项的时间间隔:

Administration --> General --> Other --> Refresh unsupported items默认10m修改为30s --> Update

(4)调整每页显示的行数,默认为50行:

Admin--> User --> Rows per page (200)--> Update

(5)开启前端消息声音:

Admin --> Messaging --> Frontend messaging[勾上√,全选] --> Update

4、部署Zabbix Agent:

出现ZBX没有变绿,是因为没有安装Zabbix agent

(1)安装zabbix-agent软件包:# yum -y install zabbix-agent

(2)修改zabbix_agentd.conf配置文件:

# cd /etc/zabbix

# cp zabbix_agentd.conf{,.bak}

# vim zabbix_agentd.conf


修改前


修改后


PidFile=/var/run/zabbix/zabbix_agentd.pid


保持默认


# LogType=file


LogType=file


LogFile=/var/log/zabbix/zabbix_agentd.log


保持默认


LogFileSize=0


保持默认


# EnableRemoteCommands=0


EnableRemoteCommands=1


Server=127.0.0.1


Server=192.168.11.206


# ListenPort=10050


ListenPort=10050


# ListenIP=0.0.0.0


ListenIP=192.168.11.206


ServerActive=127.0.0.1


ServerActive=192.168.11.206


Hostname=Zabbix server


Hostname=zabbix-server


# AllowRoot=0


AllowRoot=0


# User=zabbix


User=zabbix


Include=/etc/zabbix/zabbix_agentd.d/*.conf


保持默认


# UnsafeUserParameters=0


UnsafeUserParameters=1

说明:

Server:使用于被动模式,指定允许哪台Zabbix Server主动拉取当前Zabbix Agent的数据,此IPZabbix ServerIP,实现基于IP的访问控制,如果有多个IP,使用逗号分隔。

ServerActive:使用于主动模式,指定Zabbix Agent将信息主动推送至哪台Zabbix Server,如果有多个IP,使用逗号分隔。

(3)启动Zabbix Agent:

# systemctl start zabbix-agent

# systemctl status zabbix-agent

# ps aux | grep zabbix_agent

# ss -tunlp | grep -w 10050

# tail -100 /var/log/zabbix/zabbix_agentd.log

(4)配置开机自启:# systemctl enable zabbix-agent

5、配置Zabbix Web:

Configuration --> Hosts --> Zabbix server --> Update


修改前


修改后


Host   name: Zabbix server


Host   name: zabbix-server


Visible   name:


Visible   name: Zabbix server


IP   address: 127.0.0.1


IP   address: 192.168.11.206

说明:上述Zabbix Web中的Host name值要与该节点的主机名,以及/etc/zabbix/zabbix_agentd.conf配置文件中的Hostname参数值三者相同

备注:zabbix-server节点完成对自身状态的监控;

原文地址:https://www.cnblogs.com/comprehensive/p/12217570.html

时间: 2024-10-08 09:12:01

zabbix 4.0 安装配置(一)的相关文章

zabbix 4.0 安装配置(五)

一.监控Nginx.httpd.Tomcat.php-fpm.Redis 1.监控Nginx: (1)web02节点安装Nginx (2)开启Nginx状态页面: # cd /etc/nginx # cp nginx.conf{,.bak} # vim nginx.conf,在server配置段中新增如下代码: location = /nginx_status { stub_status; } # nginx -t # systemctl start nginx # systemctl stat

Ubuntu14.04 x64 zabbix 3.0 安装

Ubuntu14.04 x64  zabbix 3.0 安装 苦于网上的文档很多,但是对初学者来说,很多都搭建不成功,我重新安装一下.记录一下. 下载deb wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+trusty_all.deb dpkg -i zabbix-release_3.0-1+trusty_all.deb apt-get update 1.安

Zabbix 3.0 安装

Zabbix 3.0 安装 原文地址http://mp.weixin.qq.com/s?__biz=MzA5NjgwNzM0OQ==&mid=401897477&idx=1&sn=9eda7c22a93b89e30cd1672af19a9c84&scene=23&srcid=02178AIGacHXnK08V8EA6z37#rd 2016-02-17 admin OneOaaS Zabbix 3.0 For CentOS6安装 1 概述2 安装MySQL3 安装WE

zabbix v3.0安装部署

zabbix v3.0安装部署 摘要: 本文的安装过程摘自http://www.ttlsa.com/以及http://b.lifec-inc.com ,和站长凉白开的<ZABBIX从入门到精通v3.0.1 - 运维生存时间(2016)>一书. 关于zabbix及相关服务软件版本: Linux:centos 6.6 nginx:1.9.15 MySQL:5.5.49 PHP:5.5.35 一.安装nginx: 安装依赖包: yum -y install gcc gcc-c++ autoconf

zabbix系列(一):zabbix server的安装配置

zabbix server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据以及操作数据均由其组织进行. database storage: 专用于存储所有配置信息,以及由zabbix收集的数据 web interface:zabbix 的GUI 接口,通常与server 运行在一台主机上. proxy:可选组件,用于分布式监控环境中,代理server 收集部分被监控的监控数据并统一发往server 端. agent:部署在被监控主机上,负责收集本地数据发往server 端或por

Zabbix介绍、安装配置

Zabbix介绍.安装配置 本篇文章转自我的个人博客, http://anyisalin.com,欢迎大家访问 我们为什么需要监控? 没有监控就将系统上线, 就是在耍流氓; 在生产环境中, 监控是必不可少的, 因为我们需要实时了解业务的运行状态, 并且将数据以图表的方式直观的展示出来, 甚至当服务出现故障还可以根据事先定义好的规则自动执行相应脚本, 从而实现自动恢复.转移等功能 常用的开源监控系统有哪些? 运维工作就是大部分时候都是通过各种工具来让我们完成特定的任务, 监控也是如此, 目前也有很

CentOS 7.0安装配置Vsftp服务器步骤详解

安装Vsftp讲过最多的就是在centos6.x版本中了,这里小编看到有朋友写了一篇非常不错的CentOS 7.0安装配置Vsftp服务器教程,下面整理分享给各位. 一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止

CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)

原文 CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB) 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptables防火墙 yum insta

CentOS 7.0 安装配置LAMP服务器方法(Apache+PHP+MariaDB)

一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptables防火墙 yum install iptables-services #安装 vi /etc/sysconfig/ip