一、安装环境:

系统环境:

系统版本:CentOS Linux release 7.4.1708 (Core)

内核版本:3.10.0-693.el7.x86_64

关闭Firewall与SELinux

Zabbix:3.0

架构图:

IP分配:

Zabbix_Server:192.168.11.153

Zabbix_WEB:192.168.11.151

Zabbix_DB:192.168.11.152

Agent1:192.168.11.135

Agent2:192.168.11.136

在被监控项较多的生产环境中一般会将Zabbix_Server,WEB,DB分散到不同的主机上,以提高性能。

二、安装Zabbix服务端

建议有外网时尽量选择yum安装。

1.在所有节点配置zabbix官方yum源

~]# vim /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/3.0/rhel/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX [zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=

2.Zabbix服务端部署安装

~]# yum install zabbix-server-mysql zabbix-get

查看服务端安装文件

~]# rpm -ql zabbix-server-mysql
/etc/logrotate.d/zabbix-server
/etc/zabbix/zabbix_server.conf #Zabbix配置文件
/usr/lib/systemd/system/zabbix-server.service #Zabbix启动脚本
/usr/lib/tmpfiles.d/zabbix-server.conf
/usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-3.0.
/usr/share/doc/zabbix-server-mysql-3.0./AUTHORS
/usr/share/doc/zabbix-server-mysql-3.0./COPYING
/usr/share/doc/zabbix-server-mysql-3.0./ChangeLog
/usr/share/doc/zabbix-server-mysql-3.0./NEWS
/usr/share/doc/zabbix-server-mysql-3.0./README
/usr/share/doc/zabbix-server-mysql-3.0.22/create.sql.gz #数据库脚本文件,用于在MySQL中创建Zabbix所需的各种数据库环境
/usr/share/man/man8/zabbix_server..gz
/var/log/zabbix
/var/run/zabbix

Zabbix服务端的配置文件分为四部分:

1.基本参数配置

2.高级参数配置

3.模块配置

4.TLS-RELATED配置

~]# grep "^#####" /etc/zabbix/zabbix_server.conf
############ GENERAL PARAMETERS #################
############ ADVANCED PARAMETERS ################
####### LOADABLE MODULES #######
####### TLS-RELATED PARAMETERS #######

简单搭建zabbix时在服务端常用配置参数:

ListenPort=10051 #zabbix服务监听端口,默认为10051
SourceIP= #zabbix对外连接的出口IP,当系统设置有多个IP时,需要指定一个IP与二级代理或服务端通信,若系统只有一个IP,也建议指定一个IP
LogType=file #log存储类型
LogFile=/var/log/zabbix/zabbix_server.log #log路径
LogFileSize=0 #log最大占用空间大小,设置为0指不限制log大小
DebugLevel=3 #debug等级 DBHost=localhost #数据库主机名或IP,若zabbix服务端与MySQL不在同一主机上时需要填MySQL主机名或IP
DBName=zabbixdb #数据库的库名
DBUser=zabbix #数据库用户名
DBPassword=123456 #数据库密码
DBSocket=/tmp/mysql.sock #本地连接数据库时的socket路径,若MySQL和zabbix服务端在同一主机上需要特别注意socket路径,否则可能会启动zabbix出错
DBPort=3306 #数据库所监听的端口

3.Zabbix数据库安装

在Zabbix_DB:192.168.11.152上配置MariaDB的国内yum源并yum安装MariaDB:

~]# vim /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=
~]# yum install -y MariaDB-server
~]# systemctl start mariadb
~]# mysql_secure_installation #初始化mysql,设置密码后全选择Y

登陆MySQL:

> CREATE DATABASE zabbixdb CHARSET 'utf8';
> GRANT ALL ON zabbixdb.* TO 'zabbix'@'192.168.%.%' IDENTIFIED BY '';
> GRANT ALL ON zabbixdb.* TO 'zabbix'@'127.0.0.1' IDENTIFIED BY '';

解压数据库脚本文件并导入到数据库(以下步骤在Zabbix_Server:192.168.11.153上操作,并提前装好MariaDB-client):

gzip -d /usr/share/doc/zabbix-server-mysql-3.0./create.sql.gz
~]# mysql -uzabbix -p123456 -h 192.168.11.152
> USE zabbixdb; #选择zabbixdb库
> SOURCE /usr/share/doc/zabbix-server-mysql-3.0./create.sql; #导入

导入后SHOW TABLES;可以看到sql脚本自动导入了113项表。

启动zabbix-server并查看10051端口是否监听:

~]# systemctl start zabbix-server
~]# ss -lntup

若出现未监听10051端口的情况,检查zabbix-server是否正常连接MySQL,或查看zabbix日志。

4.安装Zabbix WEB GUI

Zabbix_WEB需要PHP和WEB环境,所以先搭建好httpd+php。

安装php与httpd相关依赖包

~]# yum install httpd php php-mysql php-mbstring php-gd php-bcmath php-ldap php-xml -y

安装zabbix WEB组件

~]# yum install -y zabbix-web

启动httpd

~]# systemctl start httpd

在浏览器键入192.168.11.151/zabbix

yum安装zabbix-web是非常简单便利的,因为它不像编译安装zabbix那样还需要手动调整httpd与php参数,在yum安装完成后就生成了已经配置好的httpd文件/etc/httpd/conf.d/zabbix.conf,这里面与PHP相关的参数已经配置完成,我们只需手动改一下时区即可。

~]# vim /etc/httpd/conf.d/zabbix.conf
<IfModule mod_php5.c>
php_value max_execution_time
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time
php_value max_input_vars
php_value always_populate_raw_post_data -
php_value date.timezone Asia/ShangHai #时区

按照提示继续下一步,填入数据库相关属性

下一步,填入Zabbix-server相关配置,这里Zabbix-server的IP为192.168.11.153

下一步,完成以上步骤后,会提示安装配置总览,若无误进入下一步。

配置完成,初始化配置文件保存在/etc/zabbix/web/zabbix.conf.php中

下一步,配置完成并登录:

以上步骤完成后,Zabbix整个服务端便搭建完成,下面搭建Agent端;

三、安装Zabbix Agent端

在Agent1:192.168.11.135,Agent2:192.168.11.136上安装Zabbix-agent组件

~]# yum  install zabbix-agent zabbix-sender -y

zabbix-agent端也有自己的配置文件/etc/zabbix/zabbix_agentd.conf,分为如下几个部分:

############ GENERAL PARAMETERS #################
##### Passive checks related #被动监控相关配置
##### Active checks related #主动监控相关配置,agent端主动向server周期性发送数据;
############ ADVANCED PARAMETERS #################
####### USER-DEFINED MONITORED PARAMETERS ####### #用户自定义参数
####### LOADABLE MODULES #######
####### TLS-RELATED PARAMETERS #######

关于主动和被动模式概述:https://www.cnblogs.com/readygood/p/9650934.html

简单配置需要修改的项:

##### Passive checks related
Server=192.168.11.153
ListenPort=10050
ListenIP=0.0.0.0
StartAgents=3
##### Active checks related
ServerActive=192.168.11.153
Hostname=test

启动agent服务

~]# systemctl start zabbix-agent

添加群组与主机:

添加群组与主机后,在主机页会显示添加的主机,状态为已启用,但可用性一栏仍是灰色,这是因为还未添加监控项,在没有任何监控项时,agent默认是不可用的。

添加监控项,点击主机,选择监控项

监控项中有一个很重要的参数--item key,中文名叫键值。Zabbix有很多内建的key,但并不能满足监控需要,所以通常需要按生产环境需求自定义key。

成功添加监控项后,agent便启动起来了(变为绿色)

Zabbix3.0基础教程之一:系统监控,zabbix安装与基本配置的更多相关文章

  1. Android程序开发0基础教程(一)

    程序猿学英语就上视觉英语网 Android程序开发0基础教程(一)   平台简单介绍   令人激动的Google手机操作系统平台-Android在2007年11月13日正式公布了,这是一个开放源码的操 ...

  2. Spring Boot 2.x基础教程:Spring Data JPA的多数据源配置

    上一篇我们介绍了在使用JdbcTemplate来做数据访问时候的多数据源配置实现.接下来我们继续学习如何在使用Spring Data JPA的时候,完成多数据源的配置和使用. 添加多数据源的配置 先在 ...

  3. BIND简易教程(1):安装及基本配置

    首先,为什么说是简易教程呢?因为BIND的功能实在太多,全写出来的话要连载好久,我觉得我没有那么多精力去写:而我了解的仅仅是有限的一点点,不敢造次.百度上的文章也是一抓一大把呐!所以,教点基本使用方法 ...

  4. CentOS7.5 系统最小化安装与初始化配置

    CentOS7.5 系统最小化安装与初始化配置 1.安装标准化的系统 1.1.系统安装期间的语言 选择:中文-简体中文,安装完成也会默认支持中文输出,便于管理 1.2.时区选择 亚洲上海,CST时区( ...

  5. zabbix3.0.4使用shell脚本和zabbix自带模板两种方法添加对指定进程和端口的监控

    zabbix3.0.4添加对进程的监控: 方法一:通过自定义命令进行监控 主要思路: 通过 ps -ef|grep sdk-push-1.0.0.jar |grep -v grep|wc -l 这个命 ...

  6. Zabbix3.0基础教程之二:item、trigger、action、graph配置

    一.Zabbix监控报警过程 在一次完整的Zabbix配置中,需要涉及到的术语有以下几项: 1.host groups:主机组,按生产需求将功能类别相近或相同的主机进行分组,便于管理. 2.host: ...

  7. 建设DevOps统一运维监控平台,全面的系统监控 Zabbix VS Nagios VS Open-Falcon OR Prometheus

    前言 随着Devops.云计算.微服务.容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器.虚拟机.物理机不一而足.面对动辄几百上千个虚拟机.容 ...

  8. zabbix3.0自动发现磁盘并监控磁盘IO

    Zabbix 版本:3.0 操作系统:Ubuntu16.04 操作环境,在被监控的主机上安装zabbix agent.安装方式为源码包安装. 简要安装步骤: 参考:https://www.zabbix ...

  9. ActiveMQ基础教程(二):安装与配置(单机与集群)

    因为本文会用到集群介绍,因此准备了三台虚拟机(当然读者也可以使用一个虚拟机,然后使用不同的端口来模拟实现伪集群): 192.168.209.133 test1 192.168.209.134 test ...

随机推荐

  1. ASP.NET C# 实现实时用户在线

    public static class UserOnline { /// <summary> /// 获取或设置在线列表 /// </summary> public stati ...

  2. EXCLE 导入 或 导出

    首先要引用 NPOI.dll   (可在网上下载!)//导入public void OnSubmit()        {            string path = Server.MapPat ...

  3. Linux 管理进程

    探查进程 参数 描述 -A 显示所有进程 -N 显示与指定参数不符的所有进程 -a 显示除控制进程(session leader1)和无终端进程外的所有进程 -d 显示除控制进程外的所有进程 -e 显 ...

  4. [tkinter]隐藏/销毁控件

    pack布局的情况下有pack_forget()方法让控件“不再显示”但控件还存在可以再次pack出来 from tkinter import * root = Tk() l1 = Label(roo ...

  5. CUDA编程模型

    1. 典型的CUDA编程包括五个步骤: 分配GPU内存 从CPU内存中拷贝数据到GPU内存中 调用CUDA内核函数来完成指定的任务 将数据从GPU内存中拷贝回CPU内存中 释放GPU内存 *2. 数据 ...

  6. MVC编程模型

    MVC 编程模型 MVC 是三个 ASP.NET 开发模型之一. MVC 是用于构建 web 应用程序的一种框架,使用 MVC (Model View Controller) 设计: Model(模型 ...

  7. json转义 使用 JavaScriptSerializer 时 需要添加的引用

    当创建JavaScriptSerializer创建对象时,JavaScriptSerializer jss=new JavaScriptSerializer():时. 1.   需要添加的是Syste ...

  8. ABP入门系列(17)——使用ABP集成的邮件系统发送邮件

    ABP中对邮件的封装主要集成在Abp.Net.Mail和Abp.Net.Mail.Smtp命名空间下,相应源码在此. #一.Abp集成的邮件模块是如何实现的 分析可以看出主要由以下几个核心类组成: E ...

  9. 【XSS】利用 onload 事件监控流量劫持

    说到跨站资源监控,首先会联想到『Content Security Policy』.既然 CSP 好用,我们何必自己再搞一套呢.那就先来吐槽下 CSP 的缺陷. 目前的 CSP 日志不详细 用过 CSP ...

  10. Linux 纯字符界面的玩法

    Linux 纯字符界面的用途 装逼必备 省资源,服务器一般不安装图形界面 图形界面崩溃后紧急救援 进入字符界面的正确方式 目前新的 Linux 发行版基本上都使用 Systemd 作为 init 程序 ...