ls0398 发表于 2019-1-19 14:59:36

zabbix简单了解安装

  一、概述
  1、zabbix简介:
  zabbix(音同zbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。整合了cacti和nagios的特性能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。支持SNMP,zabbix_agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
  2、zabbix搭建环境:
  zabbix中web前端是由PHP编写。所以在搭建zabbix监控平台的前提就是要有PHP的解析。(服务器+静态web+PHP动态解析+数据库),在这次实验中使用LNMP环境作为基础。LNMP环境可以安装在同一台服务器上,也可以分布式安装。zabbix客户端随实际情况选择是否安装。如果还想监控其他网络中的设备,则还需要一台zabbix代理服务器
  3、zabbix特点:

[*]  安装与配置简单,学习成本低。
[*]  完善的图形输出,和丰富的API接口。#通过图像不仅可以实时显示监控项目的数据还可以实时查看网络拓扑的各种表,zabbix提供了丰富API接口,方便二次开发
[*]  灵活的触发器和强大的报警机制       #不仅可以自定义触发器还可以灵活修改模板自带的触发器
[*]  可以自动发现服务器及网络设备。   #根据web配置界面中可灵活配置自动发现规则
[*]  分布式监视以及WEB集中管理功能。    #支持proxy实现分布式架构设计,也可实现跨地区,跨平台的实时监控。
[*]  丰富的采集功能和快速的运行效率。   #系统提供十几种数据采集功能,zabbix除了web前端以后都是使用C语言编写的,所以拥有非常高的运行效率
  4、zabbix重要组件说明:

[*]  zabbix_server:核心组件,负责获取监控数据,在必要的时候发送报警信息
[*]  zabbix_proxy:可选组件,根据server的配置采取被监控端数据,定期发送给server来减轻服务端压力
[*]  zabbix_agent:可选组件,获取本地数据,发送给服务端
[*]  web前端:面向用户,根据用户的指令去配置监控服务器或监控项等,并将监控数据展示给用户
[*]  database_store:存储监控到了数据,并提供web查询将监控数据展示给用户
  二、安装之前LNMP环境准备:
  系统环境:CentOS Linux release 7.2.1511 (Core)
  zabbix版本:zabbix-3.2.5.tar.gz
  安装LNMP:centos默认没有nginx的yum源,手动添加一下:
  # tee /etc/yum.repos.d/nginx.repogrant all on zabbix.* to zabbix@127.0.0.1 identified by "zabbix";
Query OK, 0 rows affected (0.00 sec)  PHP:
# cat /etc/php.ini
date.timezone = PRC                  #配置时区
expose_php = Off                     #关闭php版本号
short_open_tag = On                  #开启PHP短标签格式
post_max_size = 16M                  #设置最大上传大小
max_execution_time = 300             #设置最长执行请求的最大时长
max_input_time = 300               #客户解析请求的最大时间
always_populate_raw_post_data = -1   #访问原始post数据的首先方式。7.0之后取消此选项
mbstring.func_overload = 0         #禁止使用函数重载方法https://s1.运维网.com/wyfs02/M02/98/D1/wKiom1lA3S_i4e0HAABFtWaFFPQ987.png
  修改nginx文件:
https://s1.运维网.com/wyfs02/M02/98/D1/wKioL1lA3TDC8cKnAABTnJ8c-jg884.png
https://s1.运维网.com/wyfs02/M02/98/D1/wKiom1lA3TCjjifmAABgORF14_U463.png
  

  

  

  

  

  

  

  LNMP环境配置完成,进行测试LNMP是否工作正常
# cat /usr/share/nginx/html/index.php

# cat /usr/share/nginx/html/test.php
  查看测试结果:
https://s4.运维网.com/wyfs02/M02/98/D1/wKioL1lA3TGDn8A4AADLQRs1TcU708.png
  三、监控服务zabbix安装:
  下载zabbix安装包:
  http://www.zabbix.com/download
  创建zabbix工作用户:
# useradd -s /sbin/nologin zabbix  安装zabbix-server所需支持包:
# yum -y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdk java-1.8.0-openjdk-develOpenIPMI-devellibssh2-devel fping gcc-c++
[*]net-snmp-devel:agent的一种,支持使用snmp协议获取获取数据
[*]curl-devel:监控web服务,使用curl命令获取数据

[*]java-openjdk:支持使用java_gateway获取java环境的获取数据
[*]OpenIPMI-devel :支持IPMI获取硬件设备获取数据
[*]libssh2-devel:支持使用ssh协议进行获取数据
[*]fping:支持使用fping命令进行简单检查
  修改fping命令权限。(特殊命令,正常情况zabbix用户没有权限使用此命令)
# chmod u+s /usr/sbin/fping|| # chmod 4710 /usr/sbin/fping
# getfacl /usr/sbin/fping
# file: usr/sbin/fping
# owner: root
# group: root
# flags: s--
user::rwx
group::--x
other::---  配置安装zabbix
  编译安装zabbix_server:

# tar zxf zabbix-3.2.5.tar.gz
# cd zabbix-3.2.5
# ./configure --prefix=/usr/local/zabbix325 --enable-server --enable-agent --enable-java --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-ssh2  --with-snmp-devel:agent的一种,支持使用snmp协议获取获取数据
--with-libcurl:监控web服务,使用curl命令获取数据

--enable-java:支持使用java_gateway获取java环境的获取数据
--with-openipmi:支持IPMI获取硬件设备获取数据
--with-ssh2:支持使用ssh协议进行获取数据
# make
# make install  修改配置文件:
# grep -i ^/usr/local/zabbix325/etc/zabbix_server.conf
LogFile=/usr/local/zabbix325/logs/zabbix_server.log
PidFile=/usr/local/zabbix325/logs/zabbix_server.pid
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
Timeout=15
FpingLocation=/usr/sbin/fping
LogSlowQueries=3000
# chown -R zabbix.zabbix /usr/local/zabbix325/  将zabbix初始数据导入数据库:
# cd database/mysql/
# mysql -uzabbix -pzabbix -h127.0.0.1 zabbix < schema.sql
# mysql -uzabbix -pzabbix -h127.0.0.1 zabbix < images.sql
# mysql -uzabbix -pzabbix -h127.0.0.1 zabbix < data.sql  配置zabbix启动脚本并修改:
# cp /root/zabbix-3.2.5/misc/init.d/fedora/core/zabbix_server /etc/init.d/
# chmod +x /etc/init.d/zabbix_server
# sed -i 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix325|' /etc/init.d/zabbix_server
# systemctl daemon-reload
# systemctl enable zabbix_server
zabbix_server.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig zabbix_server on
# systemctl startzabbix_server
# cd frontends/
# cp -r php/ /usr/share/nginx/html/zabbix  至此就基本安装完成了。登陆web浏览访问配置:
https://s4.运维网.com/wyfs02/M00/98/D1/wKioL1lA3TLAtui6AACwhxlQbcc564.png
https://s1.运维网.com/wyfs02/M01/98/D1/wKiom1lA3TOTVoJIAADMT3-jTI4650.png
https://s1.运维网.com/wyfs02/M01/98/D1/wKioL1lA3TTR9YJuAACKIaKnhEI240.png
https://s1.运维网.com/wyfs02/M00/98/D1/wKiom1lA3TXgtYWQAAB3I13x3nE862.png
https://s1.运维网.com/wyfs02/M02/98/D1/wKiom1lA3TWC6IWyAACO21j_mmc937.png
  

https://s2.运维网.com/wyfs02/M02/98/D2/wKioL1lA4PTABwC3AAHElIietdA905.png
  添加配置文件之后。刷新页面就可以正常登陆了。
https://s2.运维网.com/wyfs02/M02/98/D2/wKioL1lA4PShwG9lAABCRKK6i2s325.png
  点击登陆之后,就是zabbix的主页面了。zabbix默认是英文显示,但可以支持中文。方法就是:登陆主页面——>右上角点击用户——>语言选择项选择中文即可。如图:
https://s1.运维网.com/wyfs02/M00/98/D2/wKiom1lA4PXjS5WpAACiB3B6U90475.png
  注意:在配置web前端时,点击下一步的时候偶尔会有报错,如果出现这种情况,刷新一下页面,或者重新访问一下,自动就会跳转下一步了。
  四、添加监控主机。
  安装zabbix_agent非常简单,只需要添加./configure --prefix=/usr/local/zabbix325 --enable-agent选项就可以了。
  将启动文件copy到/etc/init.d/目录下:
# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd
# chmod +x /etc/init.d/zabbix_agentd
# sed -i 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix325|' /etc/in it.d/zabbix_agentd # systemctl daemon-reload
# systemctl enable zabbix_server
zabbix_server.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig zabbix_server on  修改配置文件:
https://s4.运维网.com/wyfs02/M00/98/D2/wKioL1lA4PWA0nsiAAA04938sJY448.png
  注释:
  Server:对应的是服务端地址。允许这个地址的主机来向我这获取数据。被动模式
  ServerActive:对应的也是服务器地址。客户端只向这个地址的服务端发送数据,主动模式
  Hostname:对应的是本机信息。这只是一个客户端标识,这个要跟web配置端的主机名称保持一致。
  启动zabbix_agentd:
# systemctl start zabbix_agentd
# ss -atnpl | grep zabbix_agentd
LISTEN   0      128          *:10050                  *:*                   users:(("zabbix_agentd",pid=25385,fd=4)  在web前端添加被监控主机:
https://s1.运维网.com/wyfs02/M00/98/D2/wKiom1lA4Paj-KYZAACq95FKKYQ993.png
https://s4.运维网.com/wyfs02/M00/98/D2/wKioL1lA4Pbh-BVGAAC-vdFZSm8312.png
https://s4.运维网.com/wyfs02/M01/98/D2/wKiom1lA4PfBgAlHAABl7rxJpRs776.png
https://s4.运维网.com/wyfs02/M01/98/D2/wKioL1lA4Pewy6kyAACULdQq0V8861.png
https://s1.运维网.com/wyfs02/M02/98/D2/wKiom1lA4iLyPrryAADt_5QhCJw731.png
  这样就完成一个基本的服务器监控
  在这只是列出了一个基本的简单监控主机。后续会补全其他监控。感谢
  




页: [1]
查看完整版本: zabbix简单了解安装