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便启动起来了(变为绿色)