Zabbix入门

简介

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络和系统参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题。

监控数据采集通道:
SNMP:Simple Network Management Protocol
ssh/telnet
IPMI:智能型平台管理接口
agent:
    master/agent
JMX:Java Management Extensions
自定义采样机制:UserPrameter,基于agent端实现
存储系统:
关系型数据库:MySQL、PostgreSQL、Oracle...
NoSql:Mangodb...
特性
告警:
    notification
    支持告警升级
    支持script
    
展示:
    实时绘图:graph, screen, slide show, map

支持模板
网络自动发现
分布式监控
    Server <--> Proxy <--> agent/ssh/ipmi 
API:支持二次开发
image.png

安装Zabix

主机环境
系统:          CentOS 7.3
数据库:        MariaDB
Zabbix版本:    3.4.1

官网地址:https://www.zabbix.com/
官网提供打包好的rpm包和repo仓库安装包。

image.png
image.png
Server端安装:
[root@centos7.3 ~]#yum -y install zabbix-server-mysql zabbix-web zabbix-web-mysql zabbix-get zabbix-agent zabbix-sender 
zabbix-server-mysql         #服务端守护进程以及连接所需mysql的组件;
zabbix-get                  #命令行工具,手动测试向agent发起数据采集请求;
zabbix-web                  #web界面,会自动安装和配置httpd和php。
zabbix-web-mysql            #web程序连接mysql数据组件
zabbix-agent                #agent守护进程,用于Zabbix监控本身状态。
zabbix-sender               #命令行工具,手动向server端发送数据;
zabbix-prxoy-mysql          #代理服务器,可选组件
zabbix_java_gateway         #java网关
anget端安装所需软件包:
zabbix-agent                #agent守护进程
zabbix-sender               #命令行工具,运行于agent端,手动向server端发送数据

配置 zabbix server

配置数据库

本文是实验环境所以把数据库和Zabbix Server部署在一台主机上面,建议在真实的生产环境中把数据库和Zabbix Server放在不同的主机上面。

[root@centos7.3 ~]#yum -y install mariadb-server
[root@centos7.3 ~]#systemctl start mariadb
[root@centos7.3 ~]#mysql_secure_installation        #运行安全脚本
[root@centos7.3 ~]#systemctl restart mariadb
[root@centos7.3 ~]#mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.52-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE zabbix CHARSET 'utf8';        #为zabbix创建一个数据库。
MariaDB [(none)]> GRANT ALL ON zabbix.* TO 'zabbix'@'127.0.0.1' IDENTIFIED BY 'admin123';
                    #为zabbix创建一个用户并授权拥有zabbix库的所有权限。

还需要在zabbix库中创建一些表,在zabbix-zabbix-server-mysql包中提供了一个sql脚本用于创建表。

[root@centos7.3 ~]#cd /usr/share/doc/zabbix-server-mysql-3.4.1/
[root@centos7.3 zabbix-server-mysql-3.4.1]#ls
AUTHORS  ChangeLog  COPYING  create.sql.gz  NEWS  README
[root@centos7.3 zabbix-server-mysql-3.4.1]#gzip -d create.sql.gz 
[root@centos7.3 zabbix-server-mysql-3.4.1]#mysql -u zabbix -h 127.0.0.1 -padmin123 zabbix < create.sql
配置服务
server端默认端口:10051
agetn端默认端口 :10050
Server配置文件:/etc/zabbix/zabbix_server.conf
Agent配置文件 :/etc/zabbix/zabbix_agentd.conf

Server 配置:

[root@centos7.3 ~]#cd /etc/zabbix/
[root@centos7.3 zabbix]#grep "^####" zabbix_server.conf 
############ GENERAL PARAMETERS #################   #通用配置
############ ADVANCED PARAMETERS ################   #高级配置段
####### LOADABLE MODULES #######                    #模块配置段
####### TLS-RELATED PARAMETERS #######              #tls/ssl配置段

通用配置段参数:

ListenPort=10050                            #监听端口
SourceIP=192.168.166.131                    #监听IP地址
LogType=file                                #日志存储方式,可选:system(rsyslog)、file、console(标准输出)默认file。
LogFile=/var/log/zabbix/zabbix_server.log   #日志文件路径
LogFileSize=0                               #日志文件大小,达到设置的值自动滚动文件
DebugLevel=3                                #日志记录等级(0-5)
PidFile=/var/run/zabbix/zabbix_server.pid   #zabbix的pid文件路径
SocketDir=/var/run/zabbix                   #存储Zabbix内部服务使用的IPC套接字的目录
DBHost=localhost                            #数据库地址
DBName=zabbix                               #数据库名
DBUser=zabbix                               #zabbix登陆数据库用户
DBPassword=admin123                         #密码
DBSocket=/var/lib/mysql/mysql.sock          #本地连接的sock文件路径,用于本地连接数据库
                                            #这里我已经改为使用rpm包安装的mariadb的sock文件默认路径/var/lib/mysql/mysql.sock
DBPort=3306                                 #数据库端口

下面配置基本不需要修改


高级配置段

StartPollers=5                              #接收监控信息的进程数,范围:0-1000。
StartIPMIPollers=0                          #接收IPMI信息的进程数
StartPreprocessors=3
StartPollersUnreachable=1                   #无法访问的主机的轮询器的进程数。如果启动了常规的IPMI或Java轮询器,则至少需要运行一个无法访问的主机的轮询器。
StartTrappers=5                             #Trappers的进程数量.Trappers接受来自Zabbix agent,活动代理和活动代理的传入连接。至少必须运行一个陷阱进程才能在前端显示服务器可用性和查看队列。
StartPingers=1                              #ICMP的获取icmp监控信息的进程数。
StartDiscoverers=1
StartHTTPPollers=1                          #HTTP轮询器的进程数。
StartTimers=1
StartEscalators=1
StartAlerters=3                             #警报器进程的数量.Alerter发送由操作操作创建的通知。
JavaGateway=                                #Java网关的IP地址或主机名
JavaGatewayPort=10052                       #Java网关侦听的端口。
StartJavaPollers=0                          #Java轮询器的预分支实例数。
StartVMwareCollectors=0                     #vmware收集器进程数量。
VMwareFrequency=60
VMwarePerfFrequency=60
VMwareCacheSize=8M                          #用于存储VMware数据的共享内存大小。128KB-2G
VMwareTimeout=10                            #指定vmware收集器等待VMware服务响应的秒数。
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log#用于将数据从SNMP陷阱守护程序传递到服务器的临时文件。与zabbix_trap_receiver.pl或SNMPTT配置文件中的相同。
StartSNMPTrapper=0                          #如果1,启动SNMP陷阱进程
ListenIP=127.0.0.1                          #trapper应该监听的逗号分隔的IP地址列表。
HousekeepingFrequency=1
MaxHousekeeperDelete=5000
CacheSize=8M                                #用于存储主机,项目和触发器数据的共享内存大小
CacheUpdateFrequency=60                     #Zabbix将在几秒钟内执行配置缓存的更新频率。1-3600
StartDBSyncers=4
HistoryCacheSize=16M                        #历史缓存的大小,以字节为单位。用于存储历史数据的共享内存大小。128K-2G
HistoryIndexCacheSize=4M                    #历史索引缓存的大小,以字节为单位。用于索引历史缓存的共享内存大小。128K-2G
TrendCacheSize=4M                           #用于存储趋势数据的共享内存大小。128K-2G以字节为单位。
ValueCacheSize=8M                           #用于缓存项历史数据请求的共享内存大小。设置为0将禁用值缓存。0,128K-64G以字节为单位。
Timeout=4                                   #指定等待代理,SNMP设备或外部检查的时间(以秒为单位)。
TrapperTimeout=300
UnreachablePeriod=45                        #被监控主机的超时时间
UnavailableDelay=60                         #在不可用期间内,主机检查可用性的频率(秒)。范围:1-3600
UnreachableDelay=15                         #在不可达性期间检查主机的可用性,以秒为单位。范围:1-3600
AlertScriptsPath=/usr/lib/zabbix/alertscripts   #报警脚本的路径。
ExternalScripts=/usr/lib/zabbix/externalscripts #外部脚本的路径。
FpingLocation=/usr/sbin/fping
Fping6Location=/usr/sbin/fping6
SSHKeyLocation=                             #用于SSH检查和操作的公钥和私钥位置。
LogSlowQueries=3000                         #在记录之前数据库查询可能需要多长时间(以毫秒为单位)。如果DebugLevel设置为3,4或5.0 - 不记录缓慢的查询,那么该方法是有效的。范围:1-3600000
TmpDir=/tmp                                 #数据临时目录
StartProxyPollers=1
ProxyConfigFrequency=3600                   #Server向 Proxy发送配置的间隔时间。仅用于被动模式下,范围:1-3600 * 24 * 7
ProxyDataFrequency=1                        #Server向向Proxy请求数据的时间间隔。仅用于被动模式。值:1-3600 秒
AllowRoot=0                                 #是否运行以root运行程序
User=zabbix                                 #运行zabbix的用户

# Include=/usr/local/etc/zabbix_server.general.conf
# Include=/usr/local/etc/zabbix_server.conf.d/
# Include=/usr/local/etc/zabbix_server.conf.d/*.conf
SSLCertLocation=${datadir}/zabbix/ssl/certs #SSL客户端证书的位置。此参数仅用于Web监控。
SSLCALocation=                              #SSL客户端证书的私钥位置。此参数仅用于Web监控。          
# SSLCALocation=                            #SSL服务器证书验证的CA文件的位置。仅用于Web监控和SMTP身份验证。

模块配置段

# LoadModulePath=${libdir}/modules              #服务器模块位置的完整路径。缺省取决于编译选项。
# LoadModule=                                   #在服务器启动时加载模块。 模块用于扩展服务器的功能。格式:LoadModule = <module.so>模块必须位于LoadModulePath指定的目录中。允许包含多个LoadModule参数。

TLS配置段

# TLSCAFile=                                    #包含顶级CA证书的文件的完整路径名。
# TLSCRLFile=                                   #包含撤销证书的文件的完整路径名。
# TLSCertFile=                                  #证书路径
# TLSKeyFile=                                   #zabbix server私钥路径

配置zabbix-web:

zabbix-web在安装时会自动解决依赖关系和配置。

zabbix严重依赖时区,时区设置有问题会导致无法访问web页面,配置php的时区设定:下面两个文件改其中一个就行

(1) /etc/php.ini 
(2) /etc/httpd/conf.d/zabbix.conf
[root@centos7.3 zabbix]#vim /etc/httpd/conf.d/zabbix.conf
# php_value date.timezone Europe/Riga           #找到这一项去掉注释修改时区
php_value date.timezone Asia/Shanghai

修改完成后启动httpd服务

访问URL:http://HOST/zabbix 
image.png

检查各项配置是否正确

image.png

填写数据库的信息

image.png

填写zabbix server 的信息

image.png

配置好后会生成一个配置文件:/etc/zabbix/web/zabbix.conf.php

<?php
// Zabbix GUI configuration file.       #这里都是在web页面初始配置时设置的配置信息
global $DB; 

$DB['TYPE']     = 'MYSQL';          
$DB['SERVER']   = '127.0.0.1';
$DB['PORT']     = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER']     = 'zabbix';
$DB['PASSWORD'] = 'admin123';

// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';

$ZBX_SERVER      = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'Zabbix Sserver1';

$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

默认登陆用户名密码:admin/zabbix

修改密码


image.png
image.png

设置好密码后点击update

Web页面共有5个一级菜单
Monitoring          #监控数据
Inventory           #资产清单
Reports             #生成的报告
Configuration       #配置
Administration      #管理zabbix
Zabbix 配置菜单:
主机组
    主机
模板(template):快速定义被监控主机的各监控项的预设项目集合;
    应用(application):同一类监控项的集合;
监控项(item)
    key:实现获取监控的目标上的数据的命令或脚本的名称;
    触发器(trigger):表达式;PROBLEM, OK;
图形(graph):用于展示历史数据或趋势数据的图像;
聚合图形(screen):由多个graph组成;
关联事件(event):

动作(action):由条件(condition)和操作(operation)组件;
    媒介(media):发送通知的通道;
    通知(notification):
    远程命令(remote command):
    报警升级():

配置zabbix server 自监控

修改Server端的zabbix_agentd.conf文件

[root@centos7.3 ~]#systemctl start zabbix-server            #启动zabbix-sever
[root@centos7.3 ~]#vim /etc/zabbix/zabbix_agentd.conf       #需改agent配置文件
##### Passive checks related                                #修改被动监控配置段
Server=127.0.0.1,192.168.166.132                            #允许哪些主机监控agent
##### Active checks related                                 #主动监控配置段
ServerActive=127.0.0.1                                      #将监控数据发给那台主机

启动zabbix-agent

[root@centos7.3 ~]#systemctl start zabbix-agent #启动agent
[root@centos7.3 ~]#ss -ntl                      #查看监听的端口
State       Recv-Q Send-Q      Local Address:Port                     Peer Address:Port              
LISTEN      0      50                      *:3306                                *:*                  
LISTEN      0      128                     *:22                                  *:*                  
LISTEN      0      128                     *:10050                               *:*                  
LISTEN      0      128                     *:10051                               *:*                  
LISTEN      0      128                    :::80                                 :::*                  
LISTEN      0      128                    :::22                                 :::*                     
LISTEN      0      128                    :::10050                              :::*                  
LISTEN      0      128                    :::10051                              :::*     

在web页面上面启用zabbix server 监控项


image.png

等待一会儿监控就有监控数据了,查看监控数据


image.png
image.png

监控agent端的配置:

安装zabbix_agentd
yum install zabbix-agent-3.0.2-1.el7.x86_64.rpm  zabbix-sender-3.0.2-1.el7.x86_64.rpm

配置文件:/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 #######
修改配置agent配置文件

全局配置段

############ GENERAL PARAMETERS #################
EnableRemoteCommands=0                          #是否允许Server端执行远程命令

被动监控配置段

##### Passive checks related
Server=IP1, IP2, ...                            #运行采集数据的服务器
ListenPort=10050                                #agent监听的端口
ListenIP=0.0.0.0                                #监听的地址
StartAgents=3                                   #启动agent进程数

主动监控配置端

##### Active checks related        
ServerActive=IP1[:port], IP2[:port]             #zabbix server 的地址
Hostname=Unique_HOSTNAME                        #Agent端在Server端的名称;

启动服务:

systemctl start zabbix-agent.service 
在Server端添加agent主机并为主机套用模板
image.png

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,907评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,546评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,705评论 0 238
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,624评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,940评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,371评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,672评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,396评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,069评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,350评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,876评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,243评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,847评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,004评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,755评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,378评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,266评论 2 259

推荐阅读更多精彩内容

  • Zabbix简介 Zabbix官方网站Zabbix中文文档 本文系统环境是CentOS7x86_64, Zabbi...
    Zhang21阅读 7,842评论 0 37
  • 1.写在前面 本文主要介绍的是zabbix的编译安装过程,包含它的基础环境LNMP,虽然zabbix官方一般推荐的...
    天之蓝色阅读 2,452评论 0 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,087评论 18 139
  • 自定义key网络发现Web监控主动检测基于SNMP监控基于JMX监控Zabbix ProxyZabbix调优 一、...
    哈喽别样阅读 1,077评论 0 1
  • 8-25去德国转换器79 晚饭36 超市购物309 8-26 早饭13 8-27 停车费25 加油257 水果6 ...
    吴进_2a7b阅读 142评论 0 0