Zabbix3.0基础教程之一:系统监控,zabbix安装与基本配置

一、安装环境:

系统环境:

系统版本: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=1
gpgcheck=1
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=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

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.22
/usr/share/doc/zabbix-server-mysql-3.0.22/AUTHORS
/usr/share/doc/zabbix-server-mysql-3.0.22/COPYING
/usr/share/doc/zabbix-server-mysql-3.0.22/ChangeLog
/usr/share/doc/zabbix-server-mysql-3.0.22/NEWS
/usr/share/doc/zabbix-server-mysql-3.0.22/README
/usr/share/doc/zabbix-server-mysql-3.0.22/create.sql.gz #数据库脚本文件,用于在MySQL中创建Zabbix所需的各种数据库环境
/usr/share/man/man8/zabbix_server.8.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=1
~]# 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 '123456';
> GRANT ALL ON zabbixdb.* TO 'zabbix'@'127.0.0.1' IDENTIFIED BY '123456';

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

gzip -d /usr/share/doc/zabbix-server-mysql-3.0.22/create.sql.gz
~]# mysql -uzabbix -p123456 -h 192.168.11.152
> USE zabbixdb; #选择zabbixdb库
> SOURCE /usr/share/doc/zabbix-server-mysql-3.0.22/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 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        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便启动起来了(变为绿色)

 

posted @ 2018-09-16 21:00  readygood  阅读(3235)  评论(1编辑  收藏  举报