Zabbix

文章目录

  • Zabbix
    • 基本概念
    • Zabbix部署
      • 实验拓扑
      • 环境部署
      • 初始化Zabbix
      • 配置监控服务

Zabbix

基本概念

  • Zabbix简介

    • Zabbix是一个高度集成的监控解决方案
    • 可以实现企业级的开源分布式监控
    • Zabbix通过C/S模式采集监控数据
    • Zabbix通过B/S模式实现Web管理
  • 监控拓扑

  • 监控服务器

    • 监控服务器可以通过SNMP或Agent采集数据
    • 数据可以写入MySQL、Oracle等数据库中
    • 服务器使用LNMP实现web前端的管理
  • 被监控主机

    • 被监控主机需要安装Agent
    • 常见的网络设备一般支持SNMP
  • 相关软件包

    • 链接 : https://pan.baidu.com/s/1X0VeuamIpaX-R6DT0uYDVQ 提取码: dyj7

Zabbix部署

实验拓扑

  • 监控服务器
    • 主机名 : zabbixserver
    • 设置IP地址 : 192.168.2.5
    • 关闭防火墙、SELinux
  • 监控客户端
    • zabbixClient1 : 192.168.2.100
    • zabbixClient1 : 192.168.2.200
    • 关闭防火墙、SELinux

环境部署

  • 部署LNMP
    • 配置yum源
    • 准备nginx源码包
    • 安装安装源码包依赖包
    • 解压nginx源码包
    • 安装nginx源码包
    • 安装php 与 mariadb
    • 配置nginx动静分离
    • 启动服务
    • 测试
# 安装nginx源码包
[root@zabbixserver ~]# yum -y install gcc pcre-devel zlib-devel openssl-devel		# 安装安装源码包的依赖包
[root@zabbixserver ~]# tar -zxf nginx-1.12.2.tar.gz
[root@zabbixserver ~]# cd nginx-1.12.2/
[root@zabbixserver nginx-1.12.2]# ./configure --with-http_ssl_module
[root@zabbixserver nginx-1.12.2]# make && make install
# 安装mariadb与php 及相关依赖包
[root@zabbixserver nginx-1.12.2]# yum -y install php php-mysql mariadb mariadb-devel mariadb-server
[root@zabbixserver nginx-1.12.2]# yum -y install php-fpm
# 配置nginx动静分离
[root@zabbixserver nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf  		# 第65到70行左右
... ...

    fastcgi_buffers 8 16k;                      # 缓存php生成的页面内容,8个16k
    fastcgi_buffer_size 32k;                  # 缓存php生产的头部信息
    fastcgi_connect_timeout 300;             # 连接PHP的超时时间
    fastcgi_send_timeout 300;                 # 发送请求的超时时间
    fastcgi_read_timeout 300;                 # 读取请求的超时时间
    location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        include        fastcgi.conf;
    }
... ...
# 启动服务
[root@zabbixserver nginx-1.12.2]# cp /usr/local/nginx/sbin/nginx /usr/bin/
[root@zabbixserver nginx-1.12.2]# nginx
[root@zabbixserver nginx-1.12.2]# systemctl start mariadb
[root@zabbixserver nginx-1.12.2]# systemctl start php-fpm
# 测试
[root@zabbixserver nginx-1.12.2]# cat /usr/local/nginx/html/test.php
<?php
phpinfo()
?>
[root@zabbixserver nginx-1.12.2]# firefox 192.168.2.5/test.php
  • 部署Zabbix
    • 源码安装Zabbix Server
[root@zabbixserver ~]# yum -y install net-snmp-devel curl-devel  			# 安装相关依赖包
[root@zabbixserver ~]# cd Zabbix/
[root@zabbixserver Zabbix]# yum -y install libevent-devel-2.0.21-4.el7.x86_64.rpm  # 注意这个软件包在提供的相关软件包里
[root@zabbixserver Zabbix]# tar -zxf zabbix-3.4.4.tar.gz
[root@zabbixserver Zabbix]# cd zabbix-3.4.4/
# --enable-server  安装部署zabbix服务器端软件
# --enable-agent 安装部署zabbix被监控端软件
# --enable-proxy 安装部署zabbix代理相关软件
# --with-mysql 配置mysql_config路径
# --with-net-snmp 允许zabbix通过snmp协议监控其他设备
# --with-libcurl安装相关curl库文件, 这样zabbix可以通过curl连接http等服务, 测试被监控主机服务的状态
[root@zabbixserver zabbix-3.4.4]# ./configure --enable-server \
> --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config \
> --with-net-snmp --with-libcurl
[root@zabbixserver zabbix-3.4.4]# make && make install   # 编译  安装

初始化Zabbix

  • 创建数据库, 准备上线Zabbix的Web页面
[root@zabbixserver zabbix-3.4.4]# mysql
MariaDB [(none)]> create database zabbix character set utf8; 				# 创建数据库, 支持中文字符集
MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix'; 		# 创建可以访问数据库的账户与密码
[root@zabbixserver zabbix-3.4.4]# cd database/mysql/
# 往刚刚在mariadb创建的空数据库里导入zabbix的网站页面(zabbix源码包目录下自带)  导入顺序需按下列步骤来
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix
  • 上线Zabbix的Web页面
[root@zabbixserver mysql]# cd ../../frontends/php/
[root@zabbixserver php]# cp -r * /usr/local/nginx/html/ 		# 将该目录的所有文件及目录 拷贝至网站目录下
[root@zabbixserver php]# chmod -R 777 /usr/local/nginx/html/* 	# 修改其权限
  • 修改Zabbix_server配置文件, 设置数据库相关参数, 启动Zabbix_server服务
[root@zabbixserver php]# vim /usr/local/etc/zabbix_server.conf 		# 修改zabbix配置文件
... ...
DBHost=localhost 		# 默认85行 指定数据库主机, 默认该行被注释
... ...
DBName=zabbix 			# 默认95行 指定数据库名字
... ...
DBUser=zabbix 			# 默认111行  指定数据库用户
... ...
DBPassword=zabbix 		# 默认119行  指定数据库用户的密码, 默认该行被注释
... ...
LogFile=/tmp/zabbix_server.log  	# 默认39行  设置日志文件存放路径
... ...
# 启动服务之前, 需自行创建zabbix用户 因为源码安装不会自动创建用户
useradd -s /sbin/nologin zabbix
# 启动服务
[root@zabbixserver php]# zabbix_server
[root@zabbixserver php]# ss -ntulp | grep zabbix_server
tcp    LISTEN     0      128       *:10051                 *:*                   users:(("zabbix_server",pid=5965,fd=4),....
# 注 : 如果因为配置不对, 导致服务无法启动, 需先killall zabbix_server关闭服务后, 在重新执行zabbix_server
  • 修改Zabbix_agentd配置文件, 设置数据库相关参数, 启动Zabbix_agentd服务
[root@zabbixserver Zabbix]# vim /usr/local/etc/zabbix_agentd.conf
Server=127.0.0.1,192.168.2.5 			# 默认93行  	允许哪些主机监控本机
ServerActive=127.0.0.1,192.168.2.5 	# 默认134行   	允许哪些主机通过主动模式监控本机
Hostname=zabbixserver 				# 默认145行   	设置本机主机名
LogFile=/tmp/zabbix_agentd.log 	# 默认30行 	设置日志文件
UnsafeUserParameters=1 				# 默认280行且被注释 	是否允许自定义key
[root@zabbixserver Zabbix]# zabbix_agentd
[root@zabbixserver Zabbix]# ss -ntulp | grep zabbix_agentd
tcp    LISTEN     0      128       *:10050                 *:*                   users:(("zabbix_agentd",pid=6124,fd=4)....
# 注 : 如果因为配置不对, 导致服务无法启动, 需先killall zabbix_agentd关闭服务后, 在重新执行zabbix_agentd
  • 访问Zabbix_server服务器的Web页面 测试
    • 第一次访问,初始化PHP页面会检查计算机环境是否满足要求,如果不满足会给出修改建议
firefox 192.168.2.5/index.php 		# 点击next step

Zabbix_第1张图片
- 默认会提示PHP的配置不满足环境要求,需要修改PHP配置文件

[root@zabbixserver php]# yum -y install php-gd php-xml 		# php-gd支持图片   php-xml 支持扩展标签语言
[root@zabbixserver Zabbix]# yum -y install php-bcmath.x86_64
[root@zabbixserver Zabbix]# yum -y install php-mbstring.x86_64 
[root@zabbixserver Zabbix]# vim /etc/php.ini  		# 修改php配置文件
date.timezone = Asia/Shanghai 		# 默认878行且被注释  设置时区
max_execution_time = 300 			# 默认384行   最大执行时间 单位秒
post_max_size = 32M 					# 默认672行	POST数据最大容量
max_input_time = 300 					# 默认394行 	服务器接收数据的时间限制
memory_limit = 128M 					# 默认405行 	内存容量限制

# 重启nginx和php-fpm服务
[root@zabbixserver Zabbix]# nginx -s reload
[root@zabbixserver Zabbix]# systemctl restart php-fpm
# 查看页面 点击next step 注意此处PHP LDAP是warning状态是没有问题的
[root@zabbixserver Zabbix]# firefox 192.168.2.5/index.php

Zabbix_第2张图片
- 继续点击next step, 初始化数据库页面
Zabbix_第3张图片
- 继续点击next step
Zabbix_第4张图片
- 继续点击next step, 进入zabbix登录(默认管理用户名 : admin 密码默认为数据库密码 : zabbix)
Zabbix_第5张图片
- 修改设置, 配置成中文界面(如果浏览器所在主机没安装中文包,则有可能乱码)

[root@zabbixserver Zabbix]# yum list | grep chine | grep google
google-noto-sans-simplified-chinese-fonts.noarch 			# 简体
google-noto-sans-traditional-chinese-fonts.noarch 		# 繁体
[root@zabbixserver Zabbix]# yum -y install google-noto-sans-simplified-chinese-fonts.noarch
[root@zabbixserver Zabbix]# firefox 192.168.2.5/index.php

Zabbix_第6张图片
Zabbix_第7张图片

配置监控服务

  • 部署被监控客户端
    • 为zabbixclient1与zabbixclient2 配置Zabbix agent软件
# zabbixclient1与zabbixclient2做相同操作, 这里以zabbixclient1为例
# 将Zabbix相关软件包拷给客户端
[root@zabbixclient1 ~]# cd Zabbix/
[root@zabbixclient1 Zabbix]# 
[root@zabbixclient1 Zabbix]# useradd -s /sbin/nologin zabbix 		# 创建用户
# 源码安装zabbix agent
[root@zabbixclient1 Zabbix]# yum -y install gcc pcre-devel 	
[root@zabbixclient1 Zabbix]# tar -zxf zabbix-3.4.4.tar.gz 
[root@zabbixclient1 Zabbix]# cd zabbix-3.4.4/
[root@zabbixclient1 zabbix-3.4.4]# ./configure --enable-agent 		# 只装agnent即可
[root@zabbixclient1 zabbix-3.4.4]# make && make install 				# 编译安装
[root@zabbixclient1 zabbix-3.4.4]# ls /usr/local/etc/
zabbix_agentd.conf  zabbix_agentd.conf.d 		# zabbix agentd配置文件
[root@zabbixclient1 zabbix-3.4.4]# ls /usr/local/bin/
eip  setip  zabbix_get  zabbix_sender 				# zabbix 命令
[root@zabbixclient1 zabbix-3.4.4]# ls /usr/local/sbin/
zabbix_agentd 					# zabbix agentd 命令
- 修改agent配置文件, 启动Agent
# zabbixclient1与zabbixclient2基本相同操作, 这里以zabbixclient1为例
[root@zabbixclient1 zabbix-3.4.4]# vim /usr/local/etc/zabbix_agentd.conf
Server=127.0.0.1,192.168.2.5 			# 默认93行 定义谁可以监控本机(被动监控模式)
ServerActive=127.0.0.1,192.168.2.5 	# 默认134行  定义谁可以监控本机(主动监控模式)
Hostname=zabbixclient1 				# 默认145行  被监控端自己的主机名
EnableRemoteCommands=1 				# 默认69行且被注释  设为1 则监控异常后, 允许服务器远程过来执行命令, 如重启某个服务
UnsafeUserParameters=1 				# 默认280行且被注释 设为1 允许自定义key监控
[root@zabbixclient1 zabbix-3.4.4]# zabbix_agentd 			# 启动服务
[root@zabbixclient1 zabbix-3.4.4]# ss -ntulp | grep zabbix_agentd
tcp    LISTEN     0      128       *:10050                 *:*                   users:(("zabbix_agentd",pid=30674,fd=4),....
- 拷贝启动脚本(非必须操作,可选做), 有启动脚本可以方便管理服务, 启动与关闭服务.(启动脚本位于zabbix源码目录下)
[root@zabbixclient1 zabbix-3.4.4]# cd misc/init.d/fedora/core
[root@zabbixclient1 core]# /etc/init.d/zabbix_agentd help
Usage: /etc/init.d/zabbix_agentd {start|stop|status|restart|help}

			start		- start zabbix_agentd
			stop		- stop zabbix_agentd
			status		- show current status of zabbix_agentd
			restart		- restart zabbix_agentd if running by sending a SIGHUP or start if not running
			help		- this screen

  • 配置监控服务端 : 192.168.2.5
    • 登录管理页面做如下配置 :
      • 1 . 添加监控主机
登录访问192.168.2.5   通过Configuration(配置)-->Hosts(主机)-->Create Host(创建主机)添加被监控Linux主机

Zabbix_第8张图片

接着进入创建被监控主机页面,
需要根据提示输入被监控Linux主机的主机名称(最好与电脑的主机名一致,但也允许不一致)、主机组、IP地址等参数

Zabbix_第9张图片
- 2 . 选择监控模板

Zabbix通过监控模板来对监控对象实施具体的监控功能,根据模板来定义需要监控哪些数据,
对于Linux服务器的监控,Zabbix已经内置了相关的模板(Template OS Linux),选择模板并链接到主机即可

Zabbix_第10张图片
- 3 . 查看监控数据

查看监控数据,登录Zabbix Web控制台,
点击Monitoring(监控中)> Latest data(最新数据),正过滤器中填写过滤条件,根据监控组和监控主机选择需要查看哪些监控数据

Zabbix_第11张图片

找到需要监控的数据后,可以点击后面的Graph查看监控图形

Zabbix_第12张图片

你可能感兴趣的:(监控)